Production Configuration
Security checklist
Do not run in production without completing this checklist.
-
SECRET_KEYis ≥32 random characters -
ENCRYPTION_KEYis a fresh Fernet key (not from the example file) -
POSTGRES_PASSWORDis strong and unique -
REDIS_PASSWORDis strong and unique -
ENVIRONMENT=productionis set -
.envis not committed to version control - SSL/TLS is configured on nginx (see Nginx & SSL)
- Firewall allows only ports 80 and 443 externally
-
REQUIRE_INVITE=trueif you want closed registration
CORS
CORS_ORIGINS=https://your-nexora-domain.comDo not use * in production.
Invite-only registration
REQUIRE_INVITE=trueAdmin generates invite tokens in Settings → Invites.
SMTP (email)
Required for password reset and notifications:
SMTP_HOST=smtp.yourmailserver.com
SMTP_PORT=587
SMTP_USER=nexora@yourdomain.com
SMTP_PASSWORD=yourpassword
SMTP_FROM=nexora@yourdomain.com
SMTP_TLS=trueScaling
Nexora is stateless at the FastAPI layer — scale horizontally with multiple backend containers behind a load balancer. Redis pub/sub handles cross-worker message broadcast.
Health check
GET /api/healthReturns 200 OK:
{ "status": "ok", "version": "x.y.z" }Log levels
LOG_LEVEL=info # debug | info | warning | error