Skip to content

All environment variables for Nube Auth services.

Core Settings

VariableRequiredDefaultDescription
NODE_ENVNodevelopmentEnvironment (development, production)
PORTNo3001Server port
LOG_LEVELNoinfoLog level (debug, info, warn, error)

Database

VariableRequiredDefaultDescription
DATABASE_URLYes-Database connection URL

PostgreSQL Example

bash
DATABASE_URL=postgresql://user:pass@host:5432/nube-auth

Redis

VariableRequiredDefaultDescription
REDIS_URLYes-Redis connection URL

Example

bash
REDIS_URL=redis://localhost:6379

Authentication

VariableRequiredDefaultDescription
JWT_SECRETYes-JWT signing secret (32+ bytes)
SESSION_SECRETYes-Session encryption secret

OAuth Providers

bash
# Google
GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=xxx

# GitHub
GITHUB_CLIENT_ID=xxx
GITHUB_CLIENT_SECRET=xxx

Sessions

VariableRequiredDefaultDescription
ACCESS_TOKEN_TTLNo900Access token lifetime (seconds)
REFRESH_TOKEN_TTLNo604800Refresh token lifetime (seconds)
SESSION_ROLLINGNotrueEnable rolling sessions
SESSION_ROLLING_TTLNo86400Rolling window (seconds)
SESSION_MAX_TTLNo2592000Max session lifetime (seconds)

Email

VariableRequiredDefaultDescription
EMAIL_PROVIDERNo-Email provider (resend, sendgrid)
EMAIL_FROMNo-From address for emails
RESEND_API_KEYNo-Resend API key
SENDGRID_API_KEYNo-SendGrid API key

Licensing

VariableRequiredDefaultDescription
DEFAULT_PLANNofreeDefault plan for new users
ENABLE_TRIALNofalseEnable trial periods
TRIAL_DAYSNo14Trial duration in days
TRIAL_PLANNoproPlan during trial

CORS & Security

VariableRequiredDefaultDescription
CORS_ORIGINSNo*Allowed origins (comma-separated)
RATE_LIMIT_MAXNo100Max requests per minute

Service-to-Service

VariableRequiredDefaultDescription
X_NUBE_AUTH_SERVICE_TOKENYes*-Shared token for Core ↔ Gateway S2S calls (must match on both services)

Example .env

bash
# Core
NODE_ENV=production
CORE_PORT=3003

# Database (PostgreSQL)
DATABASE_URL=postgresql://user:password@host:5432/nube-auth

# Redis
REDIS_URL=redis://localhost:6379

# Auth
JWT_SECRET=your-32-byte-secret-here-minimum
SESSION_SECRET=another-32-byte-secret-here

# OAuth
GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=xxx
GITHUB_CLIENT_ID=xxx
GITHUB_CLIENT_SECRET=xxx

# Sessions
SESSION_TTL_SECONDS=31536000
ADMIN_SESSION_TTL_SECONDS=7200
SESSION_ROLLING=true

# Email
EMAIL_PROVIDER=resend
EMAIL_FROM=auth@yourdomain.com
RESEND_API_KEY=re_xxx

# Security
CORS_ORIGINS=https://yourdomain.com,https://app.yourdomain.com

# Service-to-Service
X_NUBE_AUTH_SERVICE_TOKEN=your-32-plus-char-token

Released under the MIT License.