
685 - Adios Portainer. Dockge lo destrona
#portainer ha sido el rey de la gestión de #docker via web en los últimos tiempos, pero hay otras opciones como por ejemplo #dockge que es mas sencillo
Como sabes soy un amante de la terminal, mas que nada por la productividad que me ofrece. De esta forma, prácticamente todo lo hago desde la terminal, incluido por supuesto, escribir los guiones de los podcast como este. Así, desde el principio me acostumbré a utilizar Docker sin interfaz gráfico. Y sobre todo con Compose la cosa se volvió sinceramente muy sencilla. Sin embargo, no siempre tengo al alcance de mis dedos una terminal, y justo es en esas circunstancias cuando tengo algún problemilla y necesito realizar alguna operación sobre los servicios que tengo corriendo con Docker. De esta forma, he implementado varias estrategias para corregir ese tipo de situaciones como por ejemplo utilizar Semaphore tal y como te conté en el episodio 489 titulado Semaphore, ansible y hardening. Pero con todo y con eso, hay veces que me preferiría tener la terminal a mano, o incluso un interfaz gráfico para poder revisar lo que está sucediendo, y aquí es donde aparede Dockge, la herramienta de la que te voy a hablar en este episodio, la herramienta que ha conseguido destronar a Portainer en mi equipo.

Adios Portainer. Dockge lo destrona
Un paseo por el pasado
Desde el principio de los tiempos vengo utilizando Docker con Compose. Directamente, a mano, sin la ayuda de ninguna herramienta adicional. Eso no quiere decir que no hay probado herramientas para hacerlo vía interfaz gráfica. Así por ejemplo, en el episodio 537 titulado Increíble Portainer o Docker sin terminal, te hablé de las opciones y posibilidades de Portainer. Sin embargo, yo he utilizado poco o muy poco esta herramienta. Me parece demasiado sobrecargada para lo que yo hago, y sobre todo, me parece demasiado compleja para algo que se resuelve fácilmente con un editor de texto como Nano o Vim y poco mas.
De la misma forma, en el episodio 646 te hablé sobre Cinco herramientas para gestionar Docker directamente desde la terminal, sin interfaz gráfico.
En general no suelo tener problemas con los servicios que tengo levantados utilizando Docker, salvo cuando estos se actualizan, que en algunas ocasiones no se reinician de forma correcta. Como te he contado en alguna ocasión, utilizo WatchTower para esto de actualizar las imágenes Docker que utilizo. Hasta hace algunos meses lo tenía configurado para que las imágenes se actualizaran todos los días, pero aquello era un sin vivir. En ocasiones me encontraba toda la semana apagando fuegos. Actualmente, estas actualizaciones las realizo una vez a la semana. De esta forma mis problemas se han reducido considerablemente. Sin embargo, de vez en cuando tengo algún problemilla, y necesito solucionarlo y no dispongo de mi terminal.
Sobre Dockge
Dockge es un servicio de código abierto, liberado bajo licencia MIT, y diseñado con el objetivo de facilitar la gestión de aplicaciones Docker utilizando para ello los archivos docker-compose.yml. La gran ventaja de Docke es que tiene una interfaz tremendamente intuitiva y muy sencilla de utilizar para gestionar los stacks de Docker Compose.
Este servicio, está implementado por el mismo desarrollador de Uptime Kuma una herramienta de la que te hablé en el tutorial sobre Self hosted, auto alojamiento y soberanía digital. Si no conoces esta Uptime Kuma, y tienes una página web o cualquier otro servicio web funcionando, te recomiendo que le des un vistazo, porque es una herramienta que te permitirá dormir mas tranquilo.
Dockge, te permite crear, editar, iniciar, parar y eliminar contenedores y servicios Docker directamente desde la interfaz web, de la misma forma que lo haces con otras herramientas como puede ser Portainer, pero con una interfaz mucho mas simple y no tan recargada de opciones. De hecho, la razón del desarrollador para implementar esta aplicación fue precisamente Portainer, dado que el era un usuario de esta herramienta y en ocasiones no le funcionaba como el esperaba.
En mi caso particular, como te contaba anteriormente de Portainer, en general, me sobra la mayoría de las cosas, y es una de las razones para no utilizarlo. Pero tengo que reconocer que es una herramienta que simplifica mucho las cosas, mientras que otras herramientas como Dockge te obligan a tener mas conocimientos de lo que estás haciendo. Pero para mi, me viene que ni pintado, porque me permite hacer lo que hago en terminal directamente en la interfaz gráfico.
Características
Algunas de las características de este servicio son las siguientes,
- Te permite gestionar tus stacks de forma sencilla, con la opción de iniciar, parar o reiniciar. Además puedes actualizar las imágenes. Esto es realmente interesante si lo combinas con otras herramientas que se encarguen de avisarte cuando algunas de tus imágenes no está actualizadas.
- Además tiene un editor interactivo de archivos
docker-compose.yml
. Con lo que puedes crear tus propiosstacks
, y gestionarlos como tu quieras. En este caso, le echo en falta algunas características que yo suelo utilizar con frecuencia, como por ejemploinit: true
o cosas tan básicas como poner nombre a los contenedores. Otra de las características que también echo en falta, es la posibilidad de añadir etiquetas. Esto para mi es crucial, porque como sabes utilizoTraefik
para todo esto. Sin embargo, siempre puedes modificar eldocker-compose.yml
directamente en el editor de Dockge. - Y tiene una terminal web, de forma que puedo acceder al interior de cada uno de los contenedores con tan solo tener una web desde la que poder acceder a Dockge. Y no solo puedes acceder a los contenedores, si no que también puedes acceder al directorio donde se encuentran tus
compose.yml
. - Puedes gestionar distintos hosts Docker desde un único Dockge. Esto simplifica mucho el trabajo, y no te obliga a tener un servicio web
Dockge
en cada uno de los servidores que tengas repartidos a lo largo del mundo. - Otra cuestión interesante es que todos los archivos
compose.yml
se encuentran directamente en tu equipo, no están en base de datos ni nada similar. De esta forma, si el día de mañana quieres dejar de utilizarDockge
lo puedes hacer fácilmente. En pocas palabrasDockge
es completamente transparente. - El servicio es adaptativo o responsive. Está perfectamente preparado para ver y utilizar desde el móvil desde una tablet o desde donde tu quieras.
Instalación
La instalación es muy sencilla, simplemente con un docker-compose.yml
lo tienes funcionando. Indicarte que lo he actualizado en el repositorio de GitHub que me he dado cuenta que lo tengo ligeramente abandonado. Si echas en falta cualquier servicio no tienes mas que avisarme y lo actualizo para que esté disponible para todo el que lo quiera utilizar.
Comparando Portaniner con Dockge
Por supuesto que es necesaria una comparación entre estos dos servicios, por que no quiero que te lleves a engaño, y es que Dockge no es Portainer. Portainer tiene muchas mas opciones y abarca mucho mas que solo gestionar stacks, pero.
Así, mientras que Dockge está pensado específicamente para gestionar aplicaciones basadas en Docker Compose, Portainer es una herramienta mas completa y general, que además de esto te permite gestionar contenedores, volúmenes, redes, imaǵenes y mucho mas.
Interfaz
Respecto a la interfaz de usuario, en el caso de Dockge vas a encontrar una interfaz de usuaurio sencilla, muy ligera y moderna, pero sobre todo, muy enfocada en la experiencia con los Docker Compose. Te permite editar los archivos Docker compose directamente desde la interfaz, así como ver los logs y acceder a terminal. Por el contrario, Portainer tiene una interfaz mucho mas completa y corporativa, con una gran cantidad de opciones lo que puede llegar a ser abrumador, pero que desde luego te abre un mundo de posibilidades.
Funcionalidades
A continuación tienes un cuadro comparativo de las funcionalidades de uno como de otro,
Función | Dockge ✔ | Portainer ✔ |
---|---|---|
Gestión de stacks (Compose) | ✅ | ✅ |
Gestión de contenedores | 🔸 Limitada a Compose | ✅ |
Editor integrado YAML | ✅ | ❌ (requiere pegar el YAML o subir archivo) |
Logs y terminal interactivo | ✅ | ✅ |
Gestión de imágenes | ❌ | ✅ |
Gestión de redes/volúmenes | ❌ | ✅ |
Gestión de usuarios | ❌ | ✅ (incluye RBAC) |
Multi-host / Agentes | ❌ | ✅ (versión Business) |
Consumo de recursos
Mientras que Dockge es muy ligero y es ideal para servidores modestos, Portainer por otro lado es mucho mas pesado, pero aportando mas opciones y funcionalidades.
¿Que ando haciendo?
Con todo esto, lo que estoy haciendo es organizar mis docker-compose.yml
para poder gestionarlo con Dockge. Mas que nada por la comodidad de poder acceder a los contenedores directamente desde el móvil o desde donde tenga un navegador web a mano. Es realmente muy cómodo.
Pero lo estoy haciendo poco a poco, por que la verdad es que me da mucha pereza ir cambiando todo, tal y como lo tengo de un sitio a otro, me da mucha pereza. Pero todo sea por la funcionalidad extra que me ofrece Dockge.
Conclusión
Sinceramente, a mi me viene que ni pintao. Para mi es como seguir utilizando la terminal, pero con la comodidad de la creación del docker-compose.yml por las facilidades que Dockge me ofrece.