[{"data":1,"prerenderedAt":217},["ShallowReactive",2],{"seo-verification":3,"blog-alojar-komodo-en-un-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-alojar-komodo-en-un-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":148,"ctaBody":149,"ctaButton":150,"ctaUrl":151,"relatedPosts":152},191,"alojar-komodo-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"self-host-komodo-vps","self-host-komodo-on-a-vps-multi-server-docker-and-gitops","استضافة-komodo-على-vps-تنسيق-docker-وgitops-للخوادم","Alojar Komodo en un VPS: orquestación Docker y GitOps","Despliegue Komodo en un VPS de ServOrbit para gestionar stacks Docker y pipelines GitOps en múltiples servidores desde un único panel — binario Rust, código abierto.",9,2,false,"2026-07-25T00:00:00+00:00","2026-09-10T13:10:43+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},3,"Despliegue","deploiement","bg-success\u002F10 text-success",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-komodo-vps-poster.svg",{"categorySlug":33,"appSlug":34},"despliegue-de-aplicaciones-devops","komodo","Gestionar Docker en un solo servidor es sencillo. En diez servidores, rápidamente se convierte en caos: diez sesiones SSH, diez archivos compose, ningún historial centralizado. Komodo (GPL-3.0, más de 12.000 estrellas en GitHub, v2.x) resuelve este problema con una arquitectura Core\u002FPeriphery: un único panel de control para orquestar todos sus servidores, disparar despliegues desde Git y registrar cada acción en un log de auditoría. Escrito en Rust, el Core consume menos de 256 MB en reposo — funciona cómodamente en el VPS más pequeño de ServOrbit.",[37,41,51,54,82,85,103,141,144],{"type":38,"title":39,"body":40},"h2","¿Por qué Komodo en lugar de Portainer o Dockge?","Portainer y Dockge son interfaces de un solo servidor: leen el socket Docker local y muestran lo que se ejecuta en esa máquina. En cuanto tiene dos servidores o más, necesita dos pestañas, recordar qué servicio corre en qué máquina y replicar cada cambio manualmente. Komodo supera este límite con su arquitectura Core\u002FPeriphery: el Core es un servidor central que dirige agentes Periphery ligeros en cada máquina. Despliega, reinicia o actualiza cualquier stack desde una única interfaz, con un historial completo de quién hizo qué y cuándo.",{"type":42,"title":43,"items":44},"ul","Lo que Komodo aporta más allá de la gestión de contenedores",[45,46,47,48,49,50],"GitOps nativo — vincule un repositorio Git, defina un Procedure de despliegue y dispárelo automáticamente en cada `git push` mediante webhook HMAC.","Procedures reutilizables — encadene pull de imagen, migración de base de datos, reinicio de stack y notificación de Slack en un único workflow versionable.","Docker Swarm — gestione servicios Swarm, réplicas y actualizaciones progresivas desde la misma interfaz que sus stacks Compose.","Alertas nativas de Slack\u002FDiscord — configure canales de alerta para fallos de despliegue, contenedores detenidos y recursos críticos.","RBAC multiusuario — conceda accesos granulares por rol (viewer, builder, deployer) sin compartir la cuenta de administrador.","API REST completa — automatice despliegues desde su pipeline CI\u002FCD (GitHub Actions, Woodpecker, Forgejo) sin pasar por la interfaz web.",{"type":38,"title":52,"body":53},"La arquitectura Core\u002FPeriphery en la práctica","El Core es el cerebro: almacena la configuración en FerretDB (una capa compatible con MongoDB), expone la interfaz web en el puerto 9120 y recibe los webhooks. Los agentes Periphery son los brazos: cada uno se ejecuta en un servidor objetivo, expone el socket Docker de la máquina al Core a través de un canal cifrado y ejecuta los comandos que el Core le envía. El par de claves asimétricas generado en la inicialización garantiza que solo su Core puede comandar sus agentes — no hay secretos adicionales que gestionar.",{"type":55,"title":56,"steps":57},"steps","Desplegar Komodo en su VPS ServOrbit",[58,61,64,67,70,73,76,79],{"title":59,"body":60},"Contrate el VPS","Un VPS de 1 vCPU \u002F 1 GB RAM con Ubuntu 24.04 LTS es suficiente para el plano de control de Komodo (Core + FerretDB). El Core Rust consume menos de 256 MB en reposo. Si planea ejecutar otros servicios en el mismo VPS, se recomienda 2 GB RAM.",{"title":62,"body":63},"Despliegue desde el marketplace de ServOrbit","En su área de cliente de ServOrbit, vaya a Marketplace → Despliegue de Aplicaciones y DevOps → Komodo y haga clic en Desplegar. Proporcione un nombre de dominio o subdominio — requerido para `KOMODO_HOST`. El playbook genera automáticamente los secretos JWT, el par de claves Core\u002FPeriphery y la contraseña de administrador, luego inicia los servicios.",{"title":65,"body":66},"Inicie sesión y verifique el agente local","Abra `https:\u002F\u002Fsu-dominio.com:9120` e inicie sesión con `admin` y la contraseña mostrada en su área de cliente. En el menú Servers debería ver un servidor llamado 'Local' ya registrado — este es el agente Periphery en el VPS de alojamiento que se conectó automáticamente al arranque. Cambie su contraseña desde la configuración de la cuenta en esta primera sesión.",{"title":68,"body":69},"Conecte un servidor remoto mediante Periphery","En cada VPS adicional a gestionar, instale el agente Periphery: `docker run -d --restart=unless-stopped --network host -v \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock ghcr.io\u002Fmoghtech\u002Fkomodo-periphery:latest`. Luego en Komodo, vaya a Servers → Add Server, introduzca la IP del agente y el puerto 8120. Su flota de servidores aparece inmediatamente en el panel.",{"title":71,"body":72},"Cree su primer stack desde el marketplace","En Komodo, vaya a Stacks → New Stack. Elija el servidor objetivo en el desplegable (Local o cualquier agente añadido), pegue su YAML de Docker Compose o apunte a una ruta de repositorio Git, y haga clic en Deploy. Komodo escribe el archivo en el servidor remoto, ejecuta `docker compose up -d` y transmite los logs en tiempo real.",{"title":74,"body":75},"Configure alertas de Slack o correo electrónico","En Komodo, vaya a Alerters → New Alerter. Elija el tipo (Slack, Discord, correo electrónico) y pegue la URL del webhook o la dirección de destino. Luego asocie el alerter a sus recursos (Stacks, Builds, Servers) a través de la sección Alerts de cada recurso. Recibirá una notificación inmediata ante un fallo de despliegue o un contenedor detenido.",{"title":77,"body":78},"Configure un pipeline GitOps","En su repositorio de GitHub, añada un webhook apuntando a `https:\u002F\u002Fsu-dominio.com\u002Fapi\u002Fwebhook\u002Fkomodo` con el secreto HMAC definido en Komodo. Cree un Procedure llamado 'Deploy App': pull de imagen, reinicio de stack, notificación. Vincule el webhook al Procedure. Cada `git push` dispara ahora el pipeline — la firma HMAC es verificada por Komodo antes de la ejecución.",{"title":80,"body":81},"Integre su CI\u002FCD mediante la API REST","Komodo expone una API REST completa en `\u002Fapi`. Desde GitHub Actions, dispare un despliegue con una llamada `POST \u002Fapi\u002Fexecute\u002Fprocedure\u002F\u003Cnombre>` y el token API de su cuenta de servicio. Esta integración le permite encadenar pruebas, construcción de imagen y despliegue en un único workflow CI sin acceso directo a la máquina.",{"type":38,"title":83,"body":84},"GitOps con webhooks: desplegar en cada push","El ciclo GitOps de Komodo se apoya en tres componentes: un repositorio Git, un webhook HTTP y un Procedure. En GitHub, cree un webhook en Settings → Webhooks, apunte a `https:\u002F\u002Fsu-dominio.com\u002Fapi\u002Fwebhook\u002Fkomodo`, elija el tipo de contenido `application\u002Fjson` y defina un secreto. En Komodo, en la sección Webhooks de un Stack o Procedure, pegue ese mismo secreto — Komodo calcula el HMAC SHA-256 de cada payload entrante y rechaza las solicitudes cuya firma no coincida.\n\nUn Procedure de despliegue típico encadena tres acciones: `PullImage` (descarga la última imagen), `DeployStack` (recrea los contenedores), luego `SendAlert` (notifica su canal de Slack). Si algún paso falla, Komodo detiene el Procedure y envía el error completo a su alerter — nunca termina con un despliegue parcialmente aplicado en silencio.\n\nUn detalle importante: Komodo valida la rama del push contra la rama configurada en el Stack antes de disparar. Un push a una rama de feature no disparará un despliegue de producción, aunque el webhook apunte a la misma URL. Configure un Stack por entorno (staging en `dev`, producción en `main`) y obtendrá un pipeline de promoción completamente automatizado.",{"type":55,"title":86,"steps":87},"Crear un Procedure en Komodo: pull, migración, reinicio",[88,91,94,97,100],{"title":89,"body":90},"Crear el Procedure","En Komodo, vaya a Procedures → New Procedure. Asígnele un nombre (`deploy-app`) y seleccione el servidor objetivo. Un Procedure es una lista ordenada de pasos — cada paso tiene un tipo (PullImage, DeployStack, RunCommand, SendAlert) y parámetros.",{"title":92,"body":93},"Añadir el paso PullImage","Haga clic en Add Step → PullImage. Introduzca el nombre de la imagen (p. ej. `ghcr.io\u002Fmyorg\u002Fmyapp:latest`) y el servidor donde descargarla. Si su imagen está en un registry privado, añada las credenciales en Settings → Registries antes de este paso — Komodo las inyecta automáticamente durante el pull.",{"title":95,"body":96},"Añadir un comando de migración","Haga clic en Add Step → RunCommand. En el campo Command, introduzca el comando de migración a ejecutar en el contenedor. Active la opción 'Stop on error': si la migración falla, el Procedure se detiene antes de reiniciar el servicio, evitando dejar una aplicación con un esquema inconsistente.",{"title":98,"body":99},"Añadir el reinicio del stack","Haga clic en Add Step → DeployStack y seleccione el Stack objetivo. Komodo ejecuta `docker compose up -d --pull never` (la imagen ya fue descargada en el paso anterior) y recrea los contenedores modificados. Las variables de entorno definidas en el Stack se pasan automáticamente.",{"title":101,"body":102},"Añadir una notificación de finalización","Haga clic en Add Step → SendAlert y seleccione su Alerter de Slack o Discord. Puede incluir variables de contexto en el mensaje (`{{ procedure.name }}`, `{{ server.name }}`) para identificar de un vistazo qué Procedure en qué servidor acaba de ejecutarse.",{"type":104,"title":105,"headers":106,"rows":111},"comparison","Komodo frente a Portainer y Dockge",[107,108,109,110],"Funcionalidad","Komodo","Portainer CE","Dockge",[112,117,121,126,129,133,136],[113,114,115,116],"Multi-servidor nativo","✅ Core\u002FPeriphery ilimitados","⚠️ Edge agents (versión de pago)","❌ Un solo host",[118,119,120,120],"GitOps \u002F webhooks","✅ Nativo, HMAC validado","❌ No nativo",[122,123,124,125],"Procedures \u002F automatización","✅ Motor integrado","⚠️ Limitado CE","❌ No",[127,128,128,125],"API REST","✅ Completa",[130,131,132,125],"Alertas nativas","✅ Slack, Discord, correo","⚠️ Parcial CE",[134,135,132,125],"Log de auditoría","✅ Todas las acciones",[137,138,139,140],"Licencia \u002F precio","GPL-3.0, gratuito","Zlib (CE gratuito) \u002F Business de pago","MIT, gratuito",{"type":38,"title":142,"body":143},"Resolución de problemas: errores comunes y soluciones","**Agente Periphery inaccesible.** El error más común al añadir un nuevo servidor. Primero verifique que el firewall del servidor remoto permite conexiones entrantes en el puerto 8120 desde la IP de su Core. Luego compruebe que la variable `KOMODO_HOST` del agente Periphery coincide con la IP o dominio que el Core usa para alcanzarlo.\n\n**Error al descargar la imagen.** Komodo devuelve este error cuando el registry privado no es accesible o faltan credenciales. Añada sus credenciales en Settings → Registries (Docker Hub, GHCR, registry privado) antes de disparar un pull. Si la imagen es pública y el error persiste, verifique que el servidor objetivo tiene acceso a Internet en el puerto 443.\n\n**Webhook no disparado.** Dos causas principales: el secreto HMAC configurado en Komodo no coincide con el introducido en GitHub, o la URL de su Core no es accesible desde los servidores de GitHub. Revise la pestaña 'Recent Deliveries' en GitHub para ver el código HTTP devuelto — un `401` indica un secreto incorrecto, un `timeout` indica un problema de red. Verifique también que la rama del push coincide con la configurada en su Stack o Procedure.\n\n**Inicio lento la primera vez (FerretDB).** FerretDB realiza una inicialización interna de su base de datos en el primer arranque, lo que puede tardar entre 30 y 60 segundos antes de que la interfaz de Komodo responda. Si ve un error de conexión inmediatamente después del despliegue, espere un minuto y recargue la página antes de diagnosticar un problema de instalación.",{"type":145,"title":146,"body":147},"tip","Komodo + Dockge: lo mejor de los dos mundos","Komodo y Dockge no se excluyen mutuamente. Dockge es perfecto para la edición interactiva de archivos Compose en una sola máquina (interfaz YAML con resaltado de sintaxis). Komodo gestiona la coordinación multi-servidor, los despliegues desde Git y los workflows. Despliegue Dockge a través de Komodo en sus máquinas de desarrollo, y use Komodo para orquestar los despliegues de producción.","Sus servidores bajo control GitOps","Despliegue Komodo en un VPS ServOrbit y gestione toda su flota Docker desde un panel unificado: GitOps, webhooks y registro de auditoría.","Desplegar Komodo","\u002Fmarketplace\u002Fdespliegue-de-aplicaciones-devops\u002Fkomodo",[153,177,194],{"id":154,"slug":155,"slugs":156,"title":160,"excerpt":161,"readTime":162,"views":163,"isPinned":19,"publishedAt":164,"updatedAt":165,"category":166,"categories":172,"featuredImage":29,"bgImage":30,"posterImage":174,"relatedSolution":175},161,"alojar-dockge-en-un-vps",{"fr":157,"en":158,"ar":159,"es":155},"self-host-dockge-vps","how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager","استضافة-dockge-على-vps-مدير-مرئي-لـ-docker-compose","Alojar Dockge en un VPS: gestor visual de Docker Compose","Despliegue Dockge en su VPS: un gestor visual open source y ligero para crear, editar y supervisar sus stacks Docker Compose desde el navegador.",4,0,"2026-07-03T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":167,"name":168,"slug":169,"color":170,"icon":171},7,"Autoalojamiento","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[173],{"id":167,"name":168,"slug":169,"color":170,"icon":171},"\u002Fblog\u002Fcovers\u002Fself-host-dockge-vps-poster.svg",{"categorySlug":33,"appSlug":176},"dockge",{"id":178,"slug":179,"slugs":180,"title":184,"excerpt":185,"readTime":17,"views":186,"isPinned":19,"publishedAt":187,"updatedAt":165,"category":188,"categories":189,"featuredImage":29,"bgImage":30,"posterImage":191,"relatedSolution":192},41,"desplegar-aplicaciones-con-coolify-en-un-vps",{"fr":181,"en":182,"ar":183,"es":179},"deployer-avec-coolify","deploy-your-applications-with-coolify-on-a-vps","نشر-تطبيقاتك-باستخدام-coolify-على-vps","Desplegar sus aplicaciones con Coolify en un VPS","Despliegue Coolify en un VPS: instalación, configuración HTTPS, conexión Git, primera aplicación, bases de datos, copias de seguridad y diagnóstico.",1,"2026-05-10T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[190],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-coolify-poster.svg",{"categorySlug":33,"appSlug":193},"coolify",{"id":195,"slug":196,"slugs":197,"title":201,"excerpt":202,"readTime":203,"views":186,"isPinned":19,"publishedAt":204,"updatedAt":165,"category":205,"categories":211,"featuredImage":29,"bgImage":30,"posterImage":213,"relatedSolution":214},164,"auto-alojar-headscale-en-un-vps-servidor-tailscale",{"fr":198,"en":199,"ar":200,"es":196},"self-host-headscale-tailscale-vps","self-host-headscale-on-a-vps-your-own-tailscale-control-server","استضافة-headscale-على-vps-خادم-تحكم-tailscale-خاص-بك","Alojar Headscale en un VPS: servidor de control Tailscale","Sustituya el servidor de control en la nube de Tailscale por Headscale en su VPS: usuarios ilimitados, malla WireGuard completa, magic DNS y ACL, sin SaaS.",6,"2026-07-05T00:00:00+00:00",{"id":206,"name":207,"slug":208,"color":209,"icon":210},8,"Seguridad y monitorización","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[212],{"id":206,"name":207,"slug":208,"color":209,"icon":210},"\u002Fblog\u002Fcovers\u002Fself-host-headscale-tailscale-vps-poster.svg",{"categorySlug":215,"appSlug":216},"redes-vpn","headscale",1789664999512]