diff --git a/stack.env.example b/stack.env.example new file mode 100644 index 0000000..3e9c8f3 --- /dev/null +++ b/stack.env.example @@ -0,0 +1,138 @@ +# =================================================================== +# 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 +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