freealberta/influence/example.env
admin 4d8b9effd0 feat(blog): add detailed update on Influence and Map app developments since August
A bunch of udpates to the listmonk sync to add influence to it
2025-10-25 12:45:35 -06:00

148 lines
4.4 KiB
Bash

# BNKops Influence Campaign Tool - Environment Configuration Example
# Copy this file to .env and update with your actual values
# NocoDB Configuration
# Your NocoDB instance URL and API configuration
NOCODB_URL=https://your-nocodb-instance.com
NOCODB_API_URL=https://your-nocodb-instance.com/api/v1
NOCODB_API_TOKEN=your_nocodb_api_token_here
NOCODB_PROJECT_ID=your_project_id
# SMTP Configuration
# Configure your email service provider settings. See below for development mode smtp
# SMTP_HOST=smtp.your-provider.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=your-email@domain.com
# SMTP_PASS=your_email_password_or_app_password
# SMTP_FROM_EMAIL=your-sender@domain.com
# SMTP_FROM_NAME="Your Campaign Name"
# Listmonk Configuration (Email List Management)
# Enable to sync campaign participants to Listmonk email lists
LISTMONK_API_URL=http://listmonk_app:9000/api
LISTMONK_USERNAME=API
LISTMONK_PASSWORD=your_listmonk_api_password
LISTMONK_SYNC_ENABLED=false
LISTMONK_INITIAL_SYNC=false
# Admin Configuration
# Set a strong password for admin access
ADMIN_PASSWORD=change_this_to_a_strong_password
# Represent API Configuration
# Canadian electoral data API (usually no changes needed)
REPRESENT_API_BASE=https://represent.opennorth.ca
REPRESENT_API_RATE_LIMIT=60
# App Configuration
# Your application URL and basic settings
APP_NAME="BNKops Influence"
APP_URL=http://localhost:3333
BASE_URL=http://localhost:3333
PORT=3333
SESSION_SECRET=generate_a_long_random_string_here_at_least_64_characters_long
NODE_ENV=development
# Email Testing Configuration
# IMPORTANT: Set to true for development/testing, false for production
EMAIL_TEST_MODE=true
TEST_EMAIL_RECIPIENT=your-test-email@domain.com
# Email Verification Configuration
# For email-to-campaign conversion feature
EMAIL_VERIFICATION_ENABLED=true
EMAIL_VERIFICATION_EXPIRY=24
# NocoDB Table IDs
# These will be auto-generated when you run build-nocodb.sh
# DO NOT modify these manually - they are set by the setup script
NOCODB_TABLE_REPRESENTATIVES=
NOCODB_TABLE_EMAILS=
NOCODB_TABLE_POSTAL_CODES=
NOCODB_TABLE_CAMPAIGN_EMAILS=
NOCODB_TABLE_CAMPAIGNS=
NOCODB_TABLE_USERS=
NOCODB_TABLE_CALLS=
NOCODB_TABLE_REPRESENTATIVE_RESPONSES=
NOCODB_TABLE_RESPONSE_UPVOTES=
NOCODB_TABLE_EMAIL_VERIFICATIONS=
# Redis Configuration (for email queue and caching)
# Uses centralized Redis from root docker-compose.yml
REDIS_HOST=redis-changemaker
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# Backup Configuration
BACKUP_RETENTION_DAYS=30
BACKUP_ENCRYPTION_KEY=generate_a_strong_encryption_key_here
BACKUP_BASE_DIR=/path/to/backups
USE_S3_BACKUP=false
S3_BACKUP_BUCKET=
S3_BACKUP_PREFIX=influence-backups
REMOVE_LOCAL_AFTER_S3=false
# Monitoring Configuration (optional)
GRAFANA_ADMIN_PASSWORD=change_this_for_production
# Optional: Development Mode Settings
# Uncomment and modify these for local development with centralized MailHog
# MailHog runs from root docker-compose.yml as a shared service
SMTP_HOST=mailhog-changemaker
SMTP_PORT=1025
SMTP_SECURE=false
SMTP_USER=
SMTP_PASS=
SMTP_FROM_EMAIL=dev@albertainfluence.local
SMTP_FROM_NAME="BNKops Influence Campaign (DEV)"
# Security Notes:
# - Keep your .env file secure and never commit it to version control
# - Use strong, unique passwords for ADMIN_PASSWORD
# - Generate a secure random string for SESSION_SECRET (64+ characters)
# - For production, ensure EMAIL_TEST_MODE=false and HTTPS=true
# - Use app passwords or API keys for SMTP_PASS, not your main email password
# - Rotate all secrets regularly (every 90 days recommended)
# Generate Secure Secrets:
# SESSION_SECRET: node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"
# BACKUP_ENCRYPTION_KEY: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Common SMTP Provider Examples:
#
# Gmail:
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=your-email@gmail.com
# SMTP_PASS=your_app_password
#
# ProtonMail:
# SMTP_HOST=smtp.protonmail.ch
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=your-email@protonmail.com
# SMTP_PASS=your_app_password
#
# Outlook/Hotmail:
# SMTP_HOST=smtp-mail.outlook.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=your-email@outlook.com
# SMTP_PASS=your_app_password
#
# SendGrid:
# SMTP_HOST=smtp.sendgrid.net
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=apikey
# SMTP_PASS=your_sendgrid_api_key
#
# AWS SES:
# SMTP_HOST=email-smtp.us-east-1.amazonaws.com
# SMTP_PORT=587
# SMTP_SECURE=false
# SMTP_USER=your_aws_smtp_username
# SMTP_PASS=your_aws_smtp_password