Como Hospedar o Beszel em um VPS (Guia Completo)
O Beszel é um painel de monitoramento de servidores hospedado por você que oferece visibilidade em tempo real de métricas de CPU, RAM, disco e rede em vários servidores. É extremamente leve (roda com 512 MB de RAM), utiliza SQLite para armazenamento e pode ser implantado em minutos via Docker. Este guia cobre tudo, desde a escolha do VPS até o monitoramento do seu primeiro servidor remoto.
Pré-requisitos
Antes de começar, você precisa:
- Um VPS - 1 GB de RAM, 1 vCPU, no mínimo 10 GB de armazenamento. Fornecedores recomendados:
- Hetzner Cloud - 4,15 EUR/mês, 4 GB de RAM, 40 GB NVMe (melhor custo-benefício na UE)
- Contabo VPS - 5,99 EUR/mês, 8 GB de RAM, 200 GB NVMe (melhor armazenamento)
- DigitalOcean - 6 USD/mês, 1 GB de RAM (fácil para iniciantes)
- Ubuntu 22.04 ou Debian 12 instalado no VPS.
- Acesso SSH ao VPS.
- Docker (ou baixe o binário do Beszel diretamente).
- Porta 8090 aberta no seu firewall.
Passo 1: Conectar ao seu VPS
ssh root@seu-ip-do-vps
Atualize os pacotes:
apt update && apt upgrade -y
Passo 2: Instalar Docker
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
Verifique se o Docker está rodando:
docker --version
Passo 3: Abrir a Porta do Firewall 8090
No Ubuntu com UFW:
ufw allow 8090/tcp
ufw reload
No Debian com iptables:
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
Passo 4: Implantar o Hub do Beszel
Opção A: Docker Run (Início Rápido)
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Opção B: Docker Compose (Recomendado)
Crie um diretório de projeto:
mkdir -p /opt/beszel && cd /opt/beszel
Crie docker-compose.yml:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- beszel_data:/beszel_data
volumes:
beszel_data:
Inicie o serviço:
docker compose up -d
Confirme que está rodando:
docker compose ps
docker compose logs -f
Opção C: Instalação via Binário (Sem Docker)
Baixe a versão mais recente para sua arquitetura:
curl -sL https://api.github.com/repos/henrygd/beszel/releases/latest \
| grep "browser_download_url.*linux_amd64" \
| cut -d '"' -f 4 \
| xargs curl -Lo /usr/local/bin/beszel
chmod +x /usr/local/bin/beszel
Crie um serviço systemd em /etc/systemd/system/beszel.service:
[Unit]
Description=Hub de monitoramento do Beszel
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel serve
WorkingDirectory=/var/lib/beszel
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Habilite e inicie:
mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel
Passo 5: Primeiro Acesso
Abra seu navegador e navegue até:
http://seu-ip-do-vps:8090
Será solicitado criar uma conta de administrador na primeira execução. Configure uma senha forte. Isso criará o usuário inicial no banco de dados SQLite.
Passo 6: Adicionar Servidores para Monitorar
O Beszel usa um agente leve instalado em cada servidor que deseja monitorar.
6.1 Gerar uma Chave de Agente
No painel do Beszel:
- Clique em Add Server.
- Insira um nome e o hostname ou IP do servidor.
- Copie a Chave de Agente gerada - você precisará dela no servidor monitorado.
6.2 Instalar o Agente no Servidor de Destino
Acesse via SSH o servidor que deseja monitorar e execute:
Docker:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<cole-a-sua-chave-do-agente-aqui>" \
henrygd/beszel-agent
Binário:
curl -sL https://api.github.com/repos/henrygd/beszel/releases/latest \
| grep "browser_download_url.*beszel-agent.*linux_amd64" \
| cut -d '"' -f 4 \
| xargs curl -Lo /usr/local/bin/beszel-agent
chmod +x /usr/local/bin/beszel-agent
Crie /etc/systemd/system/beszel-agent.service:
[Unit]
Description=Agente de monitoramento do Beszel
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<sua-chave-do-agente>
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Habilite e inicie:
systemctl daemon-reload
systemctl enable --now beszel-agent
Em poucos segundos, o servidor deverá aparecer como Conectado no painel do Beszel.
Passo 7: (Opcional) Colocar o Beszel por Trás de um Reverse Proxy
Para acesso via HTTPS, configure Caddy ou Nginx na frente do Beszel.
Exemplo Caddy (/etc/caddy/Caddyfile):
monitor.seudominio.com {
reverse_proxy localhost:8090
}
Exemplo Nginx (/etc/nginx/sites-available/beszel):
server {
listen 80;
server_name monitor.seudominio.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name monitor.seudominio.com;
ssl_certificate /etc/letsencrypt/live/monitor.seudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.seudominio.com/privkey.pem;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Resolução de Problemas
| Problema | Correção |
|---|---|
| Dashboard inacessível | Verifique o firewall (ufw status), confirme se o container está rodando (docker ps) |
| Agente não conecta | Verifique se a variável de ambiente KEY está correta, confira os logs do agente (docker logs beszel-agent) |
| Uso elevado de disco | Reduza o intervalo de retenção de métricas nas configurações do Beszel |
| Container não inicia | Verifique os logs: docker compose logs beszel |
Perguntas Frequentes (FAQs)
Como faço backup dos dados do Beszel?
Todo o estado do Beszel fica no volume Docker beszel_data (ou /var/lib/beszel em instalações binárias). Faça backup do arquivo do banco SQLite com:
docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"
Depois, copie /beszel_data/beszel.db.bak do servidor usando rsync ou scp.
Posso monitorar servidores Windows com o Beszel?
O agente do Beszel suporta Linux, macOS e Windows. Instale o binário do Windows e registre-o como um serviço do Windows, então aponte seu hub do Beszel para ele.
O Beszel precisa de conexão com a internet?
Não. O Beszel é totalmente autossuficiente. O hub e os agentes se comunicam somente entre si, sem chamadas externas. Funciona totalmente em uma rede privada ou VPN.