Beszel adalah dashboard pemantauan server yang di-host sendiri yang memberikan Anda visibilitas secara real-time ke metrik CPU, RAM, disk, dan jaringan di berbagai server. Sangat ringan (berjalan dengan 512 MB RAM), menggunakan SQLite untuk penyimpanan, dan dapat di-deploy dalam hitungan menit melalui Docker. Panduan ini mencakup semuanya mulai dari memilih VPS hingga memantau server jarak jauh pertama Anda.
Prasyarat
Sebelum memulai, Anda membutuhkan:
- Sebuah VPS - minimal 1 GB RAM, 1 vCPU, dan 10 GB penyimpanan. Penyedia yang direkomendasikan:
- Hetzner Cloud - 4,15 EUR/bulan, 4 GB RAM, 40 GB NVMe (nilai terbaik di UE)
- Contabo VPS - 5,99 EUR/bulan, 8 GB RAM, 200 GB NVMe (penyimpanan terbaik)
- DigitalOcean - 6 USD/bulan, 1 GB RAM (ramah pemula)
- Ubuntu 22.04 atau Debian 12 terinstal di VPS.
- Akses SSH ke VPS.
- Docker (atau unduh binary Beszel secara langsung).
- Port 8090 dibuka di firewall Anda.
Langkah 1: Hubungkan ke VPS Anda
ssh root@your-vps-ip
Perbarui paket:
apt update && apt upgrade -y
Langkah 2: Instal Docker
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
Periksa bahwa Docker berjalan:
docker --version
Langkah 3: Buka Port Firewall 8090
Di Ubuntu menggunakan UFW:
ufw allow 8090/tcp
ufw reload
Di Debian menggunakan iptables:
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
Langkah 4: Deploy Hub Beszel
Opsi A: Docker Run (Memulai Cepat)
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Opsi B: Docker Compose (Disarankan)
Buat direktori proyek:
mkdir -p /opt/beszel && cd /opt/beszel
Buat 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:
Mulai layanan:
docker compose up -d
Periksa bahwa sedang berjalan:
docker compose ps
docker compose logs -f
Opsi C: Instalasi Binary (Tanpa Docker)
Unduh rilis terbaru sesuai arsitektur Anda:
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
Buat layanan systemd di /etc/systemd/system/beszel.service:
[Unit]
Description=Hub monitoring Beszel
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel serve
WorkingDirectory=/var/lib/beszel
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Aktifkan dan mulai layanan:
mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel
Langkah 5: Login Pertama
Buka browser dan navigasikan ke:
http://your-vps-ip:8090
Anda akan diminta untuk membuat akun admin saat pertama kali masuk. Atur password yang kuat. Ini akan membuat pengguna awal di database SQLite.
Langkah 6: Tambahkan Server untuk Dipantau
Beszel menggunakan agen ringan yang diinstal di setiap server yang ingin Anda pantau.
6.1 Hasilkan Kunci Agen
Di dashboard Beszel:
- Klik Add Server.
- Masukkan nama dan hostname atau IP server.
- Salin Agent Key yang dihasilkan - Anda akan membutuhkannya di server yang dipantau.
6.2 Instal Agen di Server Target
SSH ke server yang ingin dipantau, lalu jalankan:
Docker:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<tempelkan-agent-key-anda-di-sini>" \
henrygd/beszel-agent
Binary:
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
Buat file /etc/systemd/system/beszel-agent.service:
[Unit]
Description=Agen pemantauan Beszel
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<kunci-agent-anda di sini>
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Aktifkan dan mulai layanan:
systemctl daemon-reload
systemctl enable --now beszel-agent
Dalam beberapa detik, server harus muncul sebagai Connected di dashboard Beszel.
Langkah 7: (Opsional) Tempatkan Beszel di Balik Reverse Proxy
Untuk akses HTTPS, konfigurasi Caddy atau Nginx di depan Beszel.
Contoh Caddy (/etc/caddy/Caddyfile):
monitor.yourdomain.com {
reverse_proxy localhost:8090
}
Contoh Nginx (/etc/nginx/sites-available/beszel):
server {
listen 80;
server_name monitor.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name monitor.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/monitor.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/monitor.yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Troubleshooting
| Masalah | Solusi |
|---|---|
| Dashboard tidak bisa diakses | Periksa firewall (ufw status), pastikan container berjalan (docker ps) |
| Agen tidak terhubung | Verifikasi variabel lingkungan KEY sudah benar, periksa log agen (docker logs beszel-agent) |
| Penggunaan disk tinggi | Kurangi interval retensi metrik di pengaturan Beszel |
| Container tidak mau start | Periksa log: docker compose logs beszel |
FAQ
Bagaimana cara mencadangkan data Beszel?
Seluruh data Beszel tersimpan di volume Docker beszel_data (atau /var/lib/beszel untuk instalasi binary). Cadangkan file database SQLite dengan:
docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"
Lalu salin /beszel_data/beszel.db.bak dari server dengan rsync atau scp.
Apakah saya bisa memantau server Windows dengan Beszel?
Agen Beszel mendukung Linux, macOS, dan Windows. Instal binary Windows dan daftarkan sebagai service Windows, lalu arahkan hub Beszel ke situ.
Apakah Beszel memerlukan koneksi internet?
Tidak. Beszel sepenuhnya mandiri. Hub dan agen berkomunikasi hanya satu sama lain, tanpa panggilan eksternal. Berfungsi sepenuhnya di jaringan pribadi atau VPN.