Skip to content

Environment Variables

Complete reference for all environment variables used by MediaMagic CRM.

Variable Reference

MySQL (EspoCRM Database)

VariableRequiredDefaultDescription
MYSQL_ROOT_PASSWORDRoot user password
MYSQL_PASSWORDApplication database password
MYSQL_USERespocrmDatabase user
MYSQL_DATABASEespocrmDatabase name

EspoCRM

VariableRequiredDefaultDescription
ESPOCRM_ADMIN_USERAdmin username
ESPOCRM_ADMIN_PASSWORDAdmin password
ESPOCRM_SITE_URLPublic URL for EspoCRM
ESPOCRM_API_KEY✅*API key for Bridge (*after setup)

PostgreSQL (Analytics)

VariableRequiredDefaultDescription
POSTGRES_PASSWORDDatabase password
POSTGRES_USERmediamagicDatabase user
POSTGRES_DBmediamagic_analyticsDatabase name
POSTGRES_HOSTpostgresHost (Docker internal)

Grafana

VariableRequiredDefaultDescription
GRAFANA_ADMIN_USERadminAdmin username
GRAFANA_ADMIN_PASSWORDAdmin password
GRAFANA_ROOT_URLhttp://localhost:3200Public URL

Ayrshare

VariableRequiredDefaultDescription
AYRSHARE_API_KEY⚠️API key (required for social features)

X Server

VariableRequiredDefaultDescription
X_SERVER_URL⚠️X Server URL (required for publishing)

n8n

VariableRequiredDefaultDescription
N8N_WEBHOOK_BASEBase URL for n8n webhooks

AI & Transcription

VariableRequiredDefaultDescription
ANTHROPIC_API_KEYClaude API key
DEEPGRAM_API_KEYDeepgram transcription
ASSEMBLYAI_API_KEYAssemblyAI transcription

Bunny CDN

VariableRequiredDefaultDescription
BUNNY_STORAGE_API_KEYStorage API key
BUNNY_STORAGE_ZONEStorage zone name
BUNNY_CDN_URLCDN URL

Environment by Service

Bridge Container

EspoCRM Container

Template Files

.env.example

bash
# ============================================
# MediaMagic CRM Environment Configuration
# ============================================
# Copy this file to .env and fill in your values
# DO NOT commit .env to version control

# --- MySQL ---
MYSQL_ROOT_PASSWORD=
MYSQL_PASSWORD=

# --- EspoCRM ---
ESPOCRM_ADMIN_USER=admin
ESPOCRM_ADMIN_PASSWORD=
ESPOCRM_SITE_URL=http://localhost:8080
ESPOCRM_API_KEY=

# --- PostgreSQL ---
POSTGRES_PASSWORD=

# --- Grafana ---
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=
GRAFANA_ROOT_URL=http://localhost:3200

# --- External Services ---
AYRSHARE_API_KEY=
X_SERVER_URL=
N8N_WEBHOOK_BASE=

# --- AI & Transcription ---
ANTHROPIC_API_KEY=
DEEPGRAM_API_KEY=
ASSEMBLYAI_API_KEY=

# --- CDN ---
BUNNY_STORAGE_API_KEY=
BUNNY_STORAGE_ZONE=
BUNNY_CDN_URL=

Validation

Check your configuration:

bash
#!/bin/bash
# validate-env.sh

required_vars=(
  "MYSQL_ROOT_PASSWORD"
  "MYSQL_PASSWORD"
  "ESPOCRM_ADMIN_PASSWORD"
  "ESPOCRM_SITE_URL"
  "POSTGRES_PASSWORD"
  "GRAFANA_ADMIN_PASSWORD"
)

missing=0
for var in "${required_vars[@]}"; do
  if [ -z "${!var}" ]; then
    echo "❌ Missing: $var"
    missing=$((missing + 1))
  else
    echo "✅ Set: $var"
  fi
done

if [ $missing -gt 0 ]; then
  echo ""
  echo "⚠️  $missing required variable(s) missing"
  exit 1
else
  echo ""
  echo "✅ All required variables set"
fi

Security Notes

Never Commit Secrets

  • .env should be in .gitignore
  • Use .env.example as a template (with empty values)
  • Never log or display API keys

Password Requirements

  • Minimum 16 characters
  • Mix of uppercase, lowercase, numbers, symbols
  • Unique password per service

Production Considerations

  • Use secrets management in production (Vault, AWS Secrets Manager, etc.)
  • Rotate API keys regularly
  • Audit access logs

MediaMagic CRM Documentation