Compose czyta .env obok compose.yaml. Skopiuj platform.env do .env, ustaw MCP_DOMAIN i zmieniaj inne opcje tylko wtedy,
gdy trzeba. Hasła, klucze i certyfikaty wewnątrz platformy są generowane przy pierwszym starcie i trzymane w wolumenach Dockera.
Nie należą do .env. Po zmianie uruchom docker compose up -d.
| Opcja |
Domyślnie |
Opis |
MCP_DOMAIN |
brak, wymagana |
Nazwa, którą użytkownicy wpisują w przeglądarce i w kliencie AI, małymi literami. Certyfikat w certs/tls.crt musi ją zawierać. |
MCP_ADMIN_USERNAME |
mcp-admin |
Pierwszy administrator platformy (grupa mcp-platform-admin). Hasło początkowe jest generowane: docker compose run --rm init show admin-password. |
MCP_CERTS_DIR |
./certs |
Katalog z tls.crt, tls.key i, jeśli trzeba, company-ca.crt. |
MCP_HTTPS_PORT |
443 |
Port https publikowany przez nginx. |
MCP_HTTP_PORT |
80 |
Port http publikowany przez nginx. Przekierowuje na https. |
MCP_BIND |
0.0.0.0 |
Adres, pod którym nginx publikuje oba porty. Do testu lokalnego użyj 127.0.0.1. |
MCP_PUBLIC_ORIGIN |
https://<MCP_DOMAIN> |
Ustaw tylko wtedy, gdy port https nie jest 443: https://<domena>:<port>. To adres widoczny dla użytkowników. Bez niego adresy rozdawane przez platformę i przekierowanie z portu 80 tracą port. |
MCP_CLAUDE_CODE_CALLBACK_PORT |
33418 |
Port, na którym Claude Code nasłuchuje wywołania zwrotnego logowania. Portal pokazuje go w poleceniu dla użytkowników. |
MCP_SERVER_TRUSTED_CAS_FILE |
pusta |
Plik PEM na hoście z CA, które podpisują certyfikaty serwerów MCP na innych hostach. Gateway ufa im oprócz publicznych CA i certs/company-ca.crt. Serwer, którego certyfikat łączy się z jednym z nich, dla nazwy z jego adresu, jest zaufany jako ca, a odnowienia nie wymagają zatwierdzenia. Pozostałe serwery są przypięte po odcisku. |
MCP_GATEWAY_VERSION |
2.0.1 |
Wersja obrazu gatewaya. |
MCP_BROKER_VERSION |
2.0.0 |
Wersja obrazu brokera poświadczeń. |
MCP_PORTAL_VERSION |
2.0.1 |
Wersja obrazu portalu. |
MCP_REGISTRY |
ghcr.io/aiwcorpo |
Rejestr z mcp-gateway, mcp-credential-broker, mcp-portal i serwerami MCP. |
MCP_THIRD_PARTY_REGISTRY |
pusta (Docker Hub i quay.io) |
Rejestr z postgres, redis, nginx, eclipse-temurin, keycloak i openbao pod ich zwykłymi nazwami. |
PULL_POLICY |
missing |
Polityka pobierania obrazów w Compose. Użyj never, gdy obrazy są załadowane ręcznie. |
GATEWAY_MEM_LIMIT |
2g |
Limit pamięci gatewaya. |
BROKER_MEM_LIMIT |
1g |
Limit pamięci brokera. |
PORTAL_MEM_LIMIT |
1g |
Limit pamięci portalu. |
KEYCLOAK_MEM_LIMIT |
2g |
Limit pamięci Keycloaka. |
| Zmienna |
Zastosowanie |
COMPOSE_PROJECT_NAME |
Zmienia nazwę projektu, a z nią prefiks wolumenów i sieci (domyślnie mcp-platform). Używana w Instalacji lokalnej. |
COMPOSE_FILE |
Dodaje pliki, na przykład compose.yaml:servers.yaml dla serwera w tym samym Dockerze albo compose.yaml:compose.offline.yaml dla instalacji offline. Na Windows separatorem jest ;. |
COMPOSE_PROFILES |
Włącza profile. stub uruchamia atrapę systemu docelowego ze stosu testowego. |
| Plik |
Zastosowanie |
certs/ |
Certyfikat, klucz i firmowe CA. Po odnowieniu certyfikatu uruchom docker compose up -d, a potem docker compose restart nginx. |
nginx/keycloak-admin-allow.conf |
Sieci, które mogą otwierać konsole Keycloaka (domyślnie allow all;). Po zmianie uruchom docker compose restart nginx. |
keycloak/realm-mcp.json |
Realm. Jest importowany tylko wtedy, gdy realm nie istnieje. Późniejsze zmiany nie trafiają do istniejącego realmu: wprowadź je w konsoli Keycloaka. |
servers.yaml (z servers.example.yaml) |
Serwer MCP działający w Dockerze samej platformy. |
Pakiet ustawia opcje gatewaya, brokera, portalu i Keycloaka w compose.yaml, z wartości powyżej. Reszty pakiet nie udostępnia.
Samodzielne instalacje komponentów opisują wszystkie ich opcje w katalogu deploy/ każdego repozytorium:
Nazwy tam (MCP_* dla gatewaya i brokera, PORTAL_* dla portalu) są takie same jak w blokach environment: w compose.yaml.
Opcję, której pakiet nie udostępnia, dodaj w compose.override.yaml obok compose.yaml. Compose czyta ten plik sam tylko wtedy,
gdy COMPOSE_FILE nie jest ustawione. W przeciwnym razie dodaj go do COMPOSE_FILE.