# n8n Environment Configuration Template
# Copy this file to /opt/n8n/.env and customize values
#
# IMPORTANT: Generate secure random values for passwords and keys!
# Never commit .env files to version control!

# ============================================================================
# PostgreSQL Configuration
# ============================================================================
POSTGRES_USER=n8n
POSTGRES_PASSWORD=CHANGE_ME_GENERATE_RANDOM_PASSWORD
POSTGRES_DB=n8n

# Generate random password:
# openssl rand -base64 32 | tr -d '/+='

# ============================================================================
# n8n Configuration
# ============================================================================

# Your domain name (used for webhooks and external access)
N8N_HOST=n8n.manticorum.com

# Protocol (should be https if using NPM with SSL)
N8N_PROTOCOL=https

# Webhook URL (MUST match your public URL exactly)
# This is used for webhook callbacks from external services
WEBHOOK_URL=https://n8n.manticorum.com/

# Timezone for executions and cron jobs
# Find yours at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=America/Los_Angeles

# ============================================================================
# Security Configuration
# ============================================================================

# Encryption Key - CRITICAL!
# This encrypts all credentials stored in the database
# ⚠️  NEVER CHANGE THIS AFTER FIRST RUN - you'll lose access to encrypted credentials!
# ⚠️  BACKUP THIS KEY SECURELY - store in password manager
#
# Generate with: openssl rand -hex 32
N8N_ENCRYPTION_KEY=CHANGE_ME_GENERATE_64_CHAR_HEX

# Basic Authentication
# Protects your n8n instance from unauthorized access
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=CHANGE_ME_GENERATE_RANDOM_PASSWORD

# Generate random password:
# openssl rand -base64 16 | tr -d '/+='

# ============================================================================
# Optional: Execution Data Management
# ============================================================================

# Automatically delete old execution data to save disk space
# Uncomment and customize as needed:

# EXECUTIONS_DATA_PRUNE=true
# EXECUTIONS_DATA_MAX_AGE=168  # Delete executions older than 7 days (in hours)
# EXECUTIONS_DATA_SAVE_ON_ERROR=all  # Save error data (all, none)
# EXECUTIONS_DATA_SAVE_ON_SUCCESS=all  # Save success data (all, none)
# EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=true  # Save manually triggered executions

# ============================================================================
# Optional: Advanced Configuration
# ============================================================================

# Uncomment and customize as needed:

# Email Configuration (for alerts, sharing workflows, etc.)
# N8N_EMAIL_MODE=smtp
# N8N_SMTP_HOST=smtp.gmail.com
# N8N_SMTP_PORT=465
# N8N_SMTP_USER=your-email@gmail.com
# N8N_SMTP_PASS=your-app-password
# N8N_SMTP_SENDER=your-email@gmail.com
# N8N_SMTP_SSL=true

# External Hooks (for custom event handling)
# EXTERNAL_HOOK_FILES=/data/hooks/hooks.js

# Workflow Default Settings
# N8N_DEFAULT_BINARY_DATA_MODE=filesystem
# N8N_BINARY_DATA_TTL=60  # Keep binary data for 60 minutes

# Metrics (for monitoring)
# N8N_METRICS=true
# N8N_METRICS_PREFIX=n8n_

# ============================================================================
# Deployment Information
# ============================================================================

# Deployment Date: 2025-11-13
# LXC Container: 210 (docker-n8n-lxc)
# IP Address: 10.10.0.210
# Location: /opt/n8n/.env
