# PreAuth — Caddyfile / FrankenPHP app config. # # The container serves plain HTTP on :80; TLS is terminated by the upstream # proxy. SERVER_NAME=:80 is set in the Dockerfile. # # This is the config the image ships (/etc/frankenphp/Caddyfile). The # Caddyfile in the repository root is the example for host-side setups. { frankenphp { # Restart each PHP worker thread after this many requests, containing # slow memory growth across long uptime. Preserves the 7.4-era default # loop count of runtime/frankenphp-symfony (500) after the Symfony 8.1 # upgrade. Set MAX_REQUESTS=0 to disable restarts. The Dockerfile bakes # in the default of 500 via build arg; override at runtime with: # docker run -e MAX_REQUESTS=5000 ... # For full control, the stock FRANKENPHP_CONFIG env var can inject any # directive under this block instead. max_requests {$MAX_REQUESTS} } # The admin API is deliberately left at its default: bound to 127.0.0.1 # inside the container, where it is the target of the image's # HEALTHCHECK. It is not reachable from outside the container. Do NOT set # `admin off` here without also changing that probe — the app has no 2xx # liveness route to fall back on, because every anonymous request is # answered with the login page and a 401. } http:// { root public/ rewrite index.php php { root /app/public worker index.php } }