Como instalar o Portainer para gerenciar contêineres pelo navegador
O Portainer é uma interface web para o Docker. Serve para ver rapidamente o que está rodando, ler o log de um contêiner que caiu, reiniciar um serviço ou conferir quanto de memória cada coisa consome — sem abrir o SSH.
É especialmente útil quando mais de uma pessoa mexe no servidor, ou quando você precisa checar algo do celular.
Antes de começar
- VPS com Docker — veja o guia de Docker.
- Subdomínio apontado para o IP, por exemplo
painel.seudominio.com.br. - Consumo baixo: cerca de 100 MB. Cabe em qualquer plano.
Suba o Portainer atrás de HTTPS
O Portainer precisa do socket do Docker para funcionar. Em vez de publicar a porta dele direto na internet, deixamos o Caddy na frente cuidando do certificado.
mkdir -p /opt/portainer && cd /opt/portainer
cat > docker-compose.yml <<'EOF'
services:
portainer:
image: portainer/portainer-ce:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
environment:
DOMINIO: painel.seudominio.com.br
EMAIL: [email protected]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
volumes:
portainer_data:
caddy_data:
caddy_config:
EOF
cat > Caddyfile <<'EOF'
{$DOMINIO} {
tls {$EMAIL}
reverse_proxy portainer:9000
}
EOF
docker compose up -d
Quem tem acesso ao Portainer tem, na prática, acesso root à VPS — o socket do Docker permite subir um contêiner privilegiado. Trate a senha dele com o mesmo cuidado da senha de root.
Crie a senha de administrador
Abra https://painel.seudominio.com.br nos primeiros minutos. O Portainer fecha o cadastro inicial por segurança se ninguém criar a conta logo — e aí é preciso reiniciar o contêiner para liberar de novo.
# se aparecer a mensagem de timeout do cadastro
docker compose restart portainer
Conheça o que importa no dia a dia
Três telas resolvem quase tudo:
- Containers — estado, consumo e o botão de logs, que é onde você descobre por que algo parou.
- Volumes — onde os dados moram de verdade. Útil antes de apagar qualquer coisa.
- Stacks — os seus
docker-compose.yml. Dá para editar e reaplicar por aqui, inclusive do celular.
Limite o acesso, se puder
Se você acessa sempre do mesmo lugar, restringir por IP no proxy é uma camada barata e eficiente.
cat > /opt/portainer/Caddyfile <<'EOF'
{$DOMINIO} {
tls {$EMAIL}
@permitido remote_ip 203.0.113.10 198.51.100.0/24
handle @permitido {
reverse_proxy portainer:9000
}
respond 403
}
EOF
docker compose restart caddy
Troque os endereços do exemplo pelo seu IP real. Se você usa internet móvel ou IP dinâmico, esta restrição vai te atrapalhar mais do que ajudar.
Se algo não funcionar
Mensagem de que o cadastro inicial expirou
É proteção do próprio Portainer contra instalações esquecidas abertas. Reinicie o contêiner e crie a senha em seguida: docker compose restart portainer.
O Portainer não lista nenhum contêiner
O socket do Docker não foi montado. Confirme a linha /var/run/docker.sock:/var/run/docker.sock no compose e recrie o contêiner.
Console de emergência, reinstalação e snapshot pelo painel, sem depender de ticket.
Perguntas frequentes
O Portainer substitui a linha de comando?
Para o dia a dia, em boa parte: ver log, reiniciar, conferir consumo. Instalações novas e ajustes finos continuam mais rápidos pelo terminal, e é bom não perder a prática — se o Portainer cair, é pelo SSH que você resolve.
Existe versão paga?
Sim, a Business, com recursos de equipe e permissões granulares. A Community Edition, usada aqui, é gratuita e suficiente para um servidor único.
Continue por aqui
Como instalar o Docker em uma VPS Ubuntu
Base para qualquer serviço auto-hospedado: Docker, Compose, usuário sem root e limpeza automática de imagens.
Como instalar o Uptime Kuma para monitorar seus sites
Monitor de disponibilidade com alerta no WhatsApp, Telegram ou e-mail, e página de status pública.
Como proteger uma VPS Ubuntu: o básico que evita 99% dos ataques
Chave SSH, firewall, fail2ban e atualizações automáticas — a base que separa um servidor invadido de um servidor em paz.