pleroma/config/prod.exs

105 lines
3.1 KiB
Elixir

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
# Pleroma.Web.Endpoint.load_from_system_env/1 dynamically.
# Any dynamic configuration should be moved to such function.
#
# 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 phoenix.digest task
# which you typically run after static files are built.
config :pleroma, Pleroma.Web.Endpoint,
http: [port: 4000],
protocol: "http"
# Supported adapters: https://github.com/swoosh/swoosh#adapters
mailer_settings =
case String.downcase(System.get_env("PLEROMA_SWOOSH_ADAPTER") || "") do
"mailgun" ->
[
adapter: Swoosh.Adapters.Mailgun,
api_key: System.get_env("PLEROMA_MAILGUN_API_KEY"),
domain: System.get_env("PLEROMA_MAILGUN_DOMAIN")
]
"mandrill" ->
[
adapter: Swoosh.Adapters.Mandrill,
api_key: System.get_env("PLEROMA_MANDRILL_API_KEY")
]
"sendgrid" ->
[
adapter: Swoosh.Adapters.Sendgrid,
api_key: System.get_env("PLEROMA_SENDGRID_API_KEY")
]
"smtp" ->
[
adapter: Swoosh.Adapters.SMTP,
relay: System.get_env("PLEROMA_SMTP_RELAY"),
username: System.get_env("PLEROMA_SMTP_USERNAME"),
password: System.get_env("PLEROMA_SMTP_PASSWORD"),
port: System.get_env("PLEROMA_SMTP_PORT") || 1025,
ssl: true,
tls: :always,
auth: :always,
retries: 3
]
_ ->
[adapter: Swoosh.Adapters.Local]
end
config :pleroma, Pleroma.Mailer, mailer_settings
# 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 :pleroma, Pleroma.Web.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 :pleroma, Pleroma.Web.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 :pleroma, Pleroma.Web.Endpoint, server: true
#
# Finally import the config/prod.secret.exs
# which should be versioned separately.
import_config "prod.secret.exs"