O Dockge é uma plataforma self-hosted para administração de containers Docker Compose através de interface gráfica. A ferramenta converte operações tradicionais de linha de comando em interações visuais, permitindo criar, editar e monitorar stacks de containers sem necessidade de memorizar comandos.
Desafios do Gerenciamento Tradicional
A administração convencional do Docker exige conhecimento profundo de CLI, manipulação manual de arquivos YAML e monitoramento fragmentado de múltiplos containers. O Dockge aborda essas limitações oferecendo um painel unificado com editor integrado, terminal web e monitoramento em tempo real.
Instalação em Três Etapas
O prerequisite é Docker 20+ ou Podman instalado em distribuições Linux como Ubuntu, Debian ou CentOS.
Procedimento Básico
Primeiro, estruture os diretórios necessários:
mkdir -p /opt/dockge/stacks
cd /opt/dockge
Obtenha o arquivo de configuração:
wget -O compose.yml "https://dockge.kuma.pet/compose.yaml?port=5001&stacksPath=/opt/dockge/stacks"
Inicialize o serviço:
docker compose up -d
Acesse http://localhost:5001 para visualizar o painel.
Configurações Avançadas
Para customizar comportamentos, ajuste variáveis de ambiente no arquivo de configuração:
services:
dockge:
environment:
DOCKGE_STACKS_DIR: /opt/dockge/stacks
PUID: "1000"
PGID: "1000"
Principais Recursos da Interface
Painel Principal
Exibe todos os stacks ativos com indicadores visuais de status, consumo de recursos e tempo de execução. Cores diferenciam containers saudáveis, em alerta ou com falhas.
Editor de Stacks
Permite criar e modificar arquvios compose com destaque de sintaxe YAML, autocompletar e validação automática. Operações de iniciar, parar, reiniciar e remover stacks são executadas com um clique.
Terminal Integrado
Terminal web embarcado para execução de comandos diretamente no navegador, facilitando diagnóstico e troubleshooting sem alternar para terminal local.
Exemplo Prático: Stack Web com Nginx e MySQL
Vamos implementar uma stack completa de aplicação web. Acesse a opção de criar novo stack e insira a configuração abaixo:
version: "3.8"
services:
servidor_web:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./public_html:/usr/share/nginx/html
depends_on:
- aplicacao
aplicacao:
image: node:18-alpine
working_dir: /src
volumes:
- ./src:/src
command: npm run dev
banco_dados:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: senha_secreta_123
MYSQL_DATABASE: db_aplicacao
volumes:
- dados_mysql:/var/lib/mysql
volumes:
dados_mysql:
Ao confirmar o deploy, o Dockge processa a criação de todos os containers e exibe logs em tempo real durante o processo.
Monitoramento Pós-Deploy
No painel, cada stack exibe detalhes individuais incluindo:
- Status de execução por container
- Métricas de CPU e memória
- Stream de logs em tempo real
- Mapeamento de portas e redes
Vantagens Arquiteturais
Compatibilidade de Arquivos
O Dockge mantém os arquivos compose no diretório especificado, permitindo gerenciamento paralelo via CLI com docker compose. Não há lock-in proprietário.
Suporte Multi-Host
A partir da versão 1.4.0, é possível administrar stacks distribuídos em múltiplos servidores Docker a partir de uma única interface centralizada.
Conversão de Comandos
A ferramenta converte automaticamente comandos docker run em sintaxe compose.yaml, facilitando migração de containers isolados para stacks completas.
Cenários de Aplicação
Ambientes de desenvolvimento: Gerenciamento de múltiplos projetos com containers distintos, alternando contextos rapidamente.
Homelab: Administração de serviços self-hosted como Nextcloud, Jellyfin, Home Assistant e outros.
Equipes pequenas: Padronização de ambientes através de versionamento dos arquivos compose em repositórios Git.
Recomendações de Segurança
- Execute o Dockge com usuário não-root configurando PUID e PGID
- Isole redes Docker para diferentes aplicações
- Realize backups periódicos do diretório de stacks
- Utilize arquivos
.envpara credenicais sensíveis
Atualização
Para atualizar o Dockge:
cd /opt/dockge
docker compose pull
docker compose up -d
Stack Tecnológica
O frontend é construído com Vue 3, enquento o backend utiliza Node.js com Express. A comunicação entre camadas ocorre via WebSocket para updates em tempo real. O código-fonte está organizado em frontend/src/ e backend/.
Troubleshooting
Para diagnóstico de problemas, consulte:
- Logs de containers individuais via interface
- Logs do daemon Docker no sistema operacional
- Arquivos de log em
/opt/dockge/data