-
Notifications
You must be signed in to change notification settings - Fork 5
/
dev.exs
131 lines (118 loc) · 3.38 KB
/
dev.exs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import Config
if System.get_env("DEVBOX") && File.exists?(".env") do
File.stream!(".env")
|> Stream.map(&String.trim/1)
|> Stream.reject(&String.starts_with?(&1, "#"))
|> Stream.each(fn line ->
case String.split(line, "=", parts: 2) do
[k, v] ->
System.put_env(k, v)
_ ->
nil
end
end)
|> Stream.run()
end
# Configure your database
if System.get_env("DEVBOX") do
{postgres_port, 0} = System.cmd("service_port", ["postgres"])
config :remit, Remit.Repo,
username: "postgres",
password: "dev",
database: "ex_remit_development",
hostname: "172.17.0.1",
port: String.trim(postgres_port),
show_sensitive_data_on_connection_error: true,
pool_size: 10
else
config :remit, Remit.Repo,
username: System.get_env("USER"),
password: "",
database: "remit_dev",
hostname: "localhost",
show_sensitive_data_on_connection_error: true,
pool_size: 10
end
# For development, we disable any cache and enable
# debugging and code reloading.
#
# The watchers configuration can be used to run external
# watchers to your application. For example, we use it
# with webpack to recompile .js and .css sources.
config :remit, RemitWeb.Endpoint,
http: [
port: System.get_env("PORT") || 45361,
protocol_options: [
idle_timeout: 15_000
]
],
debug_errors: true,
code_reloader: true,
check_origin: false,
watchers: [
tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]},
esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]}
]
# ## SSL Support
#
# In order to use HTTPS in development, a self-signed
# certificate can be generated by running the following
# Mix task:
#
# mix phx.gen.cert
#
# Note that this task requires Erlang/OTP 20 or later.
# Run `mix help phx.gen.cert` for more information.
#
# The `http:` config above can be replaced with:
#
# https: [
# port: 4001,
# cipher_suite: :strong,
# keyfile: "priv/cert/selfsigned_key.pem",
# certfile: "priv/cert/selfsigned.pem"
# ],
#
# If desired, both `http:` and `https:` keys can be
# configured to run both http and https servers on
# different ports.
# Watch static and templates for browser reloading.
config :remit, RemitWeb.Endpoint,
live_reload: [
patterns: [
~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
~r"priv/gettext/.*(po)$",
~r"lib/remit_web/(controllers|live|components)/.*(ex|heex)$"
]
]
config :remit,
favicon: "favicon-dev.png",
auth_key: "dev",
webhook_key: "dev",
github_api_token: {:system, "GITHUB_API_TOKEN", "dev"},
github_oauth_client_id: {:system, "GITHUB_OAUTH_CLIENT_ID"},
github_oauth_client_secret: {:system, "GITHUB_OAUTH_CLIENT_SECRET"}
# Do not include metadata nor timestamps in development logs
config :logger, :console, format: "[$level] $message\n"
config :honeybadger,
environment_name: :dev,
api_key: "not-used"
# Set a higher stacktrace during development. Avoid configuring such
# in production as building large stacktraces may be expensive.
config :phoenix, :stacktrace_depth, 20
# Initialize plugs at runtime for faster development compilation
config :phoenix, :plug_init_mode, :runtime
config :git_hooks,
auto_install: false,
hooks: [
pre_commit: [
tasks: [
{:cmd, "mix format --check-formatted"}
]
],
pre_push: [
tasks: [
{:cmd, "mix credo -a"}
]
]
]