Shared NAT egress makes client IP unusable for uniqueness checks. Gate the behavior behind REGISTRATION_ENFORCE_IP (default false) for public/invite signup.
39 lines
1.4 KiB
Bash
39 lines
1.4 KiB
Bash
# Copy to .env for local Traefik compose (dev).
|
|
# cp .env.example .env && ./scripts/compose-dev.sh up -d --build
|
|
|
|
POSTGRES_USER=pargar
|
|
POSTGRES_DB=pargar
|
|
POSTGRES_PASSWORD=replace-with-a-local-password
|
|
REDIS_PASSWORD=replace-with-a-redis-password
|
|
RUSTFS_ACCESS_KEY=replace-with-a-rustfs-user
|
|
RUSTFS_SECRET_KEY=replace-with-a-long-rustfs-password
|
|
STORAGE_REGION=us-east-1
|
|
STORAGE_BUCKET=pargar
|
|
JWT_SECRET=replace-with-at-least-32-random-characters
|
|
ADMIN_PASSWORD=replace-with-a-strong-admin-password
|
|
ADMIN_NAME=Admin
|
|
ADMIN_USERNAME=admin
|
|
ADMIN_EMAIL=admin@example.com
|
|
|
|
# Traefik Host() + TLS (dev uses Traefik default cert — browser warning OK)
|
|
DOMAIN=localhost
|
|
PUBLIC_URL=https://localhost
|
|
FRONTEND_ORIGINS=https://localhost,https://127.0.0.1
|
|
|
|
# Keep false unless you intentionally want fail-open rate limits / captcha.
|
|
DEV_MODE=false
|
|
SEED_CURRICULUM=false
|
|
# One registration per client IP. Keep false behind NAT / shared egress (default).
|
|
REGISTRATION_ENFORCE_IP=false
|
|
# METRICS_TOKEN=
|
|
# TRUSTED_PROXY_CIDRS=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.0/8,::1/128
|
|
|
|
DONATION_ENABLED=true
|
|
DONATION_NOTE="If you want to support the program, sign in and coordinate privately with the team."
|
|
# Offline payment only — enable after ops process is ready (also toggled in admin settings).
|
|
PHYSICAL_CERT_ENABLED=false
|
|
PHYSICAL_CERT_PRICE_IRR=2500000
|
|
PHYSICAL_CERT_WINDOW_DAYS=30
|
|
OTEL_EXPORTER_OTLP_ENDPOINT=
|
|
OTEL_SERVICE_NAME=pargar-api
|