Self-Hosting
Environment Variables
Configuration reference
Required
# Security
JWT_SECRET="your-secret" # openssl rand -base64 32
DB_PASSWORD="your-password"
# Database (auto-configured in Docker)
DATABASE_URL="postgresql://plunk:password@postgres:5432/plunk"
REDIS_URL="redis://redis:6379"
# AWS SES
AWS_SES_REGION="us-east-1"
AWS_SES_ACCESS_KEY_ID="your-key"
AWS_SES_SECRET_ACCESS_KEY="your-secret"
SES_CONFIGURATION_SET="plunk-tracking"Domains
# Subdomains for routing
API_DOMAIN="api.yourdomain.com"
DASHBOARD_DOMAIN="app.yourdomain.com"
LANDING_DOMAIN="www.yourdomain.com"
WIKI_DOMAIN="docs.yourdomain.com"
SMTP_DOMAIN="smtp.yourdomain.com"
# Protocol
USE_HTTPS="true" # false for local devStorage (Minio)
Defaults work with bundled Minio. Only set for external S3:
S3_ENDPOINT="http://minio:9000"
S3_ACCESS_KEY_ID="plunk"
S3_ACCESS_KEY_SECRET="plunkminiopass"
S3_BUCKET="uploads"
S3_PUBLIC_URL="http://localhost:9000/uploads"
S3_FORCE_PATH_STYLE="true"Optional
# OAuth
GITHUB_OAUTH_CLIENT="client-id"
GITHUB_OAUTH_SECRET="client-secret"
GOOGLE_OAUTH_CLIENT="client-id"
GOOGLE_OAUTH_SECRET="client-secret"
# Stripe
STRIPE_SK="sk_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
# Notifications
NTFY_URL="http://ntfy/plunk-notifications"