-
Notifications
You must be signed in to change notification settings - Fork 4
/
prod.exs
87 lines (79 loc) · 3.17 KB
/
prod.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
use Mix.Config
# For production, we often load configuration from external
# sources, such as your system environment. For this reason,
# you won't find the :http configuration below, but set inside
# PhoenixWebsiteWeb.Endpoint.init/2 when load_from_system_env is
# true. Any dynamic configuration should be done there.
#
# Don't forget to configure the url host to something meaningful,
# Phoenix uses this information when generating URLs.
#
# Finally, we also include the path to a cache manifest
# containing the digested version of static files. This
# manifest is generated by the mix phx.digest task
# which you typically run after static files are built.
config :phoenix_website, PhoenixWebsiteWeb.Endpoint,
load_from_system_env: false,
url: [host: "example.com", port: 80],
cache_static_manifest: "priv/static/cache_manifest.json"
# Do not print debug messages in production
config :logger, level: :info
# ## SSL Support
#
# To get SSL working, you will need to add the `https` key
# to the previous section and set your `:url` port to 443:
#
# config :phoenix_website, PhoenixWebsiteWeb.Endpoint,
# ...
# url: [host: "example.com", port: 443],
# https: [:inet6,
# port: 443,
# keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"),
# certfile: System.get_env("SOME_APP_SSL_CERT_PATH")]
#
# Where those two env variables return an absolute path to
# the key and cert in disk or a relative path inside priv,
# for example "priv/ssl/server.key".
#
# We also recommend setting `force_ssl`, ensuring no data is
# ever sent via http, always redirecting to https:
#
# config :phoenix_website, PhoenixWebsiteWeb.Endpoint,
# force_ssl: [hsts: true]
#
# Check `Plug.SSL` for all available options in `force_ssl`.
# ## Using releases
#
# If you are doing OTP releases, you need to instruct Phoenix
# to start the server for all endpoints:
#
# config :phoenix, :serve_endpoints, true
#
# Alternatively, you can configure exactly which server to
# start per endpoint:
#
config :phoenix_website, PhoenixWebsiteWeb.Endpoint, server: true
# Finally import the config/prod.secret.exs
# which should be versioned separately.
# NOTE: this should be commented because we don't use it
# import_config "prod.secret.exs"
# We don't want to use prod.secret.exs
#
# Instead we will compile the keys but with example values FILL_IN_HERE
# that will be manually replaced later in /home/phoenix/phoenix_website/phoenix_website.config on the App Server.
#
# Thanks to that values won't be compiled into our release package.
# In result we will be able to deploy compiled release package to multiple environments like staging/production.
# (You don't have to compile app separatly for the staging and production as it was with using prod.secret.exs approach)
config :phoenix_website, PhoenixWebsiteWeb.Endpoint,
secret_key_base: "FILL_IN_HERE",
# we use hardcoded port and it's set in Ansible playbooks
# roles/phoenix-app/0.0.1/templates/nginx.j2
http: [port: 8888]
# Configure your database
config :phoenix_website, PhoenixWebsite.Repo,
adapter: Ecto.Adapters.Postgres,
username: "FILL_IN_HERE",
password: "FILL_IN_HERE",
database: "FILL_IN_HERE",
pool_size: 15