# Database DATABASE_URL=postgresql://postgres:postgres@db:5432/tokens_burned # Better Auth BETTER_AUTH_SECRET=your-secret-key-here BETTER_AUTH_URL=http://localhost:3000 # Auth Mode (self-hosted | production) # - self-hosted: Email/password authentication only (for self-deployed instances) # - production: OAuth-only authentication (Discord/GitHub/Google/Linux.do/Watcha, for cloud-hosted service) AUTH_MODE=self-hosted # Optional for personal/self-hosted instances: comma-separated owner emails. # When set, only these emails can create email/password accounts. SELF_HOSTED_ALLOWED_EMAILS=you@example.com # Runtime hint. Keep `node` for Docker/Node, use `cloudflare-workers` in Wrangler. TOKEN_ARENA_RUNTIME=node # OAuth Providers (required only when AUTH_MODE=production) DISCORD_CLIENT_ID= DISCORD_CLIENT_SECRET= GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= GITLAB_BASE_URL= GITLAB_CLIENT_ID= GITLAB_CLIENT_SECRET= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= LINUXDO_CLIENT_ID= LINUXDO_CLIENT_SECRET= WATCHA_CLIENT_ID= WATCHA_CLIENT_SECRET= # GitLab OAuth setup (self-hosted or gitlab.com) # Example base URL: https://gitlab.com or https://gitlab.example.com # Redirect URI: http://localhost:3000/api/auth/oauth2/callback/gitlab # Discord OAuth2 setup # Redirect URI (local): http://localhost:3000/api/auth/callback/discord # Recommended scopes: identify email # PostgreSQL (for docker-compose reference) POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=tokens_burned # Google Analytics (optional; omit to disable) # GA_SECRET=G-XXXXXXXXXX # Microsoft Clarity (optional; omit to disable) # CLARITY_ID=your-project-id # Wechat Share NEXT_PUBLIC_APP_ORIGIN=https://your-domain.com WECHAT_OPEN_APP_ID=wx1234567890abcdef WECHAT_OPEN_APP_SECRET=xxxxxxxxxxxxxxxx