Previously excluded from community edition by mistake. This template has placeholder values only (no real secrets) and is needed for the Quick Start: `cp env.example .env` Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
121 lines
4.1 KiB
Plaintext
121 lines
4.1 KiB
Plaintext
# ===================================
|
|
# MCP Hub — Environment Configuration
|
|
# ===================================
|
|
#
|
|
# MINIMUM TO START: Just set MASTER_API_KEY and one site below.
|
|
# Full docs: https://github.com/airano-ir/mcphub/blob/main/docs/getting-started.md
|
|
#
|
|
# After editing, run:
|
|
# docker compose up -d
|
|
# curl http://localhost:8000/health # verify server
|
|
# open http://localhost:8000/dashboard # web dashboard
|
|
# ===================================
|
|
|
|
# ============================================
|
|
# REQUIRED
|
|
# ============================================
|
|
|
|
# Master API key for authentication (also used to log into the dashboard)
|
|
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(32))"
|
|
MASTER_API_KEY=your-secure-key-here
|
|
|
|
# ============================================
|
|
# WORDPRESS SITES
|
|
# ============================================
|
|
# Pattern: WORDPRESS_{SITE_ID}_{CONFIG_KEY}
|
|
# Add as many sites as you want (SITE1, SITE2, SITE3, ...)
|
|
#
|
|
# How to create a WordPress Application Password:
|
|
# 1. Log into WordPress admin → Users → Your Profile
|
|
# 2. Scroll to "Application Passwords" section
|
|
# 3. Enter name "MCP Hub" → click "Add New"
|
|
# 4. Copy the generated password (format: xxxx xxxx xxxx xxxx)
|
|
|
|
WORDPRESS_SITE1_URL=https://your-site.com
|
|
WORDPRESS_SITE1_USERNAME=admin
|
|
WORDPRESS_SITE1_APP_PASSWORD=xxxx xxxx xxxx xxxx
|
|
WORDPRESS_SITE1_ALIAS=mysite
|
|
|
|
# Optional: Docker container name for WP-CLI tools (cache flush, transients, etc.)
|
|
# Find with: docker ps --filter name=wordpress
|
|
# WORDPRESS_SITE1_CONTAINER=wordpress-container-name
|
|
|
|
# Second site example (uncomment to use):
|
|
# WORDPRESS_SITE2_URL=https://another-site.com
|
|
# WORDPRESS_SITE2_USERNAME=admin
|
|
# WORDPRESS_SITE2_APP_PASSWORD=yyyy yyyy yyyy yyyy
|
|
# WORDPRESS_SITE2_ALIAS=blog
|
|
|
|
# ============================================
|
|
# WOOCOMMERCE STORES
|
|
# ============================================
|
|
# Pattern: WOOCOMMERCE_{STORE_ID}_{CONFIG_KEY}
|
|
# WooCommerce is a separate plugin — uses Consumer Key/Secret, not App Passwords.
|
|
#
|
|
# Create keys: WooCommerce → Settings → Advanced → REST API → Add Key
|
|
|
|
# WOOCOMMERCE_STORE1_URL=https://your-store.com
|
|
# WOOCOMMERCE_STORE1_CONSUMER_KEY=ck_xxxxx
|
|
# WOOCOMMERCE_STORE1_CONSUMER_SECRET=cs_xxxxx
|
|
# WOOCOMMERCE_STORE1_ALIAS=mystore
|
|
|
|
# ============================================
|
|
# OTHER PLUGINS (uncomment to use)
|
|
# ============================================
|
|
# All plugins auto-discover their environment variables at startup.
|
|
# Pattern: {PLUGIN_TYPE}_{INSTANCE_ID}_{CONFIG_KEY}
|
|
|
|
# --- Gitea ---
|
|
# GITEA_REPO1_URL=https://git.example.com
|
|
# GITEA_REPO1_TOKEN=your_gitea_token
|
|
# GITEA_REPO1_ALIAS=mygitea
|
|
|
|
# --- n8n ---
|
|
# N8N_INSTANCE1_URL=https://n8n.example.com
|
|
# N8N_INSTANCE1_API_KEY=your_n8n_api_key
|
|
# N8N_INSTANCE1_ALIAS=myn8n
|
|
|
|
# --- Supabase ---
|
|
# SUPABASE_PROJECT1_URL=https://xxxxx.supabase.co
|
|
# SUPABASE_PROJECT1_API_KEY=your_supabase_api_key
|
|
# SUPABASE_PROJECT1_SERVICE_ROLE=your_service_role_key
|
|
# SUPABASE_PROJECT1_ALIAS=mysupabase
|
|
|
|
# --- OpenPanel ---
|
|
# OPENPANEL_INSTANCE1_URL=https://openpanel.example.com
|
|
# OPENPANEL_INSTANCE1_CLIENT_ID=your_client_id
|
|
# OPENPANEL_INSTANCE1_CLIENT_SECRET=your_client_secret
|
|
# OPENPANEL_INSTANCE1_ALIAS=myopenpanel
|
|
|
|
# --- Appwrite ---
|
|
# APPWRITE_PROJECT1_URL=https://appwrite.example.com
|
|
# APPWRITE_PROJECT1_API_KEY=your_appwrite_api_key
|
|
# APPWRITE_PROJECT1_PROJECT_ID=your_project_id
|
|
# APPWRITE_PROJECT1_ALIAS=myappwrite
|
|
|
|
# --- Directus ---
|
|
# DIRECTUS_INSTANCE1_URL=https://directus.example.com
|
|
# DIRECTUS_INSTANCE1_TOKEN=your_directus_token
|
|
# DIRECTUS_INSTANCE1_ALIAS=mydirectus
|
|
|
|
# ============================================
|
|
# OAUTH (optional — for ChatGPT/Claude auto-registration)
|
|
# ============================================
|
|
# Only needed if you want ChatGPT or Claude to auto-register via OAuth.
|
|
# For local testing with API key auth, you can skip these.
|
|
|
|
# OAUTH_JWT_SECRET_KEY=your-jwt-secret
|
|
# OAUTH_BASE_URL=https://your-public-domain.com
|
|
|
|
# ============================================
|
|
# ADVANCED (optional — defaults are fine)
|
|
# ============================================
|
|
|
|
# Logging
|
|
LOG_LEVEL=INFO
|
|
|
|
# Rate limits (per client)
|
|
# RATE_LIMIT_PER_MINUTE=60
|
|
# RATE_LIMIT_PER_HOUR=1000
|
|
# RATE_LIMIT_PER_DAY=10000
|