Deployment guide2-minute readEN · DE · IT

Desplegar AnythingMCP con Docker Compose

Guía paso a paso para desplegar AnythingMCP en cualquier servidor Linux utilizando Docker Compose, con SSL automático a través de un proxy inverso Caddy.

HCBy HelpCode teamActualizado 2 min read Código abierto en GitHub

Sin tarjeta de crédito · 7 días de prueba · Alternativa self-host disponible

  • Prueba gratis de 7 días
    Sin tarjeta de crédito
  • GDPR & SOC 2 ready
    Datos en la UE, registros de auditoría
  • Código abierto en GitHub
    Open source · AGPL-3.0
  • Funciona con ChatGPT, Claude, Gemini
    Cualquier cliente compatible con MCP

Summary

Guía paso a paso para desplegar AnythingMCP en cualquier servidor Linux utilizando Docker Compose, con SSL automático a través de un proxy inverso Caddy.

Requisitos Previos

Antes de comenzar, asegúrate de que tu servidor tenga:

  • Docker y Docker Compose instalados
  • Puertos 80 y 443 abiertos (si usas HTTPS)
  • Un nombre de dominio apuntando a tu servidor (opcional, requerido para SSL)

Clonar y Ejecutar la Configuración

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

El asistente interactivo te guiará a través de:

  1. Modo de despliegue — elige Docker (recomendado)
  2. Dominio y puertos — introduce tu dominio para habilitar automáticamente HTTPS a través de Caddy
  3. Autenticación MCP — OAuth 2.0, clave API, o ambos
  4. Email (SMTP) — opcional, para verificación y restablecimiento de contraseña
  5. Redis — opcional, para limitación de tasa y almacenamiento en caché

Todos los secretos (JWT, clave de cifrado, contraseña de la base de datos) se generan automáticamente.

Qué Hace setup.sh

El script maneja todo el pipeline de despliegue:

  • Genera .env con secretos aleatorios seguros
  • Crea un Caddyfile para SSL automático de Let's Encrypt (cuando se proporciona un dominio)
  • Opcionalmente añade Redis a través de docker-compose.override.yml
  • Ejecuta docker compose up -d --build para iniciar todos los servicios

La aplicación se ejecuta como un único contenedor con backend NestJS (puerto 4000) y frontend Next.js (puerto 3000), junto con PostgreSQL 17.

HTTPS con Caddy

Cuando introduces un dominio real durante la configuración, Caddy se configura automáticamente:

  • Los puertos de la aplicación se vinculan solo a 127.0.0.1 (no expuestos públicamente)
  • Caddy maneja todo el tráfico en los puertos 80 y 443
  • Los certificados SSL son provisionados y renovados por Let's Encrypt

No se requiere gestión manual de certificados.

Verificando el Despliegue

Verifica que todos los contenedores estén en ejecución:

docker compose ps

Verifica la salud del backend:

curl http://localhost:4000/health

Abre el panel de control:

  • Con Caddy: https://tudominio.com
  • Sin Caddy: http://tu-ip-del-servidor:3000

El primer usuario en registrarse se convierte en el administrador.

Actualizando AnythingMCP

git pull
docker compose up -d --build

Las migraciones de la base de datos se ejecutan automáticamente al iniciar.

Solución de Problemas

Conflictos de Puertos

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

Detén los servicios en conflicto o desactiva Caddy para acceder a la aplicación directamente en los puertos 3000/4000.

Problemas de Base de Datos

Si cambiaste las credenciales en .env, restablece el volumen de la base de datos:

docker compose down -v
docker compose up -d

Comprobando Registros

docker compose logs -f        # todos los servicios
docker compose logs -f app    # solo la app
docker compose logs -f caddy  # solo caddy

Problemas con Certificados de Caddy

Asegúrate de que el registro A de tu dominio apunte al servidor y que los puertos 80/443 sean accesibles para el desafío ACME.

¿Te ha sido útil esta guía?

Ship MCP to your stack in 60 seconds.

Spin up AnythingMCP on managed Cloud or self-host it on your infrastructure. Free for 7 days, no credit card.

Guías relacionadas