Environment Variables

Complete guide to all environment variables used in Pulsimo. Configure databases, authentication, monitoring, and notification services.

🚀 Quick Start

Minimum configuration to deploy Pulsimo:

# 1. Copy template
cp .env.example .env

# 2. Edit .env - Set these 3 variables:
HOST_IP=192.168.1.100                        # Your server IP
POSTGRES_PASSWORD=$(openssl rand -base64 24) # Generate secure password
JWT_SECRET=$(openssl rand -base64 32)        # Generate secure secret

# 3. Deploy
./setup-prod.sh

That's it! All other variables have sensible defaults.

Essential Variables

These must be configured for production deployment:

VariableDefaultDescription
HOST_IPlocalhostServer IP or domain name
POSTGRES_PASSWORD⚠️ Must change!Database password
JWT_SECRET⚠️ Must change!Authentication secret (32+ chars)

Database Configuration

PostgreSQL Settings

POSTGRES_DBmonitoring_system
POSTGRES_USERmonitoring
POSTGRES_PORT5432
POSTGRES_PASSWORDRequired

Redis Configuration

REDIS_URLredis://redis:6379
REDIS_PORT6379

SMTP Configuration

For email notifications. See detailed SMTP Configuration Guide.

Email Settings

SMTP_HOSTsmtp.gmail.com
SMTP_PORT587
SMTP_USERNAMERequired for email
SMTP_PASSWORDRequired for email
FROM_EMAILRequired for email

Monitoring Configuration

VariableDefaultDescription
CHECK_INTERVAL_SECONDS30How often to check endpoints
MAX_CONCURRENT_CHECKS100Parallel check limit
CHECK_TIMEOUT_SECONDS30Request timeout

Security Best Practices

Generate Strong Passwords

openssl rand -base64 32

Never commit .env files: Add .env to .gitignore. Use secrets management in production.

🔄 Rotate Secrets: Change JWT_SECRET and database passwords periodically.