Por qué elegir Dokku para su VPS
Donde otros PaaS incorporan una interfaz web y un orquestador completo, Dokku sigue siendo deliberadamente minimalista: se trata de un conjunto de scripts de shell que pilotan Docker. Usted envía su código con git push dokku main, Dokku detecta el lenguaje mediante los buildpacks de Heroku o un Dockerfile, construye la imagen y publica la aplicación. Todo se gestiona por línea de comandos, lo que lo hace extremadamente ligero y previsible. Es la opción ideal para los desarrolladores que quieren un flujo al estilo Heroku en un VPS pequeño, sin pagar una capa adicional y sin consumir RAM en un panel de control. Su ecosistema de plugins (PostgreSQL, Redis, Let's Encrypt) cubre lo esencial de las necesidades.
Las ventajas concretas de Dokku
- Huella de memoria mínima: funciona con soltura en un VPS de 1 GB de RAM.
- Despliegue por
git push, como en Heroku, con detección automática del lenguaje. - Soporte nativo de los buildpacks de Heroku y de los Dockerfiles, a elegir según su proyecto.
- Plugins oficiales para PostgreSQL, MySQL, Redis y MongoDB, gestionados por CLI.
- Plugin Let's Encrypt para el HTTPS automático y su renovación.
- Zero-downtime deploys gracias a los checks de salud previos a la conmutación del contenedor.
Requisitos para Dokku
Dokku es el PaaS más económico en recursos de esta serie. Un VPS de 1 GB de RAM y 1 vCPU basta para aplicaciones ligeras, pero prevea 2 GB de RAM en cuanto sus builds usen buildpacks (Node, Ruby y Python compilan en memoria) o aloje una base de datos al lado. Cuente con 25 GB de disco SSD. El sistema recomendado es Ubuntu LTS recién instalado, sin Docker preinstalado (el propio script de Dokku lo instala). En cuanto al DNS: configure un dominio por aplicación o un dominio wildcard *.mondomaine.com para el despliegue por subdominio. Los puertos 22 (SSH, imprescindible para el git push), 80 y 443 deben estar abiertos. Añada su clave SSH pública para autorizar los despliegues.
Instalar Dokku y desplegar una aplicación
Instalar Dokku con el script oficial
En un Ubuntu limpio:
wget -NP . https://dokku.com/install/v0.34.0/bootstrap.shy despuéssudo DOKKU_TAG=v0.34.0 bash bootstrap.sh. El script instala Docker, Nginx y Dokku en unos minutos.Finalizar la configuración y añadir su clave SSH
Termine la instalación visitando la IP del VPS en un navegador o mediante la CLI. Añada su clave pública con
dokku ssh-keys:add admin < ~/.ssh/id_rsa.puby defina el dominio global:dokku domains:set-global mondomaine.com.Crear una aplicación y su remote de Git
En el servidor:
dokku apps:create mon-app. En su equipo, añada el remote:git remote add dokku [email protected]:mon-app. Dokku creará automáticamente el subdominiomon-app.mondomaine.com.Aprovisionar una base de datos
Instale el plugin:
dokku plugin:install https://github.com/dokku/dokku-postgres.git. Cree una base condokku postgres:create ma-basey enlácela con la app:dokku postgres:link ma-base mon-app. La variableDATABASE_URLse inyecta automáticamente.Desplegar y activar el HTTPS
Envíe su código con
git push dokku main: Dokku construye y despliega. Instale después el plugin Let's Encrypt y ejecutedokku letsencrypt:enable mon-apppara obtener un certificado SSL automático y configurar su renovación.
Active la renovación automática de los certificados con dokku letsencrypt:cron-job --add; de lo contrario, sus certificados caducarán a los 90 días. Para despliegues sin corte, configure un archivo CHECKS en la raíz de su proyecto: Dokku comprueba que la nueva versión responde antes de conmutar el tráfico, lo que garantiza un zero-downtime deploy. En un VPS con poca RAM, añada 2 GB de swap para evitar que el sistema mate los builds de buildpack (OOM killer).