diff --git a/env.example b/env.example new file mode 100644 index 0000000..ac2ed2e --- /dev/null +++ b/env.example @@ -0,0 +1,120 @@ +# =================================== +# 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