.env.example•4.5 kB
# ============================================
# SERVER-MCP Environment Configuration
# ============================================
# Copy this file to .env and fill in the values
# ============================================
# PostgreSQL Configuration (Local Server)
# ============================================
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_postgres_password_here
POSTGRES_DB=postgres
POSTGRES_MAX_CONNECTIONS=20
# PostgreSQL connection string (alternative to individual vars)
# POSTGRES_URL=postgresql://postgres:password@localhost:5432/postgres
# ============================================
# Redis Configuration (Local Server)
# ============================================
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# Redis connection string (alternative)
# REDIS_URL=redis://localhost:6379/0
# ============================================
# Keycloak Configuration
# ============================================
KEYCLOAK_BASE_URL=https://acdev.host:8080
KEYCLOAK_REALM=mcp-agents
KEYCLOAK_CLIENT_ID=server-mcp-agent
KEYCLOAK_CLIENT_SECRET=your_keycloak_secret_here
# Optional: Override admin credentials for Keycloak Admin API
# KEYCLOAK_ADMIN_USERNAME=admin
# KEYCLOAK_ADMIN_PASSWORD=admin
# ============================================
# NGINX Configuration
# ============================================
NGINX_CONFIG_PATH=/etc/nginx/nginx.conf
NGINX_ACCESS_LOG=/var/log/nginx/access.log
NGINX_ERROR_LOG=/var/log/nginx/error.log
# ============================================
# IT-MCP Integration (Distributed Mode)
# ============================================
# Central agent registry endpoint (optional - enables distributed mode)
# IT_MCP_REGISTRY_URL=https://acdev.host/api/v1
# Unique server identifier (auto-generated if not set)
# IT_MCP_SERVER_ID=
# Agent capabilities advertised to registry
IT_MCP_CAPABILITIES=postgres-admin,redis-admin,keycloak-admin,ubuntu-server,local-sudo
# Heartbeat interval in milliseconds (default: 30000 = 30 seconds)
IT_MCP_HEARTBEAT_INTERVAL=30000
# ============================================
# Database Sync Configuration (Optional)
# ============================================
# PostgreSQL connection string for structured thought sync
# Leave empty to disable sync (runs in SQLite-only mode)
# POSTGRES_CONNECTION_STRING=postgresql://postgres:password@localhost:5432/mcp_central
# Sync interval in milliseconds (default: 60000 = 1 minute)
DATABASE_SYNC_INTERVAL=60000
# Conflict resolution strategy: last-write-wins, manual, merge
DATABASE_SYNC_CONFLICT_RESOLUTION=last-write-wins
# Enable auto-sync on startup
DATABASE_SYNC_ENABLE_AUTO=true
# ============================================
# Command Queue Configuration
# ============================================
# SQLite command queue database path
SERVER_MCP_QUEUE_PATH=./mcp_command_queue.db
# Queue poll interval in milliseconds (default: 5000 = 5 seconds)
COMMAND_QUEUE_POLL_INTERVAL=5000
# Maximum retries for failed commands
COMMAND_QUEUE_MAX_RETRIES=3
# ============================================
# Server-MCP Settings
# ============================================
# Allow sudo execution (default: true)
SERVER_MCP_ALLOW_SUDO=true
# Log level: error, warn, info, debug (default: info in production, debug in development)
SERVER_MCP_LOG_LEVEL=info
# Working directory for backups
SERVER_MCP_BACKUP_DIR=/var/backups/server-mcp
# SQLite cache database path (local offline resilience)
SERVER_MCP_SQLITE_PATH=./mcp_cache.db
# ============================================
# Backup Configuration
# ============================================
# Enable automated backups
ENABLE_AUTO_BACKUP=true
# Backup schedule (cron format: "0 2 * * *" = daily at 2 AM)
BACKUP_SCHEDULE=0 2 * * *
# Backup retention days
BACKUP_RETENTION_DAYS=30
# Remote backup destination (optional: S3, GCS, Azure, MinIO)
# BACKUP_REMOTE_TYPE=s3
# BACKUP_REMOTE_BUCKET=server-mcp-backups
# BACKUP_REMOTE_REGION=us-east-1
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# ============================================
# Monitoring & Alerting (Optional)
# ============================================
# Prometheus metrics endpoint port
# PROMETHEUS_PORT=9090
# Alert webhook URL (for critical errors)
# ALERT_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
# ============================================
# Node.js Environment
# ============================================
NODE_ENV=production