All checks were successful
deploy / deploy (push) Successful in 3m36s
Image variants were written to the ephemeral release directory and wiped on every deploy, causing 500 errors with 50s timeouts as browsers waited for images that could never be served. - Point image_cache_dir at /data/image_cache in prod - Add Plug.Static to serve from the persistent volume - Exclude /image_cache/ from broken URL tracking Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
1005 B
Elixir
27 lines
1005 B
Elixir
import Config
|
|
|
|
# Note we also include the path to a cache manifest
|
|
# containing the digested version of static files. This
|
|
# manifest is generated by the `mix assets.deploy` task,
|
|
# which you should run after static files are built and
|
|
# before starting your production server.
|
|
config :berrypod, BerrypodWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
|
|
|
|
# Configures Swoosh API Client
|
|
config :swoosh, api_client: Swoosh.ApiClient.Req
|
|
|
|
# Disable Swoosh Local Memory Storage
|
|
config :swoosh, local: false
|
|
|
|
# Do not print debug messages in production
|
|
config :logger, level: :info
|
|
|
|
# Structured JSON logs for production (machine-parseable by fly logs, journalctl, Loki, etc.)
|
|
config :logger, :default_handler, formatter: {LoggerJSON.Formatters.Basic, []}
|
|
|
|
# Persistent image cache on the Fly volume (survives deploys)
|
|
config :berrypod, :image_cache_dir, "/data/image_cache"
|
|
|
|
# Runtime production configuration, including reading
|
|
# of environment variables, is done on config/runtime.exs.
|