dokku
``
Conceptos Relacionados
- cloud
- PaaS platform as a service
- Infraestructura
Enlaces Oficiales y Documentación
- Dokku - The smallest PaaS implementation you’ve ever seen
- Getting Started with Dokku - Dokku Documentation-
¿Qué es Dokku?
Dokku es una plataforma PaaS autoalojada y minimalista que permite desplegar aplicaciones de forma similar a Heroku, pero sobre tu propia infraestructura. Está diseñada para ser ligera, simple y fácil de operar en un solo servidor, aunque puede escalar con configuraciones adicionales.
Se apoya principalmente en:
- Docker como motor de contenedores
- Git como mecanismo de despliegue
- Plugins para extender funcionalidades (bases de datos, TLS, logs, backups, etc.)
Filosofía y Enfoque
Dokku prioriza:
- Simplicidad operativa
- Bajo consumo de recursos
- Control total de la infraestructura
- Curva de aprendizaje menor frente a PaaS más complejos
Está pensado para desarrolladores que quieren:
- Evitar la complejidad de Kubernetes
- No depender de proveedores PaaS propietarios
- Mantener una experiencia de despliegue basada en
git push
Arquitectura General
Dokku funciona como una capa de orquestación ligera sobre Docker.
Componentes clave:
- Servidor Linux (normalmente Ubuntu)
- Docker Engine
- Dokku Core
- Sistema de plugins
- Proxy HTTP integrado (Nginx)
Flujo general:
- El código se envía vía Git
- Dokku construye la imagen (buildpacks o Dockerfile)
- Se crea un contenedor por aplicación
- El proxy enruta el tráfico al contenedor activo
Modelo PaaS
Dokku implementa un modelo Platform as a Service enfocado a:
- Despliegue automático
- Gestión de variables de entorno
- Manejo de dominios y SSL
- Escalado básico de procesos
- Integración con servicios externos
Comparado con otros PaaS:
- Más simple que OpenShift
- Menos abstracto que Heroku
- Más manual que plataformas fully-managed
Gestión de Aplicaciones
Cada aplicación en Dokku:
- Vive como uno o varios contenedores Docker
- Puede escalar procesos horizontalmente
- Tiene su propio conjunto de variables de entorno
- Puede vincularse a servicios vía plugins
Características principales:
- Deploy por Git
- Rollbacks básicos
- Logs centralizados por app
- Aislamiento entre aplicaciones
Plugins y Extensibilidad
Dokku es altamente extensible mediante plugins.
Tipos comunes de plugins:
- Bases de datos (PostgreSQL, MySQL, Redis, MongoDB)
- SSL (Let’s Encrypt)
- Backups
- Monitoring
- Storage persistente
Los plugins permiten:
- Provisionar servicios con un solo comando
- Vincular servicios a aplicaciones
- Gestionar lifecycle de recursos
Networking y Proxy
Dokku incluye un proxy HTTP basado en Nginx que:
- Maneja múltiples dominios
- Soporta HTTPS
- Redirige tráfico a contenedores activos
- Permite customización avanzada si es necesario
El enrutamiento se basa en:
- Hostnames
- Puertos internos de contenedores
- Configuración automática al hacer deploy
Almacenamiento y Persistencia
Por defecto, los contenedores son efímeros.
Para persistencia:
- Volúmenes Docker
- Plugins de storage
- Servicios externos
Casos comunes:
- Datos de bases de datos
- Archivos subidos por usuarios
- Assets generados en runtime
Seguridad
Aspectos de seguridad en Dokku:
- Aislamiento por contenedores
- Control de acceso vía SSH
- Integración con TLS automático
- Variables de entorno protegidas
Buenas prácticas:
- Actualizar el sistema y Dokku regularmente
- Usar usuarios SSH específicos
- Separar servicios críticos
- Limitar exposición de puertos
Casos de Uso Comunes
Dokku es ideal para:
- Proyectos personales
- MVPs
- Startups en etapas tempranas
- Entornos de staging
- Equipos pequeños
No es ideal para:
- Infraestructuras multi-cluster
- Orquestación avanzada
- Autoescalado complejo
Relación con Infraestructura
Dokku se sitúa entre:
- Infraestructura tradicional
- PaaS completamente gestionado
Ofrece:
- Más control que un PaaS comercial
- Menos complejidad que una infraestructura manual
- Un punto intermedio para aprender DevOps práctico
Comparación Conceptual
Dokku vs Kubernetes:
- Dokku: simplicidad, rapidez, menor coste
- Kubernetes: flexibilidad, escalado masivo, complejidad alta
Dokku vs Heroku:
- Dokku: autoalojado, sin costes por dyno
- Heroku: gestionado, más abstracto, coste recurrente
¿Te gusta este contenido? Suscríbete vía RSS