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:
- Modo de despliegue — elige Docker (recomendado)
- Dominio y puertos — introduce tu dominio para habilitar automáticamente HTTPS a través de Caddy
- Autenticación MCP — OAuth 2.0, clave API, o ambos
- Email (SMTP) — opcional, para verificación y restablecimiento de contraseña
- 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
.envcon secretos aleatorios seguros - Crea un
Caddyfilepara 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 --buildpara 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?