# Copy to .env and adjust as needed. .env is gitignored — keep secrets here only. # --- Required-ish for local dev --- # Port the HTTP server binds to. Default 8080, but VS Code Helper squats on # 8080/8090 on some macOS installs, so we use 9090 locally. Pick any free port. PORT=9090 # Externally-visible origin of this server. Must match what you type in the # browser AND what atproto OAuth uses to build the redirect URI. Use # 127.0.0.1 (not localhost) for loopback dev — atproto is strict about this. PUBLIC_URL=http://127.0.0.1:9090 # --- Optional --- # DEBUG | INFO | WARN | ERROR. Default INFO. DEBUG is useful when triaging # OAuth flows (indigo logs the full PAR / token requests at Debug). # LOG_LEVEL=DEBUG # SQLite DSN. Default is fine; override if you want a different file. # DATABASE_URL=file:data/atmoquest.db?_pragma=journal_mode(WAL)&_pragma=foreign_keys(ON) # WebSocket URL of a self-hosted Bluesky Tap service for real-time reciprocal # connections. Run Tap with TAP_SIGNAL_COLLECTION=quest.atmo.connection and add # tracked DIDs via its /repos/add endpoint. When unset (the default) reciprocity # falls back to the login-drain queue. Example: ws://127.0.0.1:2480/channel # TAP_WS_ENDPOINT=ws://127.0.0.1:2480/channel # Optional bearer token if your Tap deployment requires auth. # TAP_AUTH_TOKEN= # --- Production only --- # # Both are auto-generated in dev (random session key per process, on-disk # admin key at data/admin_signing.key). In prod they MUST be set. # # SESSION_SECRET=$(openssl rand -hex 32) # ADMIN_SIGNING_KEY=$(openssl rand -base64 32)