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

guide

Hoe Zelf-host Beszel op een VPS (Volledige Gids)

Stapsgewijze gids voor het zelf hosten van Beszel op een VPS. Behandelt Docker en binary installatie, agentsetup voor meerdere servers, en de eerste login.

Hoe Zelf-host Beszel op een VPS (Volledige Gids)

Beszel is een zelfgehost dashboard voor serverbewaking dat je realtime inzicht geeft in CPU-, RAM-, schijf- en netwerkstatistieken over meerdere servers. Het is uiterst lichtgewicht (werkt op 512 MB RAM), gebruikt SQLite voor opslag, en kan in minuten worden gedeployed via Docker. Deze gids behandelt alles van het kiezen van een VPS tot het bewaken van je eerste externe server.

Vereisten

Voordat je begint, heb je nodig:

Stap 1: Verbinden met je VPS

ssh root@jouw-vps-ip

Update pakketten:

apt update && apt upgrade -y

Stap 2: Installeer Docker

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

Controleer of Docker draait:

docker --version

Stap 3: Open Firewall Poort 8090

Op Ubuntu met UFW:

ufw allow 8090/tcp
ufw reload

Op Debian met iptables:

iptables -A INPUT -p tcp --dport 8090 -j ACCEPT

Stap 4: Deploy de Beszel Hub

Optie A: Docker Run (Snelle Start)

docker run -d \
  --name beszel \
  --restart unless-stopped \
  -p 8090:8090 \
  -v beszel_data:/beszel_data \
  henrygd/beszel

Optie B: Docker Compose (Aanbevolen)

Maak een projectmap:

mkdir -p /opt/beszel && cd /opt/beszel

Maak 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:

Start de service:

docker compose up -d

Bevestig dat het draait:

docker compose ps
docker compose logs -f

Optie C: Binary Installatie (Geen Docker)

Download de laatste versie voor jouw architectuur:

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

Maak een systemd service aan op /etc/systemd/system/beszel.service:

[Unit]
Description=Beszel bewakingshub
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel serve
WorkingDirectory=/var/lib/beszel
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Activeer en start:

mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel

Stap 5: Eerste Inloggen

Open je browser en navigeer naar:

http://jouw-vps-ip:8090

Je wordt gevraagd een beheerdersaccount aan te maken bij de eerste lancering. Stel een sterk wachtwoord in. Dit maakt de eerste gebruiker aan in de SQLite-database.

Stap 6: Servers Toevoegen om te Bewaken

Beszel gebruikt een lichtgewicht agent die op elke te bewaken server geรฏnstalleerd wordt.

6.1 Genereer een Agent Sleutel

In het Beszel dashboard:

  1. Klik op Add Server.
  2. Voer een naam en de hostname of IP van de server in.
  3. Kopieer de gegenereerde Agent Key - je hebt deze nodig op de gemonitorde server.

6.2 Installeer de Agent op de Doelserver

SSH naar de server die je wilt bewaken, voer dan uit:

Docker:

docker run -d \
  --name beszel-agent \
  --restart unless-stopped \
  --network host \
  -e KEY="<plak-je-agent-sleutel-hier>" \
  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

Maak /etc/systemd/system/beszel-agent.service aan:

[Unit]
Description=Beszel bewakingsagent
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<jouw-agent-sleutel>
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Activeer en start:

systemctl daemon-reload
systemctl enable --now beszel-agent

Binnen enkele seconden zou de server als Connected moeten verschijnen in het Beszel dashboard.

Stap 7: (Optioneel) Plaats Beszel achter een Reverse Proxy

Voor HTTPS-toegang configureer Caddy of Nginx voor Beszel.

Caddy voorbeeld (/etc/caddy/Caddyfile):

monitor.jouwdomein.com {
    reverse_proxy localhost:8090
}

Nginx voorbeeld (/etc/nginx/sites-available/beszel):

server {
    listen 80;
    server_name monitor.jouwdomein.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name monitor.jouwdomein.com;
    ssl_certificate /etc/letsencrypt/live/monitor.jouwdomein.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monitor.jouwdomein.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8090;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Probleemoplossing

ProbleemOplossing
Dashboard niet bereikbaarControleer firewall (ufw status), bevestig dat de container draait (docker ps)
Agent verbindt nietControleer of de KEY-omgevingsvariabele correct is, controleer agentlogs (docker logs beszel-agent)
Hoge schijfgebruikVerlaag de metrics-retentieperiode in de Beszel-instellingen
Container start nietControleer logs: docker compose logs beszel

Veelgestelde Vragen

Hoe maak ik een back-up van de Beszel data?

De volledige Beszel-status bevindt zich in het Docker volume beszel_data (of /var/lib/beszel voor binary installs). Maak een back-up van het SQLite-databasebestand met:

docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"

Kopieer daarna /beszel_data/beszel.db.bak van de server met rsync of scp.

Kan ik Windows-servers bewaken met Beszel?

De Beszel agent ondersteunt Linux, macOS en Windows. Installeer de Windows binary en registreer deze als Windows service, en wijs je Beszel hub naar deze server.

Heeft Beszel een internetverbinding nodig?

Nee. Beszel is volledig zelfvoorzienend. De hub en agents communiceren uitsluitend met elkaar, zonder externe oproepen. Het werkt volledig op een privรฉ-netwerk of VPN.