Dockge: Gestor de stacks Docker Compose con interfaz reactiva

Publicado por


dockge
Gestor Docker Autohospedado

Dockge: Gestor de stacks Docker Compose con interfaz reactiva

Administra compose.yaml con editor interactivo, terminal web y soporte multi-agente desde una sola interfaz

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar Dockge: Gestor de stacks Docker Compose con interfaz reactiva en el canal GENBYTE:

¿Qué es Dockge: Gestor de stacks Docker Compose con interfaz reactiva?

Dockge es un gestor autohospedado orientado a stacks Docker Compose que permite crear, editar, iniciar, detener, reiniciar y eliminar stacks desde una interfaz web reactiva. Desarrollado por Louis Lam, creador de Uptime Kuma, comparte su filosofía de experiencia de usuario cuidada y rendimiento en tiempo real. Los archivos compose.yaml permanecen en el sistema de archivos del host, accesibles también mediante comandos docker compose estándar. Incluye conversión de comandos docker run a compose.yaml, terminal web interactiva y, desde la versión 1.4.0, soporte para múltiples agentes Docker en una sola interfaz.

Dockge no secuestra tus archivos compose: se almacenan en disco como archivos normales y puedes gestionarlos también con docker compose CLI.

Características principales

Gestión completa de stacks

Crear, editar, iniciar, detener, reiniciar, eliminar stacks y actualizar imágenes Docker desde la interfaz.

Editor interactivo de compose.yaml

Editor web con resaltado de sintaxis y validación para escribir y modificar archivos compose.yaml directamente en el navegador.

Terminal web interactiva

Acceso a terminal en contenedores en tiempo real mediante WebSocket, útil para depuración y administración rápida.

Soporte multi-agente (v1.4.0+)

Gestiona stacks de múltiples hosts Docker desde una única instancia de Dockge conectando agentes remotos.

Conversión docker run a compose.yaml

Transforma comandos docker run en archivos compose.yaml válidos mediante la librería composerize integrada.

Estructura basada en archivos

Los stacks se guardan como archivos compose.yaml en el directorio configurado, compatibles con docker compose CLI.

Interfaz reactiva en tiempo real

Progreso de pull, up, down y salida de terminal se actualizan en vivo gracias a Socket.IO.

Interfaz cuidada y responsive

Diseño inspirado en Uptime Kuma, adaptable a móvil y escritorio, con modo oscuro y experiencia de usuario fluida.

Requisitos del sistema

  • Docker 20+ o Podman
  • Para Podman: paquete podman-docker (Debian: apt install podman-docker)
  • Sistema operativo Linux: Ubuntu, Debian Bullseye o superior, Raspbian Bullseye o superior, CentOS, Fedora, ArchLinux
  • No compatible con Debian/Raspbian Buster o inferiores
  • Windows: no soportado oficialmente (previsto para futuro)
  • Arquitecturas: armv7, arm64, amd64 (x86_64)

Instalación con Docker Compose

Instalación básica

Crea los directorios para stacks y datos de Dockge, descarga el compose.yaml oficial y levanta el contenedor.

# Crear directorios
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# Descargar compose.yaml
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml –output compose.yaml

# Iniciar Dockge
docker compose up -d

# Si usas docker-compose V1 o Podman
# docker-compose up -d

Instalación avanzada con directorio personalizado

Genera un compose.yaml con puerto y ruta de stacks personalizados usando el generador web o edita manualmente las variables de entorno y volúmenes.

# Generar compose.yaml personalizado
curl "https://dockge.kuma.pet/compose.yaml?port=5001&stacksPath=/opt/stacks" –output compose.yaml

# Editar compose.yaml para añadir PUID/PGID si se requiere propiedad de archivos no root
# environment:
# – DOCKGE_STACKS_DIR=/opt/stacks
# – PUID=1000
# – PGID=1000

docker compose up -d

Acceder al proyecto

Acceso a la interfaz web

Dockge está disponible por defecto en http://localhost:5001 (o el puerto configurado). Al primer acceso se solicita crear usuario y contraseña de administrador.

Casos de uso

  • Gestión visual de stacks Docker Compose en servidores caseros o VPS
  • Administración de múltiples hosts Docker desde una sola interfaz mediante agentes
  • Conversión rápida de comandos docker run a compose.yaml para versionar despliegues
  • Depuración de contenedores con terminal web integrada sin acceso SSH
  • Equipos que prefieren gestionar infraestructura como código (compose.yaml en disco) con UI amigable
  • Alternativa ligera a Portainer cuando solo se requiere gestión de stacks Compose

Configuración avanzada

Configuración de propiedad de archivos (PUID/PGID)

Define PUID y PGID en el entorno del contenedor Dockge para que los archivos de stacks creados pertenezcan a un usuario no root.

environment:
– DOCKGE_STACKS_DIR=/opt/stacks
– PUID=1000
– PGID=1000

Uso de registros privados

Comparte el archivo de autenticación de Docker con Dockge para poder hacer pull de imágenes privadas.

volumes:
– /root/.docker/:/root/.docker

Regla crítica de volúmenes para stacks

La ruta del host y la ruta en el contenedor para el directorio de stacks deben ser idénticas (p. ej. /opt/stacks:/opt/stacks). Rutas diferentes causan escritura en ubicaciones incorrectas.

volumes:
– /opt/stacks:/opt/stacks # Correcto: ambas rutas coinciden
# – /docker:/my-stacks # Incorrecto: rutas distintas

Gestión y mantenimiento

Actualizar Dockge

Descarga la imagen más reciente y recrea el contenedor manteniendo la configuración y datos.

cd /opt/dockge
docker compose pull && docker compose up -d

Escanear stacks existentes

Si tienes stacks creados fuera de Dockge, muévelos al directorio de stacks y usa la opción "Escanear carpeta de stacks" en el menú superior derecho para importarlos.

# 1. Detener stack externo
# 2. Mover compose.yaml a /opt/stacks/<nombre-stack>/compose.yaml
# 3. En Dockge: menú desplegable superior derecho -> "Escanear carpeta de stacks"

Stack técnico

  • TypeScript (ES Modules)
  • Node.js >= 22.14.0
  • Vue 3 + Vite
  • Express.js (backend)
  • Socket.IO (tiempo real)
  • SQLite (knex, @louislam/sqlite3)
  • xterm.js (terminal web)
  • CodeMirror 6 (editor YAML)
  • Bootstrap 5 + Bootstrap Vue Next
  • Docker Compose V2 (motor de despliegue)
  • composerize (conversión docker run -> compose)

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *