- Added update_webhook and delete_label tools (58 total Gitea tools) - 97 unit tests (test_gitea_plugin.py) - Gitea now public for all users (DEFAULT_PUBLIC_PLUGINS) - Fixed merge_pull_request optional field handling Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
106 lines
4.0 KiB
Plaintext
106 lines
4.0 KiB
Plaintext
# ===================================
|
|
# MCP Hub — Environment Configuration
|
|
# ===================================
|
|
#
|
|
# MINIMUM TO START: Set MASTER_API_KEY, then add sites via the web dashboard.
|
|
# 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
|
|
|
|
# Encryption key for user credentials (REQUIRED for Live Platform / Track E)
|
|
# Generate with: python -c "import os, base64; print(base64.b64encode(os.urandom(32)).decode())"
|
|
ENCRYPTION_KEY=
|
|
|
|
# Dashboard session secret (REQUIRED for production)
|
|
# Generate with: python -c "import secrets; print(secrets.token_hex(32))"
|
|
DASHBOARD_SESSION_SECRET=
|
|
|
|
# ============================================
|
|
# PLUGIN VISIBILITY (Track F.1)
|
|
# ============================================
|
|
# Comma-separated list of plugins visible to public (OAuth) users.
|
|
# Admin users always see all plugins regardless of this setting.
|
|
# Default (if not set): wordpress,woocommerce,supabase,openpanel,gitea
|
|
# ENABLED_PLUGINS=wordpress,woocommerce,supabase,openpanel,gitea
|
|
|
|
# ============================================
|
|
# ADMIN SYSTEM (Track F.4)
|
|
# ============================================
|
|
# Comma-separated list of emails that get admin role on OAuth login.
|
|
# These users see the full admin dashboard (projects, API keys, health, etc.)
|
|
# If not set, OAuth users only get the standard user dashboard.
|
|
# ADMIN_EMAILS=admin@example.com,boss@company.com
|
|
|
|
# Disable Master Key login to the web dashboard (default: false).
|
|
# When true, only OAuth users (with admin email) can access admin dashboard.
|
|
# Master Key still works for MCP endpoints — only dashboard login is affected.
|
|
# DISABLE_MASTER_KEY_LOGIN=false
|
|
|
|
# ============================================
|
|
# SITES
|
|
# ============================================
|
|
# Sites are managed via the web dashboard (DB-based).
|
|
# After starting the server, open the dashboard to add sites:
|
|
# http://localhost:8000/dashboard
|
|
#
|
|
# Supported plugins: WordPress, WooCommerce, Supabase, OpenPanel,
|
|
# Gitea, n8n, Appwrite, Directus, WordPress Advanced
|
|
|
|
# ============================================
|
|
# 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
|
|
|
|
# ============================================
|
|
# OAUTH SOCIAL LOGIN (optional — for user registration)
|
|
# ============================================
|
|
# Enable GitHub and/or Google login for the Live Platform.
|
|
# Create OAuth apps:
|
|
# GitHub: https://github.com/settings/developers → New OAuth App
|
|
# - Callback URL: https://your-domain.com/auth/callback/github
|
|
# Google: https://console.cloud.google.com/apis/credentials → Create OAuth Client
|
|
# - Callback URL: https://your-domain.com/auth/callback/google
|
|
|
|
# GITHUB_CLIENT_ID=
|
|
# GITHUB_CLIENT_SECRET=
|
|
# GOOGLE_CLIENT_ID=
|
|
# GOOGLE_CLIENT_SECRET=
|
|
# PUBLIC_URL=https://mcp.example.com
|
|
# SESSION_EXPIRY_HOURS=168
|
|
|
|
# === SITE MANAGEMENT (E.3) ===
|
|
# MAX_SITES_PER_USER=10
|
|
# USER_RATE_LIMIT_PER_MIN=30
|
|
# USER_RATE_LIMIT_PER_HR=500
|
|
|
|
# ============================================
|
|
# ADVANCED (optional — defaults are fine)
|
|
# ============================================
|
|
|
|
# Logging
|
|
LOG_LEVEL=INFO
|
|
|
|
# Database path (default: data/mcphub.db)
|
|
# DATABASE_PATH=/app/data/mcphub.db
|
|
|
|
# Rate limits (per client)
|
|
# RATE_LIMIT_PER_MINUTE=60
|
|
# RATE_LIMIT_PER_HOUR=1000
|
|
# RATE_LIMIT_PER_DAY=10000
|