Servidor VPS (Cloud)
Como instalar o Portainer na VPS para gerenciar o Docker
Use este guia com IA
Escolha o que você quer e abra no seu assistente preferido.
1 O que a IA deve fazer?
2 Abrir no assistente
Neste artigo
Resposta rápida: com o Docker instalado, crie um volume (docker volume create portainer_data) e suba o Portainer CE com docker run na porta 9443 (HTTPS). Abra https://IP_DA_VPS:9443 e crie o usuário administrador nos primeiros minutos. Depois, restrinja o acesso ao painel, porque ele controla todos os containers da VPS.
O que é o Portainer
O Portainer é um painel web para Docker. Em vez de decorar comandos, você sobe, para e inspeciona containers pelo navegador, vê logs em tempo real e administra imagens, volumes, redes e stacks do Docker Compose. É muito usado para rodar n8n, Evolution API, bancos de dados e outros serviços em VPS.
A edição Community (CE) é gratuita e de código aberto, e é a usada neste guia.
Pré-requisitos
- VPS com Ubuntu ou Debian e acesso root ou sudo.
- Docker instalado e rodando. Se ainda não tem, siga como instalar Docker no Ubuntu e no Debian.
- Pelo menos 1 GB de RAM livre para o Portainer e os primeiros containers.
Confira o Docker com sudo docker version antes de seguir.
Instalar o Portainer CE
- Crie o volume onde o Portainer guarda usuários e configurações:
sudo docker volume create portainer_data - Suba o container:
sudo docker run -d \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:lts - Confira se está rodando:
sudo docker ps --filter name=portainer
A tag lts segue a versão de suporte estendido, a mais estável. A porta 9443 serve o painel em HTTPS com um certificado autoassinado, então o navegador vai mostrar um aviso de segurança no primeiro acesso; isso é esperado. A porta 8000 só é necessária para o recurso Edge Agent, que não é usado aqui.
Primeiro acesso e usuário administrador
Libere a porta no firewall, de preferência só para o seu IP:
sudo ufw allow from SEU_IP to any port 9443 proto tcpAtenção: portas publicadas pelo Docker podem continuar acessíveis mesmo com essa regra do UFW (veja a seção de segurança). Para restringir de verdade, publique o painel só em 127.0.0.1 e acesse por túnel SSH ou por um domínio com proxy reverso.
Abra https://IP_DA_VPS:9443, aceite o aviso do certificado e crie o administrador com uma senha forte (o Portainer exige no mínimo 12 caracteres). Em seguida, escolha o ambiente local (Get Started) para gerenciar o Docker da própria VPS.
Importante: crie o administrador logo após subir o container. Por segurança, o Portainer desativa a tela de criação depois de alguns minutos sem uso; se isso acontecer, reinicie o container com
sudo docker restart portainere acesse de novo.
Segurança do painel
Quem entra no Portainer controla todos os containers e pode acessar dados, variáveis e senhas. Trate o acesso como crítico:
- Restrinja por IP no firewall, como no comando acima, em vez de abrir a porta para todos.
- Use senha forte e, se possível, um usuário administrador por pessoa.
- Coloque atrás de um domínio com HTTPS válido, usando o Nginx como proxy reverso e certificado Let's Encrypt. Veja como instalar o Nginx.
- Atenção ao Docker e ao UFW: portas publicadas pelo Docker com
-ppodem ficar acessíveis mesmo com regras do UFW, porque o Docker cria as próprias regras de firewall. Para deixar o painel só no proxy local, publique com-p 127.0.0.1:9443:9443e acesse pelo domínio. - Mantenha atualizado: versões antigas acumulam falhas conhecidas.
Atualizar o Portainer
Os dados ficam no volume portainer_data, então atualizar é trocar o container:
sudo docker stop portainer
sudo docker rm portainer
sudo docker pull portainer/portainer-ce:lts
sudo docker run -d -p 9443:9443 --name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:ltsUso no dia a dia
- Stacks: cole um arquivo
docker-compose.ymle suba vários serviços de uma vez, como n8n com PostgreSQL. - Logs e console: veja os logs de cada container e abra um terminal dentro dele pelo navegador.
- Estatísticas: acompanhe CPU e memória por container.
- Limpeza: remova imagens e volumes que não são mais usados. Antes de apagar volumes, confira a quem pertencem, porque guardam dados de bancos.
Para acompanhar o consumo da máquina inteira, use também o guia de htop e Netdata. Se o disco encher com imagens antigas, veja como descobrir o que ocupa espaço na VPS.
Qual VPS usar na RoxyCloud
O Portainer em si é leve. O que define o plano são os containers que você vai rodar:
| Uso | Plano sugerido |
|---|---|
| Portainer com um ou dois serviços leves | VPS Xeon 2 GB |
| n8n com PostgreSQL, Evolution API ou bots | VPS Xeon 4 a 8 GB |
| Muitos containers ou serviços que pedem CPU rápida | VPS Ryzen 9 8 GB ou mais |
Todas as VPS da RoxyCloud usam KVM, com Docker funcionando de forma nativa, acesso root, IPv4 dedicado e Anti-DDoS incluso. Para automações, há também a página VPS para n8n, com Ubuntu 24.04 pronto para instalar Docker e Portainer.
Perguntas frequentes
O Portainer é gratuito?
A edição Community (CE) é gratuita e de código aberto. Existe também a Business Edition, paga, com recursos extras para empresas.
Qual porta o Portainer usa?
A 9443 para o painel em HTTPS. A 9000 (HTTP) é usada só em instalações antigas ou quando ativada manualmente, e a 8000 só no recurso Edge Agent.
É seguro deixar o Portainer exposto na internet?
Não sem proteção. Ele controla todos os containers. Use senha forte, restrinja por IP e, de preferência, acesse por um domínio com HTTPS via proxy reverso.
O Portainer substitui a linha de comando do Docker?
Para o dia a dia, em boa parte sim. Para tarefas avançadas, a linha de comando continua útil, mas o painel reduz muito o trabalho.
Esqueci a senha do Portainer, e agora?
É possível redefinir com a ferramenta oficial de reset de senha do Portainer, rodando um container auxiliar com o volume de dados. Pare o Portainer antes e siga a documentação oficial.
Precisa de mais ajuda?
Abra um ticket, entre no Discord ou acesse o painel da RoxyCloud.