Plataforma de despliegue para servidores MCP y sitios integrada en el catálogo
El autor de Unyly, un catálogo de servidores MCP, ha añadido una plataforma de despliegue completa, que permite a los usuarios desplegar repositorios de GitHub como sitios web o servidores MCP en un subdominio. El sistema genera automáticamente Dockerfiles, ejecuta contenedores con limitaciones y gestiona enrutamiento, comprobaciones de salud y despliegues automáticos mediante webhooks. El artículo detalla la arquitectura y comparte los problemas encontrados durante el desarrollo.
El autor construyó anteriormente un catálogo de servidores MCP en Habr, que agregaba 80 mil entradas de nueve fuentes. Los usuarios preguntaban dónde ejecutar los servidores, ya que muchos son repositorios de GitHub que requieren configuración y alojamiento. Para abordar esto, el autor añadió una sección de despliegue a Unyly, que permite a los usuarios conectar un repositorio de GitHub y obtener un proyecto en vivo en slug.unyly.org con reconstrucción automática al hacer push. Soporta sitios estáticos, builds de frontend, Next.js y servidores MCP en Node y Python. El flujo de despliegue implica un webhook de GitHub a una API de Next.js con verificación HMAC, encolado en SQLite, un trabajador que clona el repositorio, genera un Dockerfile según el tipo de proyecto, construye y ejecuta el contenedor con límites de recursos, y un proxy inverso en el puerto 3900 que enruta por el encabezado Host. El proxy y el trabajador son procesos separados bajo pm2 para evitar bloqueos. La generación de Dockerfile incluye recetas para servidores MCP de Node (envueltos en supergateway para HTTP), servidores MCP de Python, sitios estáticos, builds de frontend y Next.js. Los contenedores se ejecutan con límites de memoria, CPU y procesos, y se eliminan capacidades excepto para sitios nginx. Los healthchecks verifican el estado HTTP para sitios y realizan una inicialización JSON-RPC real para servidores MCP. El enrutamiento utiliza un server_name regex con lookahead negativo para excluir subdominios de servicio. El auto-despliegue incluye vistas previas de pull requests que se construyen y limpian automáticamente. La consola de gestión está en deploy.unyly.org, con un plan gratuito que permite un proyecto y Pro diez. El autor comparte trampas: el build de Docker síncrono bloquea el event loop, printf en Dockerfile rompe nginx, el subdominio comodín captura subdominios de administración, problemas de cookies entre subdominios resueltos con un puente SSO, y la necesidad de envolver servidores stdio porque no se pueden acceder por HTTP sin ello.
Fuente: Habr — хаб ИИ —
original
