Back to Guides

Distribuire AnythingMCP con Docker Compose

Guida passo passo per distribuire AnythingMCP su qualsiasi server Linux utilizzando Docker Compose, con SSL automatico tramite il reverse proxy Caddy.

Prerequisiti

Prima di iniziare, assicurati che il tuo server disponga di:

  • Docker e Docker Compose installati
  • Porte 80 e 443 aperte (se si utilizza HTTPS)
  • Un nome di dominio che punta al tuo server (opzionale, necessario per SSL)

Clonare ed eseguire la configurazione

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

La procedura guidata interattiva ti accompagnerà attraverso:

  1. Modalità di distribuzione — scegli Docker (consigliato)
  2. Dominio e porte — inserisci il tuo dominio per abilitare automaticamente HTTPS tramite Caddy
  3. Autenticazione MCP — OAuth 2.0, chiave API o entrambi
  4. Email (SMTP) — opzionale, per verifica e reimpostazione password
  5. Redis — opzionale, per limitazione della frequenza e caching

Tutti i segreti (JWT, chiave di crittografia, password del database) vengono generati automaticamente.

Cosa fa setup.sh

Lo script gestisce l'intera pipeline di distribuzione:

  • Genera .env con segreti casuali sicuri
  • Crea un Caddyfile per SSL automatico Let's Encrypt (quando viene fornito un dominio)
  • Aggiunge opzionalmente Redis tramite docker-compose.override.yml
  • Esegue docker compose up -d --build per avviare tutti i servizi

L'applicazione funziona come un singolo container con backend NestJS (porta 4000) e frontend Next.js (porta 3000), insieme a PostgreSQL 17.

HTTPS con Caddy

Quando inserisci un dominio reale durante la configurazione, Caddy viene configurato automaticamente:

  • Le porte dell'app si collegano solo a 127.0.0.1 (non esposte pubblicamente)
  • Caddy gestisce tutto il traffico sulle porte 80 e 443
  • I certificati SSL vengono forniti e rinnovati da Let's Encrypt

Nessuna gestione manuale dei certificati necessaria.

Verifica della distribuzione

Verifica che tutti i container siano in esecuzione:

docker compose ps

Verifica lo stato del backend:

curl http://localhost:4000/health

Apri la dashboard:

  • Con Caddy: https://yourdomain.com
  • Senza Caddy: http://your-server-ip:3000

Il primo utente a registrarsi diventa l'amministratore.

Aggiornamento di AnythingMCP

git pull
docker compose up -d --build

Le migrazioni del database vengono eseguite automaticamente all'avvio.

Risoluzione dei problemi

Conflitti di porta

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

Ferma i servizi in conflitto o disabilita Caddy per accedere all'app direttamente sulle porte 3000/4000.

Problemi con il database

Se hai modificato le credenziali in .env, reimposta il volume del database:

docker compose down -v
docker compose up -d

Controllo dei log

docker compose logs -f        # tutti i servizi
docker compose logs -f app    # solo l'app
docker compose logs -f caddy  # solo caddy

Problemi con i certificati Caddy

Assicurati che il record A del tuo dominio punti al server e che le porte 80/443 siano raggiungibili per la verifica ACME.