Skip to Content
ConfigurationEnvironment Variables

Environment Variables

All configuration options for the Rustrak server.

Required

VariableDescription
DATABASE_URLPostgreSQL connection string

DATABASE_URL

# Format postgres://username:password@host:port/database # Examples DATABASE_URL=postgres://rustrak:rustrak@localhost:5432/rustrak DATABASE_URL=postgres://rustrak:rustrak@postgres:5432/rustrak # Docker DATABASE_URL=postgres://user:pass@host:5432/rustrak?sslmode=require # With SSL

Security

VariableDefaultDescription
SSL_PROXYfalseSet to true when behind HTTPS proxy (nginx, Cloudflare)
SESSION_SECRET_KEY(random)64-character hex string for session encryption

SSL_PROXY

Set to true when running behind a reverse proxy that terminates SSL (nginx, Cloudflare, etc.). This enables secure cookies.

SSL_PROXY=true

When SSL_PROXY=true:

  • Cookies are sent only over HTTPS (Secure flag enabled)
  • SESSION_SECRET_KEY becomes required

SESSION_SECRET_KEY

Generate with:

openssl rand -hex 32
  • Development: Optional (a random key is used, sessions don’t persist across restarts)
  • Production with SSL_PROXY=true: Required

Server

VariableDefaultDescription
HOST0.0.0.0Server bind address
PORT8080Server port
RUST_LOGinfoLog level (trace, debug, info, warn, error)

Database Pool

VariableDefaultDescription
DATABASE_MAX_CONNECTIONS10Maximum pool connections
DATABASE_MIN_CONNECTIONS1Minimum pool connections

Rate Limiting

VariableDefaultDescription
MAX_EVENTS_PER_MINUTE1000Max events/minute (global)
MAX_EVENTS_PER_HOUR10000Max events/hour (global)
MAX_EVENTS_PER_PROJECT_PER_MINUTE500Max events/minute per project
MAX_EVENTS_PER_PROJECT_PER_HOUR5000Max events/hour per project

Storage

VariableDefaultDescription
INGEST_DIR/tmp/rustrak/ingestTemporary event storage

Bootstrap

VariableDescription
CREATE_SUPERUSERCreate admin user on startup (email:password)
CREATE_SUPERUSER="admin@example.com:secure-password"

Only creates user if database is empty.

Dashboard (Next.js)

VariableDefaultDescription
RUSTRAK_API_URLhttp://localhost:8080Backend API URL

Complete Example

Development

# .env file (development) # Required DATABASE_URL=postgres://rustrak:rustrak@localhost:5432/rustrak # Server HOST=0.0.0.0 PORT=8080 RUST_LOG=info # Dashboard RUSTRAK_API_URL=http://localhost:8080

Production

# .env file (production with HTTPS) # Required DATABASE_URL=postgres://rustrak:password@postgres:5432/rustrak # Security (required for production behind HTTPS proxy) SSL_PROXY=true SESSION_SECRET_KEY=a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890 # Server HOST=0.0.0.0 PORT=8080 RUST_LOG=info # Database Pool DATABASE_MAX_CONNECTIONS=20 # Rate Limiting MAX_EVENTS_PER_MINUTE=1000 MAX_EVENTS_PER_HOUR=10000 # Dashboard RUSTRAK_API_URL=https://rustrak.yourcompany.com
Last updated on