4.8 KiB · text History cb6d110
import Config

# For production, don't forget to configure the url host
# to something meaningful, Phoenix uses this information
# when generating URLs.
#
# Note 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 should run after static files are built and
# before starting your production server.

# ## 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 :room_hermes, RoomHermes.Endpoint,
#       ...,
#       url: [host: "example.com", port: 443],
#       https: [
#         ...,
#         port: 443,
#         cipher_suite: :strong,
#         keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"),
#         certfile: System.get_env("SOME_APP_SSL_CERT_PATH")
#       ]
#
# The `cipher_suite` is set to `:strong` to support only the
# latest and more secure SSL ciphers. This means old browsers
# and clients may not be supported. You can set it to
# `:compatible` for wider support.
#
# `:keyfile` and `:certfile` expect an absolute path to the key
# and cert in disk or a relative path inside priv, for example
# "priv/ssl/server.key". For all supported SSL configuration
# options, see https://hexdocs.pm/plug/Plug.SSL.html#configure/1
#
# We also recommend setting `force_ssl` in your endpoint, ensuring
# no data is ever sent via http, always redirecting to https:
#
#     config :room_hermes, RoomHermes.Endpoint,
#       force_ssl: [hsts: true]
#
# Check `Plug.SSL` for all available options in `force_ssl`.

# For production, don't forget to configure the url host
# to something meaningful, Phoenix uses this information
# when generating URLs.
#
# Note 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 should run after static files are built and
# before starting your production server.
config :room_hermes, RoomHermesWeb.Endpoint,
  load_from_system_env: true,
  http: [port: 4041],
  check_origin: false,
  server: true,
  root: ".",
  cache_static_manifest: "priv/static/cache_manifest.json"

config :room_sanctum, RoomSanctumWeb.Endpoint,
  load_from_system_env: true,
  http: [port: 4040],
  check_origin: false,
  server: true,
  root: ".",
  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 :room_sanctum, RoomSanctumWeb.Endpoint,
#       ...,
#       url: [host: "example.com", port: 443],
#       https: [
#         ...,
#         port: 443,
#         cipher_suite: :strong,
#         keyfile: System.get_env("SOME_APP_SSL_KEY_PATH"),
#         certfile: System.get_env("SOME_APP_SSL_CERT_PATH")
#       ]
#
# The `cipher_suite` is set to `:strong` to support only the
# latest and more secure SSL ciphers. This means old browsers
# and clients may not be supported. You can set it to
# `:compatible` for wider support.
#
# `:keyfile` and `:certfile` expect an absolute path to the key
# and cert in disk or a relative path inside priv, for example
# "priv/ssl/server.key". For all supported SSL configuration
# options, see https://hexdocs.pm/plug/Plug.SSL.html#configure/1
#
# We also recommend setting `force_ssl` in your endpoint, ensuring
# no data is ever sent via http, always redirecting to https:
#
#     config :room_sanctum, RoomSanctumWeb.Endpoint,
#       force_ssl: [hsts: true]
#
# Check `Plug.SSL` for all available options in `force_ssl`.

# Source lines alongside Sentry's stack traces. Since sentry 10 they come from
# a map the Dockerfile builds with `mix sentry.package_source_code` before the
# release, which reads this file -- not runtime.exs, which only a running
# release loads. Every app, so one added later is not left out.
config :sentry,
  enable_source_code_context: true,
  root_source_code_paths: Path.wildcard(Path.expand("../apps/*", __DIR__))

# Crashes outside a web request -- a worker's GenServer dying, a Task, an Oban
# job's process -- reach Sentry only through a :logger handler; Sentry.PlugCapture
# sees requests and nothing else. RoomSanctum.Application attaches this at
# startup. Crash reports only, not logged errors (capture_log_messages stays
# false), and rate-limited, because a worker in a restart loop logs the same
# crash every second. Cowboy and Bandit are left out by default, since
# PlugCapture has already reported those.
config :room_sanctum, :logger, [
  {:handler, :sentry_handler, Sentry.LoggerHandler,
   %{
     config: %{
       capture_metadata: [:request_id, :mfa],
       rate_limiting: [max_events: 10, interval: 60_000]
     }
   }}
]