51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
# Server Configuration
|
|
HOST="localhost"
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
|
|
# Database connection string
|
|
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/friendolls_dev?schema=public"
|
|
|
|
# Redis
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_REQUIRED=false
|
|
REDIS_CONNECT_TIMEOUT_MS=5000
|
|
REDIS_STARTUP_RETRIES=10
|
|
# Stale presence cleanup threshold and interval
|
|
PRESENCE_STALE_AGE_MS=604800000
|
|
PRESENCE_CLEANUP_INTERVAL_MS=300000
|
|
|
|
# Cache
|
|
CACHE_KEY_PREFIX=friendolls
|
|
CACHE_DEFAULT_TTL_SECONDS=60
|
|
CACHE_MAX_TTL_SECONDS=86400
|
|
CACHE_METRICS_LOG_INTERVAL_MS=60000
|
|
# Max number of cache keys tracked per invalidation tag
|
|
CACHE_TAG_MAX_ENTRIES=5000
|
|
|
|
# JWT Configuration
|
|
JWT_SECRET=replace-with-strong-random-secret
|
|
JWT_ISSUER=friendolls
|
|
JWT_AUDIENCE=friendolls-api
|
|
JWT_EXPIRES_IN_SECONDS=3600
|
|
|
|
# Auth cleanup
|
|
AUTH_CLEANUP_ENABLED=true
|
|
AUTH_CLEANUP_INTERVAL_MS=900000
|
|
AUTH_SESSION_REVOKED_RETENTION_DAYS=7
|
|
|
|
# Rate limiting
|
|
THROTTLE_TTL=1000
|
|
THROTTLE_LIMIT=5
|
|
|
|
# Google OAuth
|
|
GOOGLE_CLIENT_ID="replace-with-google-client-id"
|
|
GOOGLE_CLIENT_SECRET="replace-with-google-client-secret"
|
|
GOOGLE_CALLBACK_URL="http://localhost:3000/auth/sso/google/callback"
|
|
|
|
# Discord OAuth
|
|
DISCORD_CLIENT_ID="replace-with-discord-client-id"
|
|
DISCORD_CLIENT_SECRET="replace-with-discord-client-secret"
|
|
DISCORD_CALLBACK_URL="http://localhost:3000/auth/sso/discord/callback"
|