Przejdź do głównej zawartości

Instalacja platformy

Platforma to jeden projekt Compose: gateway, broker poświadczeń, portal, Keycloak i OpenBao z bazami, za nginx. Najpierw sprawdź wymagania. Test na jednym komputerze bez domeny: Instalacja lokalna. Host bez dostępu do rejestrów: pakiety offline.

  1. Pobierz pakiet:

    Okno terminala
    git clone https://github.com/aiwcorpo/mcp-platform.git
    cd mcp-platform
  2. Skopiuj łańcuch certyfikatów i klucz do certs/ jako tls.crt i tls.key.

  3. Jeśli certyfikat podpisało firmowe CA, skopiuj certyfikat tego CA do certs/company-ca.crt.

  4. Skopiuj szablon środowiska:

    Okno terminala
    cp platform.env .env
  5. Otwórz .env i ustaw domenę:

    Okno terminala
    MCP_DOMAIN=mcp.corp.test

    Jeśli https działa na porcie innym niż 443, ustaw też MCP_PUBLIC_ORIGIN=https://<domena>:<port> i MCP_HTTPS_PORT. Bez MCP_PUBLIC_ORIGIN adresy, które platforma rozdaje, tracą port. Wszystkie opcje: Konfiguracja.

  6. Uruchom platformę:

    Okno terminala
    docker compose up -d

    Pierwszy start trwa kilka minut: gateway i broker czekają na Keycloak i OpenBao. W tym czasie gateway-init może wypisać warn broker ...: connection refused. To normalne.

  7. Przeczytaj log usługi init:

    Okno terminala
    docker compose logs init

    Oczekiwana ostatnia linia: ok configuration, certificates and secrets are in place. init działa przed każdym startem. Sprawdza, czy certyfikat zawiera domenę, czy klucz do niego pasuje i czy łańcuch się weryfikuje. Gdy coś jest nie tak, zatrzymuje start i podaje powód.

  8. Wypisz hasło początkowe pierwszego administratora:

    Okno terminala
    docker compose run --rm init show admin-password

    Administrator to mcp-admin (MCP_ADMIN_USERNAME). Hasło nigdy nie trafia do logu.

  9. Otwórz https://<domena>/auth/realms/mcp/account i zaloguj się jako mcp-admin. Keycloak poprosi o nowe hasło (co najmniej 12 znaków) i o ustawienie OTP w aplikacji uwierzytelniającej.

  10. Otwórz https://<domena>/. To portal. Strony administracji proszą o świeże logowanie z OTP.

  1. Sprawdź, czy każda usługa działa lub jest zdrowa:

    Okno terminala
    docker compose ps
  2. Sprawdź, czy gateway odpowiada przez nginx:

    Okno terminala
    curl -fsS https://<domena>/.well-known/mcp-jwks.json

    Oczekiwany wynik: dokument JSON z polem keys. Gdy certyfikat pochodzi z firmowego CA, dodaj --cacert certs/company-ca.crt.

Drugie docker compose up -d niczego nie zmienia: init zachowuje każdą wygenerowaną wartość.

Realm master ma konto administratora startowego na wypadek awarii. Hasło wypiszesz poleceniem:

Okno terminala
docker compose run --rm init show keycloak-admin

Zaloguj się nim raz, zaraz po instalacji, i ustaw jego OTP w konsoli https://<domena>/auth/admin/master/console/. OTP ustawia ten, kto pierwszy zaloguje się hasłem startowym. Administratorzy platformy (grupa mcp-platform-admin) zarządzają użytkownikami i grupami w konsoli realmu mcp, https://<domena>/auth/admin/mcp/console/, własnym kontem i OTP.

Domyślnie obie konsole są dostępne z każdej sieci. Aby to zawęzić, edytuj nginx/keycloak-admin-allow.conf: zamień allow all; na po jednej linii allow <sieć>; dla każdej sieci, a potem deny all;, i uruchom docker compose restart nginx.

  1. Dodaj systemy i serwery, z którymi połączą się użytkownicy: Serwery i Systemy.
  2. Utwórz użytkowników i grupy: Dostęp.
  3. Skonfiguruj kopię zapasową: Kopia zapasowa.

Zobacz Rozwiązywanie problemów. Najczęstsze przyczyny to certyfikat bez nazwy domeny i brak MCP_DOMAIN w .env.