From b6551abe0a0a966092c797a5199de1dc0119666a Mon Sep 17 00:00:00 2001 From: airano Date: Thu, 19 Feb 2026 02:46:53 +0330 Subject: [PATCH] docs: clarify OAuth as optional, document CONTAINER env var - docker-compose: OAuth vars commented out by default - env.example: added WordPress Advanced section with CONTAINER docs - DOCKER_README: added CONTAINER to env var table with usage notes Co-Authored-By: Claude Opus 4.6 --- DOCKER_README.md | 9 +++++++-- docker-compose.yaml | 21 ++++++++------------- env.example | 17 ++++++++++++++++- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/DOCKER_README.md b/DOCKER_README.md index ac4e66f..fedc345 100644 --- a/DOCKER_README.md +++ b/DOCKER_README.md @@ -143,8 +143,13 @@ docker compose up -d | `WORDPRESS_SITE1_USERNAME` | For WP | WordPress admin username | | `WORDPRESS_SITE1_APP_PASSWORD` | For WP | WordPress Application Password | | `WORDPRESS_SITE1_ALIAS` | Recommended | Friendly name (e.g., `myblog`) | -| `OAUTH_JWT_SECRET_KEY` | For OAuth | JWT secret for ChatGPT/Claude auto-registration | -| `OAUTH_BASE_URL` | For OAuth | Public URL of your server | +| `WORDPRESS_SITE1_CONTAINER` | For WP-CLI | Docker container name of your WordPress site (enables cache/db/system tools) | +| `OAUTH_JWT_SECRET_KEY` | For OAuth | JWT secret for ChatGPT auto-registration (not needed for Claude/Cursor) | +| `OAUTH_BASE_URL` | For OAuth | Public URL of your server (not needed for Claude/Cursor) | + +> **CONTAINER**: Required for WP-CLI tools (cache flush, database export, system info) and **all** WordPress Advanced tools. Find your container name: `docker ps --filter name=wordpress`. Also requires Docker socket mount. + +> **OAuth**: Only needed for ChatGPT Remote MCP auto-registration. For Claude Desktop, Claude Code, Cursor, and VS Code — just use `MASTER_API_KEY` with Bearer token auth. Add more sites with `SITE2`, `SITE3`, etc. See [full configuration guide](https://github.com/airano-ir/mcphub/blob/main/docs/getting-started.md). diff --git a/docker-compose.yaml b/docker-compose.yaml index 647b261..4efeb8d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -36,22 +36,17 @@ services: - LOG_LEVEL=${LOG_LEVEL:-INFO} - PYTHONUNBUFFERED=1 - # === OAuth 2.1 Configuration === - # Required for OAuth authentication - - OAUTH_JWT_SECRET_KEY=${OAUTH_JWT_SECRET_KEY} - - OAUTH_JWT_ALGORITHM=${OAUTH_JWT_ALGORITHM:-HS256} - - OAUTH_ACCESS_TOKEN_TTL=${OAUTH_ACCESS_TOKEN_TTL:-3600} - - OAUTH_REFRESH_TOKEN_TTL=${OAUTH_REFRESH_TOKEN_TTL:-604800} + # === OAuth 2.1 (OPTIONAL) === + # Only needed for ChatGPT auto-registration or third-party OAuth clients. + # For Claude Desktop/Code/Cursor with Bearer token auth, skip these entirely. + # - OAUTH_JWT_SECRET_KEY=${OAUTH_JWT_SECRET_KEY} + # - OAUTH_BASE_URL=${OAUTH_BASE_URL} + # - OAUTH_JWT_ALGORITHM=${OAUTH_JWT_ALGORITHM:-HS256} + # - OAUTH_ACCESS_TOKEN_TTL=${OAUTH_ACCESS_TOKEN_TTL:-3600} + # - OAUTH_REFRESH_TOKEN_TTL=${OAUTH_REFRESH_TOKEN_TTL:-604800} - OAUTH_STORAGE_TYPE=${OAUTH_STORAGE_TYPE:-json} - OAUTH_STORAGE_PATH=${OAUTH_STORAGE_PATH:-/app/data} - # OAuth Authorization Security - # IMPORTANT: API Key is always required for authorization (OAuth manual mode) - # Use 'required' (recommended) to enforce API Key authentication - - OAUTH_AUTH_MODE=${OAUTH_AUTH_MODE:-required} - # OAUTH_TRUSTED_DOMAINS is deprecated - API Key always required for security - - OAUTH_BASE_URL=${OAUTH_BASE_URL} - # === WordPress Projects === # Configure WordPress sites in Coolify environment variables # Format: WORDPRESS_{SITE_ID}_{CONFIG_KEY} diff --git a/env.example b/env.example index ac2ed2e..368c471 100644 --- a/env.example +++ b/env.example @@ -37,7 +37,8 @@ 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 +# Find your container name with: docker ps --filter name=wordpress +# This lets MCP Hub run wp-cli commands inside your WordPress container. # WORDPRESS_SITE1_CONTAINER=wordpress-container-name # Second site example (uncomment to use): @@ -46,6 +47,20 @@ WORDPRESS_SITE1_ALIAS=mysite # WORDPRESS_SITE2_APP_PASSWORD=yyyy yyyy yyyy yyyy # WORDPRESS_SITE2_ALIAS=blog +# ============================================ +# WORDPRESS ADVANCED (database, bulk, system) +# ============================================ +# Pattern: WORDPRESS_ADVANCED_{SITE_ID}_{CONFIG_KEY} +# Provides database operations, bulk operations, and system management. +# REQUIRES Docker socket AND container name — all tools use WP-CLI. +# +# Uses the same credentials as WordPress, but the CONTAINER key is REQUIRED. +# WORDPRESS_ADVANCED_SITE1_URL=https://your-site.com +# WORDPRESS_ADVANCED_SITE1_USERNAME=admin +# WORDPRESS_ADVANCED_SITE1_APP_PASSWORD=xxxx xxxx xxxx xxxx +# WORDPRESS_ADVANCED_SITE1_CONTAINER=wordpress-container-name +# WORDPRESS_ADVANCED_SITE1_ALIAS=mysite-advanced + # ============================================ # WOOCOMMERCE STORES # ============================================