# ── Storage ────────────────────────────────────────────────────────────────── STORE=postgres DATABASE_URL=postgres://snip:snip@localhost:5432/snip?sslmode=disable # ── Redis ───────────────────────────────────────────────────────────────────── REDIS_ADDR=localhost:6379 REDIS_PASSWORD= REDIS_DB=0 # Namespace prefix for all Redis keys — set this when sharing a Redis instance # with other apps, e.g. REDIS_KEY_PREFIX=snip: → keys look like snip:code:abc REDIS_KEY_PREFIX= # ── App ─────────────────────────────────────────────────────────────────────── PUBLIC_URL=http://localhost:8080 SHORT_DOMAIN=localhost:8080 POST_LOGIN_REDIRECT=/dashboard FRONTEND_DIST=./web # ── Security ────────────────────────────────────────────────────────────────── SESSION_SECRET=change-me-in-production COOKIE_SECURE=false # ── Google OAuth (optional) ─────────────────────────────────────────────────── GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= # ── Generic OIDC (optional) ─────────────────────────────────────────────────── OIDC_ISSUER= OIDC_CLIENT_ID= OIDC_CLIENT_SECRET= # ── Misc ────────────────────────────────────────────────────────────────────── # How often buffered click counts are flushed to Postgres (seconds) CLICK_FLUSH_SECONDS=10