Versão corrigida — inclui mapeamento de portas interno correto, volumes e checklist para evitar 502 Bad Gateway.
1 • Pré-requisitos
- Servidor Linux (Debian/Ubuntu recomendado)
- CloudPanel instalado e funcionando
- Domínio/subdomínio apontado para o servidor
- Acesso SSH com privilégio root ou sudo
- Docker e Docker Compose instalados
2 • Instalação do Docker
Comandos rápidos para instalar o Docker usando o script oficial:
sudo curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh docker ps docker info
3 • Criar Site Reverse Proxy no CloudPanel
- No CloudPanel clique em Add Site → Add Reverse Proxy.
- Defina o domínio (ex:
app.seudominio.com.br). - Reverse Proxy URL:
http://127.0.0.1:5000 - Emita certificado Let’s Encrypt (SSL/TLS) para o domínio.
4 • Criar diretórios do Dockge
Entre no diretório do site criado pelo CloudPanel — padrão:
cd /home/SEU-USUARIO/htdocs/SEU-DOMINIO/
Crie as pastas que serão montadas no container:
mkdir dockge mkdir dockge-stacks
Essas pastas serão mapeadas para /app/data e /stacks dentro do container, respectivamente.
5 • Arquivo compose.yaml (corrigido)
Crie/edite o arquivo compose.yaml no diretório do site com o conteúdo abaixo:
services:
dockge:
container_name: dockge
image: louislam/dockge:1
restart: unless-stopped
ports:
- "5000:5001"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./dockge:/app/data"
- "./dockge-stacks:/stacks"
environment:
- DOCKGE_STACKS_DIR=/stacks
Por que esse mapeamento?
O Dockge (versões recentes da imagem) escuta internamente na porta 5001. Queremos expor externamente pela porta 5000, portanto o mapeamento deve ser 5000:5001. Isso evita condição em que o container esteja “UP” mas o serviço interno não responda na porta esperada.
6 • Subir o Dockge
Execute:
docker compose up -d
Verifique se o container subiu e a porta está mapeada:
docker ps
Exemplo esperado:
dockge ... Up (healthy) 0.0.0.0:5000->5001/tcp
7 • Testes internos
Importante: testar antes via localhost para confirmar que o Dockge responde:
curl -I http://127.0.0.1:5000
Resposta esperada:
HTTP/1.1 200 OK
Se você receber Connection reset ou outro erro, veja os logs:
docker logs dockge --tail 200
8 • O que não fazer
- Não acesse diretamente:
https://app.seudominio.com.br:5000/ - Motivo: Porta 5000 não tem SSL e o CloudPanel é o responsável por prover SSL + proxy.
- O acesso externo correto é SEM a porta explícita (veja abaixo).
9 • Acesso correto
Depois que o container estiver OK e o SSL ativo no CloudPanel, acesse:
https://app.seudominio.com.br/
O CloudPanel faz o reverse proxy (127.0.0.1:5000) e entrega o Dockge via HTTPS.
10 • Problemas comuns e como corrigir
- Curl interno falha (connection reset): o serviço interno do Dockge não está escutando na porta mapeada. Verifique logs com
docker logs dockgee confirme o mapeamento5000:5001. - 502 Bad Gateway: Reverse Proxy do CloudPanel apontando para URL errada — deve ser
http://127.0.0.1:5000. - SSL ou certificado inválido: Reemita o Let’s Encrypt no painel do CloudPanel para o site.
- Volumes/montagens inválidas: As pastas devem existir (ex.:
./dockgee./dockge-stacks) e serem montadas conforme o compose. - Permissões: Se o Dockge não conseguir gravar nos volumes, ajuste permissões no host ou use UID/GID apropriado.
Conclusão
Este tutorial já incorpora as correções aplicadas na prática: mapeamento de portas correto (5000:5001), volumes, variável DOCKGE_STACKS_DIR=/stacks e checklist do CloudPanel. Seguindo esse passo a passo, você evita o erro 502 e terá o Dockge rodando e servido via HTTPS pelo seu domínio.