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:
- Bereitstellungsmodus — wählen Sie Docker (empfohlen)
- Domain & Ports — geben Sie Ihre Domain ein, um HTTPS über Caddy automatisch zu aktivieren
- MCP-Authentifizierung — OAuth 2.0, API-Schlüssel oder beides
- E-Mail (SMTP) — optional, für Verifizierung und Passwort-Zurücksetzung
- 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
.envmit sicheren Zufallsgeheimnissen - Erstellt ein
Caddyfilefür automatisches Let's Encrypt SSL (wenn eine Domain angegeben wird) - Fügt optional Redis über
docker-compose.override.ymlhinzu - Führt
docker compose up -d --buildaus, 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.