Guía de despliegue

Desplegar sus aplicaciones con Coolify en un VPS

Desplegar en un VPS Cloud →

Tutorial

Desplegar sus aplicaciones con Coolify en un VPS

Despliegue12 min de lectura10 pasos

Coolify es una plataforma PaaS de código abierto que se instala en su propio VPS para recuperar la comodidad de Heroku o Vercel, sin facturación por uso ni vendor lock-in. Conecte un repositorio Git y Coolify compila, despliega, certifica en HTTPS y supervisa sus aplicaciones, bases de datos y servicios desde una única interfaz web. Esta guía cubre la instalación completa, la configuración posterior al despliegue y los errores más frecuentes.

Contenido· ¿Quién necesita un PaaS autoalojado?1/10
  1. 01¿Quién necesita un PaaS autoalojado?
  2. 02Coolify frente a Heroku y Vercel: lo que gana
  3. 03Requisitos concretos antes de la instalación
  4. 04Instalar y desplegar con Coolify: 10 pasos
  5. 05Configuración posterior a la instalación
  6. 06Endurecimiento: acceso de red y autenticación
  7. 07Diagnóstico: errores frecuentes
  8. 08Copias de seguridad: lo que Coolify cubre y lo que no
  9. 09La aplicación ve la IP del proxy en lugar de la del visitante
  10. 10Coolify, CapRover o Dokploy: ¿cuál elegir?

¿Quién necesita un PaaS autoalojado?

Un PaaS gestionado como Heroku o Render resulta perfecto para un prototipo o un proyecto de tamaño modesto. En cuanto aloja varias aplicaciones, o el tráfico crece, la factura sube en proporción — a veces por encima del coste de un VPS dedicado. Coolify se dirige a tres perfiles concretos. Las agencias web que gestionan decenas de proyectos de clientes: un solo VPS con Coolify sustituye a otras tantas cuentas de Heroku. Los profesionales independientes que desean controlar sus costes de infraestructura sin sacrificar la comodidad del despliegue automático. Los equipos que no pueden confiar sus datos a un tercero — RGPD, clientes del sector público, datos médicos o financieros. En los tres casos, Coolify reproduce el flujo de trabajo PaaS (git push → despliegue) sobre una infraestructura que usted controla por completo.

Coolify frente a Heroku y Vercel: lo que gana

  • Coste fijo y previsible: paga el VPS, no el uso — un VPS de 10 € aloja tantas aplicaciones como quiera
  • Datos soberanos: ningún dato sale de su infraestructura, cumplimiento del RGPD simplificado
  • Despliegue automático con git push: webhooks de GitHub, GitLab y Gitea integrados, sin plugin de terceros
  • Detección automática del stack: Nixpacks, Dockerfile o Docker Compose — Coolify elige, o toma usted el control
  • Certificados SSL de Let's Encrypt gestionados automáticamente, renovados sin intervención
  • Bases de datos con un clic (PostgreSQL, MySQL, MongoDB, Redis) con copias programadas, escritas en el servidor y copiadas después a un almacenamiento S3 si lo configura
  • Gestión multiservidor: una única interfaz para varios VPS, con reparto de carga posible
  • Código abierto (licencia Apache 2.0): sin vendor lock-in, el código es auditable y autoalojable

Requisitos concretos antes de la instalación

Coolify en sí consume pocos recursos, pero orquesta Docker y puede alojar sus aplicaciones y bases de datos en el mismo servidor. Prevea como mínimo 2 vCPU y 2 GB de RAM para Coolify solo. En cuanto ejecute varios servicios simultáneamente, 4 GB de RAM pasa a ser el mínimo recomendado. El espacio en disco depende de sus aplicaciones: cuente 20 GB para el sistema y Coolify, más el espacio de sus imágenes Docker y de sus datos.

Sistema operativo: Ubuntu 22.04 LTS o Debian 12 en un servidor recién aprovisionado. No instale Docker manualmente de antemano — el script de instalación de Coolify se encarga de esta etapa y una versión de Docker preinstalada puede crear conflictos.

Puertos que abrir en su cortafuegos: 22 (SSH), 80 (HTTP), 443 (HTTPS) y 8000 (interfaz de instalación inicial de Coolify). Puede cerrar el puerto 8000 después de configurar un dominio y pasar a HTTPS. Se necesita un nombre de dominio o un subdominio para la interfaz de Coolify y para cada aplicación que despliegue.

Instalar y desplegar con Coolify: 10 pasos

  1. Aprovisionar un VPS limpio

    Contrate un VPS Ubuntu 22.04 LTS (o Debian 12) dedicado a Coolify. Actualice los paquetes: apt update && apt upgrade -y. Active UFW autorizando SSH (22), HTTP (80) y HTTPS (443), más el puerto 8000 temporalmente para el acceso inicial. No instale Docker — el script de instalación se encarga de ello.

  2. Ejecutar el script de instalación oficial

    Ejecute el script de instalación como root: curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. El script instala Docker, despliega el stack de Coolify (que se ejecuta a su vez en contenedores) y arranca el panel de control. La instalación tarda de uno a tres minutos según la conexión del servidor.

  3. Crear la cuenta de administrador de inmediato

    Abra http://votre-ip:8000 en cuanto termine la instalación y cree su cuenta de administrador. Esta etapa es urgente: mientras la cuenta no esté creada, la página de registro es accesible para cualquiera que conozca la dirección IP del servidor. El primer visitante que cree una cuenta obtiene todos los derechos de administración.

  4. Configurar el dominio de la interfaz de Coolify

    En Ajustes > Instancia, indique el dominio de la instancia (coolify.votre-domaine.com). Cree antes un registro A en su DNS que apunte a la IP del VPS. Coolify genera automáticamente el certificado SSL mediante Let's Encrypt y pasa el acceso a HTTPS. Después puede cerrar el puerto 8000 en UFW.

  5. Conectar una fuente Git

    En Sources, añada una integración de GitHub (mediante GitHub App) o de GitLab (mediante clave de despliegue u OAuth). Se recomienda la integración GitHub App: permite a Coolify crear los webhooks automáticamente en sus repositorios y clonar repositorios privados sin gestionar claves SSH a mano.

  6. Crear su primera aplicación

    Cree un proyecto y, después, un recurso de tipo Aplicación. Seleccione su fuente Git, el repositorio y la rama de despliegue. Coolify analiza el repositorio y propone un método de compilación: Nixpacks (detección automática del stack Node, Python, PHP, Ruby, etc.), Dockerfile si el repositorio contiene uno, o Docker Compose. Indique el dominio de la aplicación y las variables de entorno necesarias.

  7. Lanzar el primer despliegue

    Haga clic en Desplegar. Coolify clona el repositorio, ejecuta la compilación, crea el contenedor, configura el reverse proxy Traefik y genera el certificado SSL. Los registros de compilación se muestran en tiempo real en la interfaz. Un despliegue típico tarda entre 30 segundos y 3 minutos según el tamaño de la aplicación.

  8. Aprovisionar una base de datos

    En su proyecto, cree un recurso de tipo Base de datos y elija el motor (PostgreSQL, MySQL, MariaDB, MongoDB o Redis). Coolify arranca el contenedor, genera una contraseña aleatoria y muestra la cadena de conexión. Inyéctela como variable de entorno en su aplicación. Las copias de seguridad programadas hacia un almacenamiento compatible con S3 se configuran directamente desde la interfaz.

  9. Configurar un dominio personalizado para la aplicación

    En los ajustes de la aplicación, indique el dominio o los dominios. Cree los registros A correspondientes en su DNS. Coolify reconfigura Traefik y desencadena la generación de los certificados SSL. Si su dominio está detrás de un CDN (Cloudflare en modo proxy), cambie el tipo de certificado a DNS Challenge e indique el token de API de Cloudflare en los ajustes de la instancia.

  10. Activar las copias de seguridad del propio Coolify

    La configuración de todos sus recursos (aplicaciones, bases de datos, secretos) se almacena en /data/coolify. Programe una copia de seguridad de este directorio hacia un almacenamiento externo independiente del VPS: si pierde el servidor, restaura todo el entorno de Coolify a partir de ese archivo. Basta con una crontab o un script rsync hacia un bucket S3.

Configuración posterior a la instalación

Una vez desplegada la primera aplicación, varios ajustes mejoran la fiabilidad del día a día.

Webhooks Git automáticos. La integración GitHub App o GitLab OAuth crea los webhooks en cada repositorio en el momento en que configura el recurso. Si utiliza una clave de despliegue SSH manual, cree el webhook del lado de Git apuntando a https://coolify.votre-domaine.com/api/v1/deploy?uuid=<uuid-application>&secret=<secret>. El UUID y el secreto son visibles en la pestaña Webhooks de cada recurso.

Variables de entorno y secretos. Coolify distingue las variables visibles en la interfaz (variables de entorno clásicas) de los secretos ocultos (tokens, claves de API). Ambos se cifran en la base de datos. Puede definir variables a nivel de proyecto — las heredan todos los recursos — o por recurso individual.

Monitorización integrada. La pestaña Métricas de cada servidor muestra CPU, RAM y disco en tiempo real. Puede configurar notificaciones (correo electrónico, Telegram, Slack, Discord, ntfy) para los eventos de despliegue, los errores y las alertas de recursos.

Actualizaciones de Coolify. Las actualizaciones se lanzan desde la interfaz (Ajustes > Actualizar). Coolify descarga la nueva versión de sus imágenes Docker, recrea sus propios contenedores y se reinicia. La actualización no afecta a sus aplicaciones desplegadas.

Endurecimiento: acceso de red y autenticación

Dos gestos que realizar antes de poner Coolify en producción. Active la autenticación de dos factores (2FA) en su cuenta de administrador: Ajustes > Perfil > Autenticación de dos factores. Cierre el puerto 8000 en UFW después de configurar el dominio HTTPS (ufw delete allow 8000). Si su VPS está expuesto directamente a Internet sin CDN, plantéese restringir por IP el acceso a la interfaz de Coolify en UFW — solo su red o su VPN puede alcanzar el panel, mientras que el puerto 443 permanece abierto para sus aplicaciones.

Diagnóstico: errores frecuentes

La compilación falla con No build method detected. Nixpacks no ha reconocido el stack. Añada un archivo Dockerfile en la raíz del repositorio o seleccione manualmente el método de compilación en los ajustes de la aplicación (Docker Compose si dispone de uno). También puede forzar el stack Nixpacks añadiendo un archivo nixpacks.toml en la raíz.

El dominio muestra 502 Bad Gateway después del despliegue. La aplicación no escucha en el puerto que espera Traefik. Compruebe el puerto de exposición en los ajustes del recurso: debe corresponder al puerto en el que su aplicación escucha dentro del contenedor. Para una aplicación Node.js que arranca en el puerto 3000, indique 3000 en el campo «Puerto».

El certificado SSL no se genera y el acceso sigue en HTTP. Compruebe que el registro DNS A apunta correctamente a la IP del VPS (la propagación a veces es lenta). Compruebe que el puerto 80 está abierto en UFW — Let's Encrypt en modo HTTP Challenge debe poder alcanzar el servidor en ese puerto. Si está detrás de Cloudflare en modo proxy, pase a DNS Challenge.

La aplicación se reinicia en bucle (Restarting). El comando de arranque falla. Consulte los registros del contenedor en la pestaña Logs del recurso. El error suele ser una variable de entorno que falta, una conexión imposible a la base de datos (compruebe la cadena de conexión) o un puerto ya ocupado en el servidor.

Recursos insuficientes: la compilación muere (Killed). La memoria del VPS es insuficiente durante la compilación. Dos opciones: añadir memoria swap temporalmente (fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile) o migrar a un VPS con más RAM. Para las aplicaciones Node.js voluminosas, añada NODE_OPTIONS=--max-old-space-size=4096 en las variables de entorno de compilación.

Copias de seguridad: lo que Coolify cubre y lo que no

Las bases de datos se respaldan desde la pestaña Backups del recurso: se elige una frecuencia (expresión cron) y una retención. Según la documentación de Coolify, cada copia se escribe primero en el servidor que aloja la base, en /data/coolify/backups. Después se puede enviar una copia a un almacenamiento compatible con S3, una vez añadido y validado en Coolify; la retención local y la retención en S3 se configuran por separado. La documentación enumera, entre otros, Amazon S3, Cloudflare R2, MinIO, Backblaze B2, Scaleway, Hetzner, Wasabi y DigitalOcean Spaces, e indica que otros proveedores compatibles con S3 pueden funcionar.

Una copia solo local no es una copia de seguridad. Un archivo en el disco del VPS desaparece con el VPS: sin un destino S3 (o sin una copia que usted mueva por su cuenta) solo tiene un punto de restauración frente a un error de manejo, no frente a la pérdida del servidor.

El destino es S3 y nada más. La petición de un gestor de copias más completo (SFTP, WebDAV, cifrado de las copias enviadas, carpeta y subcarpeta en el bucket, borrado remoto, descarga) se sigue en la issue n.º 2389 de coollabsio/coolify. En el momento de redactar este artículo, esa issue está abierta y asignada a un miembro del equipo, sin entrega anunciada: no base su plan de recuperación en esas funciones. Si necesita SFTP o cifrado, prevea un segundo mecanismo fuera de Coolify, por ejemplo rsync o una herramienta de copias cifradas que lea /data/coolify/backups y lo envíe al exterior.

La página de documentación de las copias de bases de datos no trata la copia de la propia instancia de Coolify. Por eso el paso 10 anterior sigue siendo útil: copie /data/coolify fuera del VPS.

Pruebe la restauración. Coolify lo dice por sí mismo: una copia correcta solo demuestra que se creó un archivo. Restáurela en una base desechable y compruebe los datos antes de fiarse de ella.

La aplicación ve la IP del proxy en lugar de la del visitante

Síntoma: detrás de Traefik o Caddy (el proxy de Coolify), su aplicación recibe a veces, en X-Forwarded-For, una dirección interna de Docker (del tipo 172.18.0.1) en lugar de la IP del visitante. Consecuencias concretas: limitación de tasa y bloqueos por IP que apuntan al propio proxy, registros inutilizables, geolocalización errónea.

Lo que dice la fuente primaria (issue n.º 3436 de coollabsio/coolify, «Randomly receiving proxy IP as X-Forwarded-For header using Traefik or Caddy»): en el momento de redactar este artículo, la issue está abierta, etiquetada «Possible Bug», y no se confirma en ella ninguna corrección fusionada. Varios usuarios describen el mismo comportamiento, y quien la abrió precisa que el problema no está resuelto a nivel de Coolify. La solución alternativa que se repite en el hilo: los visitantes en IPv6 aparecen con una dirección interna de Docker cuando la red Docker coolify (la del proxy) no tiene IPv6 activado. Activar IPv6 en esa red, recrearla y volver a desplegar las aplicaciones resolvió el caso a varios participantes; cambiar solo daemon.json y reiniciar no bastó a uno de ellos. Un participante también observó que esa red se crea solo en IPv4 en los servidores gestionados de forma remota.

Cómo proceder sin fiarse de una anécdota:

- Compruebe el estado de la red: docker network inspect coolify --format '{{.EnableIPv6}}'. Un false es la pista descrita en el hilo.
- Reproduzca antes de modificar: llame a la aplicación por IPv4 y luego por IPv6 (curl -4 y curl -6) y compare lo que registra la aplicación.
- Recrear la red corta el tráfico durante el nuevo despliegue: hágalo fuera de las horas punta, con una copia de /data/coolify.
- Detrás de Cloudflare en modo proxy, lea la cabecera CF-Connecting-IP en lugar de deducir la IP de X-Forwarded-For, y confíe en estas cabeceras solo si proceden de rangos que usted controla.

Esta guía se ofrece tal cual, sin soporte de Coolify en sí: el estado de esa issue puede haber cambiado desde entonces, vuelva a leerla antes de actuar.

Coolify, CapRover o Dokploy: ¿cuál elegir?

Coolify no es el único PaaS autoalojado disponible. CapRover, Dokploy y Dokku cubren necesidades similares, con filosofías diferentes. Coolify destaca por su interfaz moderna, la compatibilidad nativa con el multiservidor y la monitorización integrada — es adecuado para los equipos que gestionan un parque de servidores desde un único punto de control. CapRover es más ligero y adecuado para un uso monoservidor con un solo administrador. Dokploy es más reciente, orientado a Docker Compose y Kubernetes con una interfaz depurada. Para una comparativa detallada de las tres plataformas según los criterios que importan (recursos, compilación, bases de datos, acceso colaborativo), consulte nuestro artículo comparativo.

Aloje su propio PaaS Coolify en un VPS Cloud

Despliegue un VPS Cloud ServOrbit con la plantilla Despliegue e instale Coolify: recupere la experiencia Heroku en su propia infraestructura, sin facturación por uso.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva