AIGW_SERVER_ADDRESS=:8080 AIGW_POSTGRES_USER=aigw-local AIGW_POSTGRES_PASSWORD=replace-with-a-long-random-password AIGW_POSTGRES_DB=aigw-local AIGW_DATABASE_URL=postgres://aigw-local:replace-with-a-long-random-password@127.0.0.1:5432/aigw-local?sslmode=disable AIGW_DATABASE_URL_DOCKER=postgres://aigw-local:replace-with-a-long-random-password@postgres:5432/aigw-local?sslmode=disable AIGW_REDIS_URL=redis://127.0.0.1:6379/0 AIGW_REDIS_URL_DOCKER=redis://redis:6379/0 # base64 of exactly 32 random bytes; generate with: openssl rand -base64 32 AIGW_CREDENTIAL_KEY=replace-with-base64-32-byte-key AIGW_ADMIN_TOKEN=replace-with-a-long-random-admin-token AIGW_PUBLIC_URL=http://localhost:8080/admin/ AIGW_WEBAUTHN_RP_ID=localhost AIGW_WEBAUTHN_ORIGINS=http://localhost:8080 AIGW_SMTP_FROM_ADDRESS=no-reply@aigw.local AIGW_SMTP_ADDRESS=127.0.0.1:1025 AIGW_SMTP_ADDRESS_DOCKER=mailpit:1025 # Leave both empty for a local Mailpit server; set both through a secret manager in production. AIGW_SMTP_USERNAME= AIGW_SMTP_PASSWORD= # Prefer a restricted test key (rk_test_) with Checkout Session write access. AIGW_STRIPE_API_KEY=replace-with-a-stripe-restricted-key # Development only: use a separate key with Debugging Tools Write for Stripe CLI. AIGW_STRIPE_CLI_API_KEY=replace-with-a-separate-cli-restricted-key AIGW_STRIPE_WEBHOOK_SECRET=replace-with-a-webhook-signing-secret AIGW_STRIPE_SUCCESS_URL=http://localhost:8080/admin/?topup=success AIGW_STRIPE_CANCEL_URL=http://localhost:8080/admin/?topup=cancel