Internal
Public Access
This allows deploying from git repository in Portainer by providing an example environment variables file. Users can copy this and fill in their actual values in Portainer's environment variables section. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
139 lines
4.7 KiB
Bash
139 lines
4.7 KiB
Bash
# ===================================================================
|
|
# KeepItGoing Server - Portainer Stack Environment Configuration
|
|
# ===================================================================
|
|
# This file is an EXAMPLE for Portainer deployments from git repository.
|
|
# When deploying in Portainer:
|
|
# 1. Copy the contents of this file
|
|
# 2. Paste into the "Environment variables" section in Portainer
|
|
# 3. Replace all placeholder values with your actual values
|
|
# DO NOT commit your actual stack.env file to version control!
|
|
|
|
# ===================================================================
|
|
# Django Core Settings
|
|
# ===================================================================
|
|
|
|
# SECURITY WARNING: Generate a strong secret key!
|
|
# Generate with: python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
|
|
SECRET_KEY=CHANGE_ME_GENERATE_A_STRONG_SECRET_KEY_50_PLUS_CHARACTERS
|
|
|
|
# Debug mode (MUST be False in production)
|
|
DEBUG=False
|
|
|
|
# Comma-separated list of allowed hosts
|
|
# Example: api.yourdomain.com,localhost
|
|
ALLOWED_HOSTS=yourdomain.com,localhost
|
|
|
|
# Comma-separated list of trusted origins for CSRF (must include https://)
|
|
# Example: https://api.yourdomain.com,https://yourdomain.com
|
|
CSRF_TRUSTED_ORIGINS=https://yourdomain.com
|
|
|
|
# Domain used in email links
|
|
SITE_DOMAIN=yourdomain.com
|
|
|
|
# ===================================================================
|
|
# Database Configuration (PostgreSQL)
|
|
# ===================================================================
|
|
|
|
DB_NAME=keepitgoing
|
|
DB_USER=keepitgoing
|
|
DB_PASSWORD=CHANGE_ME_STRONG_DATABASE_PASSWORD
|
|
|
|
# ===================================================================
|
|
# Redis Configuration
|
|
# ===================================================================
|
|
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# ===================================================================
|
|
# Email Configuration
|
|
# ===================================================================
|
|
# Required for user registration (email verification) and notifications
|
|
|
|
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
|
|
|
|
# Gmail Example (use App Password, not regular password):
|
|
# EMAIL_HOST=smtp.gmail.com
|
|
# EMAIL_PORT=587
|
|
# EMAIL_USE_TLS=True
|
|
# EMAIL_HOST_USER=your-email@gmail.com
|
|
# EMAIL_HOST_PASSWORD=your-app-password
|
|
|
|
# SendGrid Example:
|
|
# EMAIL_HOST=smtp.sendgrid.net
|
|
# EMAIL_PORT=587
|
|
# EMAIL_USE_TLS=True
|
|
# EMAIL_HOST_USER=apikey
|
|
# EMAIL_HOST_PASSWORD=your-sendgrid-api-key
|
|
|
|
# AWS SES Example:
|
|
# EMAIL_HOST=email-smtp.us-east-1.amazonaws.com
|
|
# EMAIL_PORT=587
|
|
# EMAIL_USE_TLS=True
|
|
# EMAIL_HOST_USER=your-aws-access-key
|
|
# EMAIL_HOST_PASSWORD=your-aws-secret-key
|
|
|
|
EMAIL_HOST=smtp.gmail.com
|
|
EMAIL_PORT=587
|
|
EMAIL_USE_TLS=True
|
|
EMAIL_HOST_USER=your-email@gmail.com
|
|
EMAIL_HOST_PASSWORD=your-app-password
|
|
DEFAULT_FROM_EMAIL=KeepItGoing <noreply@yourdomain.com>
|
|
SERVER_EMAIL=server@yourdomain.com
|
|
|
|
# ===================================================================
|
|
# Email Verification Settings
|
|
# ===================================================================
|
|
|
|
EMAIL_VERIFICATION_TOKEN_EXPIRY_HOURS=24
|
|
|
|
# ===================================================================
|
|
# CORS Configuration
|
|
# ===================================================================
|
|
# Comma-separated list of allowed origins
|
|
# Example: https://yourdomain.com,https://app.yourdomain.com
|
|
|
|
CORS_ALLOWED_ORIGINS=https://yourdomain.com
|
|
|
|
# ===================================================================
|
|
# SaaS Mode
|
|
# ===================================================================
|
|
# Set to True for SaaS deployment with billing/usage limits
|
|
# Set to False for self-hosted deployment (no limits)
|
|
|
|
SAAS_MODE=False
|
|
|
|
# ===================================================================
|
|
# Web Server Configuration
|
|
# ===================================================================
|
|
|
|
# Port to expose the web service on (default: 8000)
|
|
# Change this if port 8000 is already in use
|
|
WEB_PORT=8000
|
|
|
|
# ===================================================================
|
|
# Gunicorn Configuration
|
|
# ===================================================================
|
|
|
|
GUNICORN_WORKERS=3
|
|
GUNICORN_TIMEOUT=60
|
|
|
|
# ===================================================================
|
|
# Push Notifications (Optional)
|
|
# ===================================================================
|
|
# Leave empty if not using push notifications
|
|
|
|
# Firebase Cloud Messaging (FCM)
|
|
FCM_CREDENTIALS_PATH=
|
|
|
|
# Web Push (VAPID keys)
|
|
VAPID_PUBLIC_KEY=
|
|
VAPID_PRIVATE_KEY=
|
|
VAPID_ADMIN_EMAIL=
|
|
|
|
# ===================================================================
|
|
# Additional Settings
|
|
# ===================================================================
|
|
|
|
# Django settings module (usually don't need to change)
|
|
DJANGO_SETTINGS_MODULE=config.settings.selfhosted
|