Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

Cara Menjadi Self-Host Beszel di VPS (Panduan Lengkap)

Panduan langkah demi langkah untuk melakukan self-hosting Beszel di VPS. Menyertakan instalasi Docker dan binary, pengaturan agen untuk beberapa server, dan login pertama.

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:

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:

  1. Klik Add Server.
  2. Masukkan nama dan hostname atau IP server.
  3. 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

MasalahSolusi
Dashboard tidak bisa diaksesPeriksa firewall (ufw status), pastikan container berjalan (docker ps)
Agen tidak terhubungVerifikasi variabel lingkungan KEY sudah benar, periksa log agen (docker logs beszel-agent)
Penggunaan disk tinggiKurangi interval retensi metrik di pengaturan Beszel
Container tidak mau startPeriksa 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.