Dashboard/Environment Variables

Environment Variables

Complete reference for all environment variables that affect ProxyOS behavior.

What it does

ProxyOS is configured entirely through environment variables. There is no config file — all settings are passed via env_file: or environment: in docker-compose.yml.

Required variables

VariableDescription
PROXYOS_SECRETSecret used to sign session tokens. Changing it invalidates all active sessions. Generate with openssl rand -hex 32.

Optional variables

VariableDefaultDescription
PROXYOS_URL(derived from request)Public URL of the dashboard. Used for OAuth callbacks and email links.
LOG_LEVELinfoLog verbosity: error, warn, info, debug
PROXYOS_DASHBOARD_PORT3000Host port for the dashboard (mapped to container port 3000)
PROXYOS_HTTP_PORT80Host port for Caddy HTTP
PROXYOS_HTTPS_PORT443Host port for Caddy HTTPS and HTTP/3 UDP

Internal variables (baked into image)

These are set in the Dockerfile and should not normally be overridden. They document the internal layout of the container.

VariableValueDescription
PROXYOS_DB_PATH/data/proxyos/proxyos.dbSQLite database path
PROXYOS_ACCESS_LOG/data/proxyos/access.logCaddy access log path
CADDY_BASE_CONFIG_PATH/etc/caddy/base-config.jsonBootstrap Caddy config (baked into image, not in volume)
CADDY_ADMIN_URLhttp://localhost:2019Caddy Admin API URL (internal, never published)
XDG_DATA_HOME/data/caddyCaddy certificate and ACME storage
XDG_CONFIG_HOME/config/caddyCaddy runtime config directory
NODE_ENVproductionAlways production in the container
PORT3000Internal Next.js listen port
HOSTNAME0.0.0.0Next.js bind address

Troubleshooting

ProxyOS