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 teamUpdated 2 min read Open source on GitHub

No credit card · 7-day trial · Self-host alternative available

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

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?

Ready to ship

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