57 lines
1.8 KiB
Bash
57 lines
1.8 KiB
Bash
PORT=3000
|
|
|
|
DATABASE_URL="mysql://root:password@localhost/FurryPlace"
|
|
|
|
# Only required for development
|
|
SHADOW_DATABASE_URL="mysql://root:password@localhost/FurryPlace_shadow"
|
|
|
|
JWT_SECRET="your-secret-key"
|
|
|
|
# Google OAuth
|
|
GOOGLE_CLIENT_ID="your-google-client-id"
|
|
GOOGLE_CLIENT_SECRET="your-google-client-secret"
|
|
GOOGLE_CALLBACK_URL="http://localhost:3000/auth/google/callback"
|
|
|
|
# Cookie configuration
|
|
COOKIE_SECURE=true
|
|
COOKIE_SAME_SITE=Strict
|
|
# Optional: set to your public domain if needed (e.g., example.com)
|
|
COOKIE_DOMAIN=
|
|
|
|
# Bot protection (Legacy - use new captcha config below)
|
|
TURNSTILE_SECRET_KEY="your-turnstile-secret"
|
|
# Development bypass token (set to empty in production)
|
|
TURNSTILE_BYPASS_TOKEN="turnstile-disabled"
|
|
|
|
# Captcha Configuration
|
|
# Supported providers: turnstile, hcaptcha, recaptcha-v2, recaptcha-v3, none
|
|
# Each verification point can use a different provider and be independently enabled/disabled
|
|
|
|
# Login Captcha (appears when logging in with existing account)
|
|
CAPTCHA_LOGIN_ENABLED=false
|
|
CAPTCHA_LOGIN_PROVIDER=turnstile
|
|
CAPTCHA_LOGIN_SECRET=your-secret-key
|
|
CAPTCHA_LOGIN_BYPASS_TOKEN=
|
|
|
|
# Registration Captcha (appears when creating new account)
|
|
CAPTCHA_REGISTER_ENABLED=false
|
|
CAPTCHA_REGISTER_PROVIDER=hcaptcha
|
|
CAPTCHA_REGISTER_SECRET=your-secret-key
|
|
CAPTCHA_REGISTER_BYPASS_TOKEN=
|
|
|
|
# Google OAuth Captcha (appears before OAuth flow)
|
|
CAPTCHA_GOOGLE_OAUTH_ENABLED=false
|
|
CAPTCHA_GOOGLE_OAUTH_PROVIDER=turnstile
|
|
CAPTCHA_GOOGLE_OAUTH_SECRET=your-secret-key
|
|
CAPTCHA_GOOGLE_OAUTH_BYPASS_TOKEN=
|
|
|
|
# Paint Captcha (appears when painting pixels)
|
|
CAPTCHA_PAINT_ENABLED=false
|
|
CAPTCHA_PAINT_PROVIDER=recaptcha-v3
|
|
CAPTCHA_PAINT_SECRET=your-secret-key
|
|
CAPTCHA_PAINT_BYPASS_TOKEN=
|
|
# Paint Captcha Interval: Require captcha every N paint actions (0 = always require, empty = always require)
|
|
# Example: 5 means captcha is required every 5 paint actions
|
|
CAPTCHA_PAINT_INTERVAL=5
|
|
|