# ============================================================================= # Pulse — Self-Hosted Supabase Environment Variables # ============================================================================= # Copy this file to .env and fill in the values. # Use with: docker compose -f docker-compose-supabase.yml up -d # === REQUIRED === # PostgreSQL password for the local database (must be URL-safe: no / = + characters) # Generate with: openssl rand -hex 24 POSTGRES_PASSWORD= # JWT secret used by GoTrue and PostgreSQL (min 32 chars) # Generate with: openssl rand -base64 32 JWT_SECRET= # Supabase API keys (JWTs signed with JWT_SECRET above) # Generate both keys by running: bun docker/generate-keys.ts SUPABASE_ANON_KEY= SUPABASE_SERVICE_ROLE_KEY= # Public URL where Pulse is accessible (used by GoTrue for redirects) SITE_URL= # === OPTIONAL === # JWT expiry in seconds (default: 3600 = 1 hour) # JWT_EXPIRY=3600 # Host port for Pulse (default: 4991) # PULSE_PORT=4991 # Server's public IP for WebRTC (auto-detected if not set) # PUBLIC_IP= # Additional OAuth redirect URLs (comma-separated) # ADDITIONAL_REDIRECT_URLS= # OAuth providers (set to "true" to enable, then fill in client ID and secret) # GOOGLE_OAUTH_ENABLED=false # GOOGLE_OAUTH_CLIENT_ID= # GOOGLE_OAUTH_SECRET= # DISCORD_OAUTH_ENABLED=false # DISCORD_OAUTH_CLIENT_ID= # DISCORD_OAUTH_SECRET= # FACEBOOK_OAUTH_ENABLED=false # FACEBOOK_OAUTH_CLIENT_ID= # FACEBOOK_OAUTH_SECRET= # TWITCH_OAUTH_ENABLED=false # TWITCH_OAUTH_CLIENT_ID= # TWITCH_OAUTH_SECRET= # Disable all new user registration instance-wide (invites still work) # REGISTRATION_DISABLED=false # Giphy API key for GIF search # GIPHY_API_KEY=