Environments
URLs, configuration and secrets for dev, staging and production.
| Environment | Worker | URL | Database | Deploys |
|---|---|---|---|---|
| production | accounts | https://accounts.dyloginc.workers.dev | accounts | push to master |
| staging | accounts-staging | https://accounts-staging.dyloginc.workers.dev | accounts-staging | push to staging |
| dev | accounts-dev | https://accounts-dev.dyloginc.workers.dev | accounts-dev | manual workflow run |
Production will move to accounts.dylog.ai once the DNS zone is on Cloudflare (see Deploying).
Per-environment configuration (wrangler.jsonc)
| Variable | Meaning |
|---|---|
BETTER_AUTH_URL | Public origin; also the JWT issuer |
RETURN_TO_ORIGINS | Comma-separated exact origins allowed for next and CORS |
COOKIE_DOMAIN | Cookie domain shared with sibling apps |
EMAIL_FROM | Sender for outgoing mail |
SUPPORT_EMAIL | Shown in ban messages and used as reply-to |
Secrets (GitHub environment → Worker secret)
| Secret | Purpose |
|---|---|
BETTER_AUTH_SECRET | Signs sessions and encrypts the JWT private keys; unique per environment |
BETTER_AUTH_API_KEY | Better Auth Infra dashboard key (optional) |
RESEND_API_KEY | Email delivery; absent means emails are logged |
CLOUDFLARE_API_TOKEN | CI deploys and D1 |
CLOUDFLARE_ACCOUNT_ID | Cloudflare account |
Bindings: AUTH_DB (D1), AUTH_RATE_LIMIT (rate limiting), WORKER_SELF_REFERENCE.
Fixture accounts (dev and staging only)
| Password | Role | |
|---|---|---|
staff@dylog.ai | DylogStaff!2026 | staff |
owner@demo.dylog.ai | DemoOwner!2026 | owner of demo (DEMO_PGKQPUYRXUK) |
owner@ssd.dylog.ai | SsdOwner!2026 | owner of ssd (SSD_JKLMNBVCXZA) |
Production is never seeded. Its users arrive through invitations or a one-off import.