Mascota Jacar — leyendo contigo Un portátil cuyos ojos siguen el cursor mientras lees.
Herramientas

Dokku: el PaaS pequeño que nunca muere

Dokku: el PaaS pequeño que nunca muere

Actualizado: 2026-05-03

Dokku apareció en 2013 como un experimento de fin de semana de Jeff Lindsay, ingeniero fascinado por la simplicidad operativa de Heroku que quería ver si era posible reproducir el núcleo de la experiencia en un único servidor, usando Docker recién llegado al ecosistema y un puñado de scripts en bash. Doce años después, con ecosistemas enteros oscilando entre auge y declive y con Kubernetes convertido en el estándar de infraestructura a gran escala, Dokku sigue vivo, activo y sorprendentemente relevante para un nicho que otras soluciones no sirven bien.

Puntos clave

  • Dokku reproduce la experiencia git push de Heroku en un único VPS con Docker, buildpacks y proxy inverso automático con SSL.
  • La versión 0.35 de mediados de 2025 añadió soporte mejorado para Cloud Native Buildpacks, Caddy como proxy alternativo a nginx y Dockerfile multi-etapa más robusto.
  • Frente a Kubernetes: Dokku resuelve el 90% de lo que las aplicaciones pequeñas necesitan con el 5% de la complejidad y coste.
  • Frente a PaaS comerciales (Fly.io, Railway, Render): coste predecible en VPS europeo, control total sobre datos, sin facturación por uso.
  • Limitación importante: todo corre en un único servidor; sin alta disponibilidad nativa ni escalado horizontal entre nodos.

Qué es Dokku en 2025

Dokku es un PaaS de código abierto diseñado para ejecutarse en un único servidor, típicamente un VPS. Su propuesta es reproducir la experiencia de Heroku del flujo de despliegue con git push: configuras un servidor con Dokku, añades el control remoto de git, haces push de tu código y Dokku construye una imagen Docker usando buildpacks de Heroku o un Dockerfile propio, la despliega, configura el enrutamiento HTTP con nginx o Caddy, y te devuelve una URL funcional. Todo en menos de un minuto para aplicaciones pequeñas.

La arquitectura es deliberadamente simple. Dokku no es un orquestador de múltiples nodos ni pretende serlo. Ejecuta contenedores Docker en la máquina local, gestiona sus ciclos de vida, conecta bases de datos ofrecidas como complementos (PostgreSQL, MySQL, Redis, MongoDB y otros), configura proxy inverso con certificados SSL automáticos vía Let’s Encrypt, y ofrece una interfaz de línea de comandos y un panel web opcional.

Por qué sobrevivió al ciclo de hypes

La supervivencia de Dokku en un ecosistema que ha visto tantas alternativas aparecer y desaparecer (Deis, Flynn, Cloudron, Caprover) responde a tres razones principales:

  1. Enfoque disciplinado — Dokku no trata de crecer en funcionalidad para competir con Kubernetes o con PaaS comerciales. Se mantiene fiel al principio original: un PaaS mínimo que cabe en un servidor. Cuando los proyectos competidores intentaron añadir clustering o características empresariales, diluyeron su identidad y perdieron el nicho.
  2. Compatibilidad con Heroku — Como los buildpacks son los mismos, una aplicación que funcionaba en Heroku típicamente funciona en Dokku sin cambios. Fue una ventaja enorme cuando Heroku cerró su plan gratuito en 2022 y miles de proyectos pequeños buscaron alternativas.
  3. Comunidad estable — Dokku tiene una comunidad pequeña pero confiable, con Jose Diaz-Gonzalez como mantenedor principal desde hace muchos años. El ritmo de versiones es razonable (una versión menor cada dos o tres meses) y los problemas de seguridad se atienden rápido.

Cuándo compensa Dokku frente a alternativas

La elección depende del problema concreto:

Frente a Kubernetes: la diferencia en complejidad operativa es abismal. Kubernetes en un clúster gestionado como GKE o EKS tiene coste base alto (nodos, balanceador de carga, registros de contenedor) y curva de aprendizaje seria. Para una aplicación con pocos usuarios, la relación coste-complejidad a beneficio es absurda. Dokku resuelve el 90% de lo que esas aplicaciones necesitan con el 5% de la complejidad.

Frente a PaaS comerciales (Fly.io, Railway, Render): la diferencia está en coste y control. Estos servicios ofrecen mejor experiencia de desarrollador y escalado horizontal automático, pero cobran por uso con facturación que sube rápido. Para proyectos que quieren control total sobre datos, costes predecibles o requisitos de residencia europeos, un VPS europeo con Dokku es una solución pragmática.

Frente a Docker Compose en un servidor: la diferencia es más sutil. Docker Compose es suficiente si tu aplicación es simple. Dokku añade buildpacks automáticos, gestión de certificados, gestión de bases de datos, revisión entre despliegues y hooks para migraciones. Si vas a replicar todo eso a mano con Compose, antes o después llegas a algo parecido a Dokku pero mal. Este mismo principio de no reinventar lo que ya existe es el que describimos en copias de seguridad con restic: herramientas bien acotadas que resuelven un problema concreto sin pretender más.

Instalación y despliegue típico

El flujo de alta de Dokku es limpio. En un VPS Debian o Ubuntu recién instalado, el ciclo completo:

bash
# En el servidor
wget -NP . https://dokku.com/bootstrap.sh
sudo DOKKU_TAG=v0.35.6 bash bootstrap.sh
sudo dokku apps:create mi-app
sudo dokku postgres:create mi-db
sudo dokku postgres:link mi-db mi-app
sudo dokku domains:set mi-app miapp.ejemplo.com
sudo dokku letsencrypt:set mi-app email admin@ejemplo.com
sudo dokku letsencrypt:enable mi-app

# En tu equipo local
git remote add dokku dokku@servidor.ejemplo.com:mi-app
git push dokku main

En tres minutos la aplicación está desplegada, con base de datos conectada, dominio configurado y certificado SSL emitido. Es el flujo que hizo famoso a Heroku y Dokku lo reproduce sin artificio.

Limitaciones honestas

Hay que ser claro con las limitaciones:

  • Servidor único — si el servidor cae, la aplicación cae. Para alta disponibilidad real necesitas otro enfoque: balanceador externo con varios servidores Dokku detrás, o saltar a Docker Swarm o Kubernetes.
  • Escalado horizontal — Dokku permite escalar verticalmente (más memoria, más CPU en el mismo servidor) y lanzar múltiples procesos en paralelo dentro del mismo servidor, pero no escala entre servidores.
  • Ecosistema de complementos — los oficiales están bien mantenidos pero los de la comunidad varían en calidad. Antes de depender de un complemento poco usado en producción, conviene revisar su actividad.
  • Aislamiento multi-inquilino — todas las aplicaciones del servidor comparten el kernel y los recursos. Para ofrecer hosting a terceros, no es suficiente.

Conclusión

Mi lectura después de usar Dokku personalmente durante varios años es que es una herramienta excelente para un conjunto bien definido de casos. Para un desarrollador solo o un equipo pequeño desplegando varias aplicaciones web de tráfico moderado, Dokku es probablemente la mejor relación entre productividad, coste y control que existe. Ni Kubernetes ni los PaaS comerciales le superan en esa zona concreta.

Para cualquier otro caso hay alternativas mejores: si necesitas alta disponibilidad real, Kubernetes o Docker Swarm; si necesitas que el desarrollo sea lo máximamente frictionless y el coste no importa, Fly.io o Render; si el proyecto es una sola página estática, Cloudflare Pages o Netlify. Pero ese nicho intermedio —pocas aplicaciones, tráfico moderado, presupuesto contenido, control sobre datos— es grande y Dokku sigue siendo el rey tácito. La lección general: las herramientas que sobreviven ciclos tecnológicos largos no son las más vistosas sino las que resuelven un problema concreto sin pretender más. Ignorar su existencia cuando evalúas opciones para un proyecto pequeño es un error frecuente que acaba costando dinero y complejidad innecesaria.

¿Te ha resultado útil?
[Total: 12 · Media: 4.3]

Escrito por

CEO - Jacar Systems

Apasionado de la tecnología, la infraestructura cloud y la inteligencia artificial. Escribe sobre DevOps, IA, plataformas y software desde Madrid.