Instalación de Coolify en un VPS: despliegue de su propia plataforma PaaS para la gestión de contenedores Docker y GitOps
TL;DR
En esta guía, examinamos el proceso de convertir un servidor Linux convencional en una potente plataforma PaaS (Platform as a Service) utilizando Coolify. Esta solución permite automatizar el despliegue de aplicaciones desde repositorios Git, gestionar contenedores Docker a través de una interfaz web intuitiva, emitir certificados SSL automáticamente y configurar bases de datos con un solo clic, reemplazando por completo servicios en la nube costosos como Heroku o Netlify.
- Objetivo: Creación de una infraestructura independiente para el alojamiento de aplicaciones web y bases de datos.
- Herramientas: Coolify v4+, Docker Engine, Traefik (integrado), Ubuntu 24.04/26.04 LTS.
- Resultado: Pipeline de despliegue totalmente automatizado (GitOps) con soporte para GitHub, GitLab e imágenes Docker locales.
- Dificultad: Media (se requieren conocimientos básicos de terminal SSH).
- Tiempo de implementación: 30-40 minutos para la configuración básica.
1. Qué estamos configurando y por qué: La evolución de las PaaS autoalojadas
Esquema: 1. Qué estamos configurando y por qué: La evolución de las PaaS autoalojadas
El desarrollo de software moderno requiere una alta velocidad de iteración. El enfoque tradicional, en el que un desarrollador configura manualmente un servidor web Nginx, copia archivos vía SCP o configura complejos pipelines de CI/CD en Jenkins, está quedando atrás para proyectos pequeños y medianos. Han surgido soluciones PaaS (Platform as a Service) como Heroku, Render o Fly.io. Sin embargo, su coste crece exponencialmente con el consumo de recursos, y la dependencia de un proveedor específico (vendor lock-in) crea riesgos para el negocio.
Coolify es una alternativa de código abierto que ofrece una experiencia de usuario similar, pero en su propio hardware. Es un "panel de control" que se instala en su VPS y se encarga de toda la rutina de gestión del ciclo de vida de las aplicaciones.
Principales ventajas de pasar a una PaaS autoalojada en 2026:
- Ahorro: Solo paga por el hardware del VPS, sin pagar de más por cada build o gigabyte adicional de memoria RAM.
- Privacidad: Sus códigos fuente, variables de entorno y bases de datos permanecen únicamente en sus servidores.
- Flexibilidad: Posibilidad de desplegar prácticamente cualquier stack (Node.js, Python, Go, Rust, PHP) sin las limitaciones de un proveedor de nube.
- Automatización: Soporte integrado para Wildcard SSL a través de Let's Encrypt y despliegue automático al hacer push a una rama de Git.
Para un desarrollador, esto significa la posibilidad de enfocarse en el código en lugar de en la configuración de archivos YAML para Kubernetes, que a menudo resulta excesivo para el 90% de los proyectos.
2. Qué configuración de VPS se necesita para esta tarea
Esquema: 2. Qué configuración de VPS se necesita para esta tarea
Coolify en sí mismo es una aplicación relativamente ligera, ya que funciona como un orquestador sobre Docker. El consumo principal de recursos dependerá de la cantidad y la "carga" de las aplicaciones que planee ejecutar dentro de la plataforma.
Dado que Coolify utiliza Docker y el servidor proxy inverso integrado Traefik, la memoria RAM es un recurso crítico. Ante la falta de RAM, el mecanismo OOM Killer de Linux puede comenzar a finalizar los procesos de Coolify o de sus bases de datos.
| Característica |
Mínimo (para pruebas) |
Recomendado (Producción) |
Enterprise / High Load |
| CPU |
1 Core (x86_64/ARM) |
2-4 Cores |
8+ Cores |
| RAM |
2 GB |
4-8 GB |
16 GB+ |
| Disco (SSD/NVMe) |
20 GB |
50-100 GB |
500 GB+ |
| SO |
Ubuntu 22.04 LTS |
Ubuntu 24.04 LTS |
Debian 12 / Ubuntu 26.04 |
Para un funcionamiento estable de la plataforma y de varios contenedores con bases de datos (PostgreSQL, Redis), lo mejor es elegir un VPS adecuado con al menos 4 GB de memoria RAM. Si planea ejecutar aplicaciones Java pesadas o realizar compilaciones de grandes proyectos en Rust/C++ directamente en el servidor, debería considerar el paso a recursos dedicados.
Nota importante sobre la arquitectura: Coolify funciona perfectamente en procesadores ARM (por ejemplo, Ampere). Esto permite ahorrar significativamente en el presupuesto, ya que las instancias ARM suelen ser más económicas con el mismo rendimiento en tareas multihilo.
Ubicación: Elija un centro de datos lo más cercano posible a su audiencia objetivo para minimizar la latencia de red en las peticiones HTTP. Si su proyecto está orientado al mercado global, Coolify permite conectar servidores adicionales (Remote Servers) en diferentes ubicaciones y gestionarlos desde un solo panel.
3. Preparación del servidor: Seguridad y dependencias
Esquema: 3. Preparación del servidor: Seguridad y dependencias
Antes de instalar Coolify, es necesario proteger el servidor de forma básica y preparar el entorno. Asumimos que tiene una instalación limpia de Ubuntu 24.04 LTS.
Actualización del sistema
En primer lugar, actualizaremos los paquetes a sus versiones más recientes:
sudo apt update && sudo apt upgrade -y
Configuración del cortafuegos (UFW)
Coolify requiere la apertura de ciertos puertos para el funcionamiento de la interfaz web, el acceso SSH y el tráfico entrante a sus futuras aplicaciones. Necesitamos el 80 (HTTP), 443 (HTTPS), 22 (SSH) y 6001 (Websockets para logs en tiempo real en el panel).
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 6001/tcp
sudo ufw enable
Creación de usuario y llaves SSH
No se recomienda trabajar con el usuario root. Crearemos un usuario con privilegios sudo:
useradd -m -s /bin/bash deployer
usermod -aG sudo deployer
passwd deployer
Asegúrese de configurar el acceso mediante llaves SSH y desactive la autenticación por contraseña en /etc/ssh/sshd_config para prevenir ataques de fuerza bruta.
Instalación de utilidades básicas
Necesitaremos curl, wget y git para el funcionamiento de los scripts de instalación:
sudo apt install -y curl wget git jq htop
4. Instalación de Coolify: Análisis paso a paso del script
Esquema: 4. Instalación de Coolify: Análisis paso a paso del script
Coolify v4 (la versión estable actual en 2026) se instala mediante el script oficial, que configura automáticamente Docker Engine, Docker Compose y las configuraciones de red necesarias.
Ejecute el siguiente comando como usuario con privilegios sudo:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Qué sucede durante la ejecución del script:
- Verificación de dependencias: El script comprueba la presencia de curl, jq y otras utilidades.
- Instalación de Docker: Si Docker no está instalado, el script añadirá el repositorio oficial de Docker e instalará la última versión de Engine y el plugin Compose.
- Creación de la estructura de directorios: Todos los datos de Coolify se almacenan en
/data/coolify. Esto es importante para los backups posteriores.
- Inicio de los contenedores de Coolify: Se descargarán e iniciarán varios contenedores:
coolify: Aplicación principal Laravel (backend).
coolify-realtime: Servicio en Node.js para la transmisión de logs a través de sockets.
coolify-db: Base de datos PostgreSQL para almacenar los ajustes de la plataforma.
coolify-redis: Caché y colas de tareas.
coolify-proxy: Instancia de Traefik que gestionará el enrutamiento.
Tras finalizar la instalación (normalmente tarda de 3 a 5 minutos), verá un mensaje con la dirección IP y el puerto para acceder (por defecto 3000, pero tras configurar el dominio se cambiará a 80/443).
Puede comprobar el estado de los contenedores en ejecución con el comando:
docker ps | grep coolify
5. Configuración inicial y Dashboard
Esquema: 5. Configuración inicial y Dashboard
Abra su navegador y vaya a la dirección http://your-vps-ip:3000. En el primer acceso, se le pedirá que cree una cuenta de administrador. Estos datos se almacenan localmente en su servidor.
Configuración del dominio para el panel de control
Para que su panel esté disponible en una dirección segura (por ejemplo, https://cp.yourdomain.com), siga estos pasos:
- Apunte el registro A de su dominio en el panel DNS de su registrador a la dirección IP de su VPS.
- En la interfaz de Coolify, vaya a la sección Settings.
- En el campo Instance Domain, introduzca su dominio.
- Coolify solicitará automáticamente un certificado SSL a Let's Encrypt a través del Traefik integrado.
Concepto de "Destinations" y "Sources"
Coolify opera con dos entidades importantes:
- Sources: De dónde proviene el código (GitHub, GitLab, Bitbucket, Git local).
- Destinations: Dónde se despliega el código. Por defecto es Local Docker (el mismo servidor donde está el panel), pero puede añadir otros servidores vía SSH.
Importante: Al añadir un servidor remoto vía SSH, asegúrese de que Docker también esté instalado en él. Coolify puede hacerlo automáticamente si tiene acceso root.
6. Configuración de GitOps: Integración con GitHub y GitLab
6. Configuración de GitOps: Integración con GitHub y GitLab
Esquema: 6. Configuración de GitOps: Integración con GitHub y GitLab
Una de las funciones más potentes de Coolify es el despliegue automático con cada git push. Esto se implementa a través de Webhooks.
Conexión de GitHub App
En lugar de utilizar tokens de acceso personal (PAT), Coolify recomienda crear una GitHub App. Es más seguro y ofrece más control sobre los permisos de acceso.
- En el panel de Coolify, seleccione Sources -> New -> GitHub App.
- Haga clic en el botón de generación automática de la aplicación. Será redirigido a GitHub.
- Seleccione la organización o cuenta personal y confirme la instalación.
- Ahora, al crear un nuevo proyecto (New Resource), podrá simplemente seleccionar el repositorio de la lista.
Vistas previas automáticas (Pull Request Previews)
Coolify admite la creación de entornos temporales para cada Pull Request. Cuando un desarrollador abre un PR, Coolify despliega una copia independiente de la aplicación en un subdominio temporal (por ejemplo, pr-12.myapp.com). Esto permite probar las funcionalidades antes de fusionarlas en la rama principal. Una vez cerrado el PR, el contenedor se elimina automáticamente, liberando recursos.
Configuración Dockerfile vs Nixpacks
Coolify utiliza Nixpacks, una herramienta moderna que analiza su código y comprende automáticamente cómo compilarlo (identifica el lenguaje de programación, la versión del runtime y las dependencias necesarias). Si necesita un control total, siempre puede cambiar al uso de su propio Dockerfile o docker-compose.yaml en la configuración del proyecto.
7. Gestión de bases de datos y servicios en un clic
Esquema: 7. Gestión de bases de datos y servicios en un clic
Coolify permite desplegar bases de datos no como dependencias externas, sino como recursos completos dentro de su PaaS. Se admiten:
- PostgreSQL
- MySQL / MariaDB
- MongoDB
- Redis
- ClickHouse
- Dragonfly / Valkey
Al crear una base de datos, Coolify genera automáticamente contraseñas seguras y proporciona nombres DNS internos (por ejemplo, postgres:5432), que están disponibles para sus otras aplicaciones dentro de la misma red de Docker. Esto elimina la necesidad de abrir los puertos de las bases de datos al mundo exterior, lo que aumenta significativamente la seguridad.
Servicios en un clic (One-click Services)
En la sección Services, están disponibles plantillas listas para usar de herramientas populares de código abierto: Appwrite, Plausible Analytics, Ghost, Meilisearch, WordPress y muchas otras. La instalación se realiza con un solo clic, incluyendo la configuración de la base de datos y el proxy.
8. Copias de seguridad y mantenimiento del sistema
Esquema: 8. Copias de seguridad y mantenimiento del sistema
Almacenar datos en un solo servidor sin copias de seguridad es un gran riesgo. Coolify ofrece mecanismos integrados de respaldo para bases de datos.
Configuración de S3 Backups
Se recomienda utilizar cualquier almacenamiento compatible con S3 para las copias de seguridad.
En la sección de la base de datos, vaya a la pestaña Backups:
- Especifique S3 Access Key, Secret Key y Bucket Name.
- Configure el horario (Cron expression), por ejemplo,
0 0 * * * para un respaldo diario a medianoche.
- Especifique el número de copias almacenadas (Retention policy).
Copia de seguridad de la propia plataforma Coolify
Todos los datos críticos de Coolify se encuentran en /data/coolify. Para una copia de seguridad completa del sistema, puede utilizar un script sencillo basado en rsync o restic:
#!/bin/bash
# Ejemplo de copia de seguridad de la carpeta de datos a un servidor remoto
tar -czf /tmp/coolify-data-$(date +%F).tar.gz /data/coolify
scp /tmp/coolify-data-$(date +%F).tar.gz backup-server:/backups/
rm /tmp/coolify-data-$(date +%F).tar.gz
Actualización de Coolify
Coolify puede actualizarse por sí solo. Aparecerá una notificación en la parte inferior del panel de control si hay una nueva versión disponible. El proceso de actualización consiste en reiniciar los contenedores con las nuevas imágenes, lo que suele suponer no más de 30 segundos de inactividad del panel (mientras tanto, sus aplicaciones siguen funcionando).
9. Troubleshooting + FAQ: Resolución de problemas comunes
Error: "Docker daemon is not reachable"
Suele ocurrir si el usuario bajo el cual se ejecuta Coolify no tiene permisos para leer /var/run/docker.sock. Verifique los permisos y asegúrese de que el servicio Docker esté activo: sudo systemctl status docker.
Problema con la emisión de certificados SSL
Si el certificado no se emite, verifique:
- ¿Apunta el dominio a la IP correcta? (use
dig tudominio.com).
- ¿Bloquea el Firewall el puerto 80? (Let's Encrypt lo utiliza para el desafío HTTP-01).
- Límites de Let's Encrypt (si ha recreado contenedores con demasiada frecuencia).
Alto consumo de RAM durante la compilación
La compilación (Build process) es la parte que más recursos consume. Si el servidor se "congela" durante el despliegue, añada un archivo Swap:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
FAQ
¿Qué configuración de VPS es la mínima adecuada?
Mínimo: 2 GB de RAM y 1 núcleo de CPU. Sin embargo, en esta configuración tendrá que usar Swap y la compilación de aplicaciones será lenta. Para un funcionamiento fluido de 2-3 aplicaciones pequeñas (por ejemplo, en Node.js o Python) y una base de datos PostgreSQL, recomendamos 4 GB de RAM.
¿Qué elegir: VPS o dedicado para esta tarea?
Un VPS es ideal para la mayoría de los proyectos gracias a su flexibilidad de escalado. Siempre puede añadir recursos a medida que crezca la carga. Un servidor dedicado solo debe elegirse si tiene tareas de compilación de código muy pesadas, requisitos elevados de entrada/salida de disco (I/O) o si planea desplegar en Coolify decenas de servicios con mucha carga que consuman cientos de gigabytes de tráfico.
¿Se puede migrar Coolify a otro servidor?
Sí, basta con copiar el contenido del directorio /data/coolify al nuevo servidor y ejecutar el script de instalación. Todas las configuraciones, claves y datos de las aplicaciones se cargarán automáticamente.
¿Es seguro almacenar secretos en Coolify?
Todas las variables de entorno se cifran antes de guardarse en la base de datos. Coolify utiliza prácticas de seguridad estándar; sin embargo, siempre se recomienda limitar el acceso al propio panel de control mediante una lista blanca de IP o VPN.
10. Conclusiones y próximos pasos
Hemos desplegado una plataforma PaaS completa que no tiene nada que envidiar a las nubes comerciales, pero que funciona en su propio VPS. Ahora puede desplegar aplicaciones con un simple git push, sin preocuparse por configurar Nginx, SSL y redes Docker manualmente.
Próximos pasos para optimizar su infraestructura:
- Monitoreo: Instale a través de Coolify el stack Prometheus + Grafana para realizar un seguimiento del uso de recursos de su servidor.
- Optimización de imágenes: Utilice compilaciones de múltiples etapas (Multi-stage builds) en el Dockerfile para reducir el tamaño de las imágenes y acelerar el despliegue.
- Clusterización: Intente conectar un segundo VPS como nodo de trabajo (Worker Node) para separar el panel de control de las aplicaciones en sí.
El auto-alojamiento (Self-hosting) es el camino hacia la soberanía digital y un ahorro significativo en el presupuesto de desarrollo. Coolify hace que este camino sea lo más sencillo y agradable posible.