Beszel, birden fazla sunucuda CPU, RAM, disk ve ağ metriğine gerçek zamanlı görünürlüğü sağlayan kendin barındırılan bir sunucu izleme panosudur. Son derece hafiftir (512 MB RAM üzerinde çalışır), depolama için SQLite kullanır ve Docker aracılığıyla dakikalar içinde dağıtılabilir. Bu kılavuz, bir VPS seçmekten ilk uzak sunucunuzu izlemeye kadar her şeyi kapsar.
Gereksinimler
Başlamadan önce şunlara ihtiyacınız var:
- Bir VPS - en az 1 GB RAM, 1 vCPU, 10 GB depolama. Tavsiye edilen sağlayıcılar:
- Hetzner Cloud - 4.15 EUR/ay, 4 GB RAM, 40 GB NVMe (En iyi değer EU)
- Contabo VPS - 5.99 EUR/ay, 8 GB RAM, 200 GB NVMe (En iyi depolama)
- DigitalOcean - 6 USD/ay, 1 GB RAM (başlangıç seviyesi dostu)
- Ubuntu 22.04 veya Debian 12 kurulu VPS üzerinde.
- VPS’ye SSH erişimi.
- Docker (veya doğrudan Beszel binary dosyasını indir).
- Güvenlik duvarınızda Port 8090 açık olmalı.
Adım 1: VPS’inize Bağlanın
ssh root@your-vps-ip
Paketleri güncelleyin:
apt update && apt upgrade -y
Adım 2: Docker’ı Kurun
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
Docker’ın çalıştığını doğrulayın:
docker --version
Adım 3: Güvenlik Duvarı Portunu 8090 Açın
Ubuntu ve UFW ile:
ufw allow 8090/tcp
ufw reload
Debian ve iptables ile:
iptables -A INPUT -p tcp --dport 8090 -j ACCEPT
Adım 4: Beszel Merkezi Sunucusunu Dağıtın
Seçenek A: Docker Çalıştırma (Hızlı Başlangıç)
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Seçenek B: Docker Compose (Önerilen)
Bir proje dizini oluşturun:
mkdir -p /opt/beszel && cd /opt/beszel
docker-compose.yml dosyasını oluşturun:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- beszel_data:/beszel_data
volumes:
beszel_data:
Servisi başlatın:
docker compose up -d
Çalıştığını doğrulayın:
docker compose ps
docker compose logs -f
Seçenek C: Binary Kurulum (Docker Yok)
En son sürümü mimarinize uygun şekilde indirin:
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
İzinleri verin:
chmod +x /usr/local/bin/beszel
/etc/systemd/system/beszel.service dosyasını oluşturun:
[Unit]
Description=Beszel izleme merkezi
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel serve
WorkingDirectory=/var/lib/beszel
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Açın ve başlatın:
mkdir -p /var/lib/beszel
systemctl daemon-reload
systemctl enable --now beszel
Adım 5: İlk Giriş
Tarayıcınızı açın ve şu adrese gidin:
http://your-vps-ip:8090
İlk açılışta bir yönetici hesabı oluşturmanız istenecek. Güçlü bir şifre belirleyin. Bu, SQLite veritabanında ilk kullanıcıyı oluşturur.
Adım 6: Sunucu Ekle ve İzlemeye Başla
Beszel, izlemek istediğiniz her sunucuya kurulan hafif bir ajan kullanır.
6.1 Bir Ajan Anahtarı Oluşturun
Beszel panosunda:
- Add Server (Sunucu Ekle) seçeneğine tıklayın.
- Bir isim ve sunucunun ana bilgisayar adı veya IP’sini girin.
- Oluşan Agent Key’i kopyalayın - bu, izleme sunucusuna yükleyeceğiniz anahtardır.
6.2 Ajanı Hedef Sunucuya Kurun
İzlemek istediğiniz sunucuya SSH ile bağlanın, ardından şunları çalıştırın:
Docker ile:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<agent-anahtarınızı-buraya-yapıştırın>" \
henrygd/beszel-agent
Binary ile:
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
İzinleri ayarlayın:
chmod +x /usr/local/bin/beszel-agent
Aşağıdaki systemd servisini oluşturun:
[Unit]
Description=Beszel izleme ajanı
After=network.target
[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<agent-anahtarınız>
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Etkinleştirin ve başlatın:
systemctl daemon-reload
systemctl enable --now beszel-agent
Birkaç saniye içinde, sunucu Beszel panosunda Connected (Bağlandı) olarak görünecektir.
Adım 7: (İsteğe Bağlı) Beszel’i Bir Reverse Proxy Arkasına Alın
HTTPS erişimi için Caddy veya Nginx yapılandırabilirsiniz.
Caddy örneği (/etc/caddy/Caddyfile):
monitor.yourdomain.com {
reverse_proxy localhost:8090
}
Nginx örneği (/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;
}
}
Sorun Giderme
| Sorun | Çözüm |
|---|---|
| Kontrol paneline erişilemiyor | Güvenlik duvarını kontrol edin (ufw status), konteynerin çalıştığını doğrulayın (docker ps) |
| Ajan bağlanmıyor | KEY ortam değişkeninin doğru olup olmadığını kontrol edin, ajan loglarını inceleyin (docker logs beszel-agent) |
| Disk kullanımı yüksek | Beszel ayarlarından metriğin saklanma süresini azaltın |
| Konteyner başlamıyor | Logları kontrol edin: docker compose logs beszel |
SSS
Beszel verilerini nasıl yedeklerim?
Tüm Beszel durumu, Docker hacmi beszel_data içinde saklanır (veya binary kurulumda /var/lib/beszel). SQLite veritabanı dosyasını yedeklemek için:
docker exec beszel sqlite3 /beszel_data/beszel.db ".backup /beszel_data/beszel.db.bak"
Sonra, /beszel_data/beszel.db.bak dosyasını rsync veya scp ile sunucudan kopyalayın.
Windows sunucuları Beszel ile izleyebilir miyim?
Beszel ajanı, Linux, macOS ve Windows’u destekler. Windows binary dosyasını yükleyin ve Windows servisi olarak kaydedin, ardından Beszel merkezi ile bağlayın.
Beszel’in internet bağlantısı gerekir mi?
Hayır. Beszel tamamen kendi kendine yeterlidir. Merkezi ve ajanlar birbirleriyle iletişim kurar, dış çağrı gerekmez. Tamamen özel ağ veya VPN üzerinde çalışır.