Back to Guides

AnythingMCP mit Docker Compose bereitstellen

Schritt-für-Schritt-Anleitung zur Bereitstellung von AnythingMCP auf einem beliebigen Linux-Server mit Docker Compose und automatischem SSL über Caddy-Reverse-Proxy.

Voraussetzungen

Stellen Sie vor dem Start sicher, dass Ihr Server über Folgendes verfügt:

  • Docker und Docker Compose installiert
  • Ports 80 und 443 geöffnet (bei Verwendung von HTTPS)
  • Ein Domainname, der auf Ihren Server zeigt (optional, erforderlich für SSL)

Klonen und Setup ausführen

git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp
bash setup.sh

Der interaktive Assistent führt Sie durch:

  1. Bereitstellungsmodus — wählen Sie Docker (empfohlen)
  2. Domain & Ports — geben Sie Ihre Domain ein, um HTTPS über Caddy automatisch zu aktivieren
  3. MCP-Authentifizierung — OAuth 2.0, API-Schlüssel oder beides
  4. E-Mail (SMTP) — optional, für Verifizierung und Passwort-Zurücksetzung
  5. Redis — optional, für Ratenbegrenzung und Caching

Alle Geheimnisse (JWT, Verschlüsselungsschlüssel, Datenbank-Passwort) werden automatisch generiert.

Was setup.sh macht

Das Skript übernimmt die gesamte Bereitstellungspipeline:

  • Generiert .env mit sicheren Zufallsgeheimnissen
  • Erstellt ein Caddyfile für automatisches Let's Encrypt SSL (wenn eine Domain angegeben wird)
  • Fügt optional Redis über docker-compose.override.yml hinzu
  • Führt docker compose up -d --build aus, um alle Dienste zu starten

Die Anwendung läuft als einzelner Container mit NestJS-Backend (Port 4000) und Next.js-Frontend (Port 3000), zusammen mit PostgreSQL 17.

HTTPS mit Caddy

Wenn Sie während des Setups eine echte Domain eingeben, wird Caddy automatisch konfiguriert:

  • App-Ports binden nur an 127.0.0.1 (nicht öffentlich erreichbar)
  • Caddy verarbeitet den gesamten Datenverkehr auf den Ports 80 und 443
  • SSL-Zertifikate werden von Let's Encrypt bereitgestellt und erneuert

Keine manuelle Zertifikatsverwaltung erforderlich.

Bereitstellung überprüfen

Prüfen Sie, ob alle Container laufen:

docker compose ps

Überprüfen Sie den Backend-Zustand:

curl http://localhost:4000/health

Öffnen Sie das Dashboard:

  • Mit Caddy: https://yourdomain.com
  • Ohne Caddy: http://your-server-ip:3000

Der erste Benutzer, der sich registriert, wird zum Administrator.

AnythingMCP aktualisieren

git pull
docker compose up -d --build

Datenbankmigrationen werden beim Start automatisch ausgeführt.

Fehlerbehebung

Port-Konflikte

sudo lsof -i :80
sudo lsof -i :443

Stoppen Sie konfliktverursachende Dienste oder deaktivieren Sie Caddy, um die App direkt auf den Ports 3000/4000 zu erreichen.

Datenbankprobleme

Wenn Sie Anmeldedaten in .env geändert haben, setzen Sie das Datenbank-Volume zurück:

docker compose down -v
docker compose up -d

Logs prüfen

docker compose logs -f        # alle Dienste
docker compose logs -f app    # nur App
docker compose logs -f caddy  # nur Caddy

Caddy-Zertifikatsprobleme

Stellen Sie sicher, dass der A-Eintrag Ihrer Domain auf den Server zeigt und die Ports 80/443 für die ACME-Challenge erreichbar sind.