# Copy this file to .env. Compose intentionally refuses to start without the # required values. Replace every credential before any public deployment. HTTP_PORT=4010 MAILPIT_PORT=8027 # Comma-separated proxy IP/CIDR values whose X-Forwarded-* headers Traefik # accepts. Keep loopback locally; set the exact VPN proxy address for staging. TRAEFIK_TRUSTED_IPS=127.0.0.1/32 TRAEFIK_RETRY_ATTEMPTS=3 # Docker-provider isolation and names. A second Compose project must use its # own project constraint, router/service name, Docker network, and Host rule. TRAEFIK_PROJECT_CONSTRAINT=who_need_help TRAEFIK_APP_NAME=who-need-help TRAEFIK_DOCKER_NETWORK=who_need_help_internal TRAEFIK_ROUTER_RULE='PathPrefix(`/`)' PHX_HOST=localhost PHX_SCHEME=http PHX_URL_PORT=4010 # Android debug builds compile this origin into BuildConfig. The Docker # emulator uses adb reverse to expose the local Compose proxy on loopback. WNH_DEBUG_BASE_URL=http://localhost:4010 # Staging/release builds require a public HTTPS origin. Keep the value # environment-specific; scripts/ensure-local-public-origin.sh can derive it # from the three PHX_* values in the ignored .env. WNH_BASE_URL= # These local values preserve the existing five-second client freshness window # and fifteen-second request timeout. They are build inputs, not measured # production capacity recommendations. WNH_TRACKING_MIN_TIME_MS=5000 WNH_TRACKING_HTTP_TIMEOUT_MS=15000 # Public raster tile template used by MapLibre. Use a provider whose policy and # capacity match the deployment before a public launch. MAP_TILE_URL=https://tile.openstreetmap.org/{z}/{x}/{y}.png # Optional verified GitHub linking. Leave both empty until a GitHub OAuth App # exists. Its callback URL must be: # https://YOUR_PHX_HOST/auth/social/github/callback GITHUB_OAUTH_CLIENT_ID= GITHUB_OAUTH_CLIENT_SECRET= # Optional endpoint and timeout overrides exist for the isolated boundary drill. # Leave them empty for GitHub's official endpoints and Req's library timeouts. GITHUB_OAUTH_BASE_URL= GITHUB_OAUTH_AUTHORIZE_URL= GITHUB_OAUTH_TOKEN_URL= GITHUB_OAUTH_USER_URL= GITHUB_OAUTH_HTTP_CONNECT_TIMEOUT_MS= GITHUB_OAUTH_HTTP_RECEIVE_TIMEOUT_MS= POSTGRES_DB=who_need_help POSTGRES_USER=postgres POSTGRES_PASSWORD=replace-with-a-local-or-deployment-secret DATABASE_URL=ecto://postgres:replace-with-url-encoded-password@db/who_need_help POOL_SIZE=10 SECRET_KEY_BASE=generate-with-mix-phx-gen-secret HANDOVER_SECRET=generate-an-independent-random-secret RELEASE_COOKIE=generate-an-independent-beam-cluster-cookie METRICS_TOKEN=generate-an-independent-random-bearer-token # Mailpit settings for local development. Replace these with the selected SMTP # provider for public registration and magic links. SMTP_RELAY=mailpit SMTP_PORT=1025 SMTP_USERNAME= SMTP_PASSWORD= SMTP_AUTH=never SMTP_TLS=never SMTP_SSL=false EMAIL_FROM_NAME="Who Need Help" EMAIL_FROM_ADDRESS=contact@example.com CODEX_SESSION_ID=copy-the-main-local-codex-session-id # Optional shared PostgreSQL-backed policies. Keep {} until product thresholds are approved. # Shape: {"action_name":{"limit":POSITIVE_INTEGER,"window_seconds":POSITIVE_INTEGER}} RATE_LIMIT_POLICIES_JSON={}