On Debian 13:
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
On RHEL 10:
sudo dnf install -y docker docker-compose
sudo systemctl enable --now docker
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8080:8080 \
-v beszel_data:/beszel_data \
ghcr.io/henrygd/beszel:latest
Create docker-compose.yml:
version: '3'
services:
beszel:
image: ghcr.io/henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- beszel_data:/beszel_data
environment:
- TZ=UTC
volumes:
beszel_data:
Start with:
docker-compose up -d
On Debian 13:
sudo apt install -y golang-go
On RHEL 10:
sudo dnf install -y golang
cd /tmp
git clone https://github.com/henrygd/beszel.git
cd beszel
go build -o beszel ./cmd/beszel
sudo mv beszel /usr/local/bin/
sudo tee /etc/systemd/system/beszel.service >/dev/null <<'EOF'
[Unit]
Description=Beszel Server Monitor
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/beszel
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable --now beszel
Create configuration directory:
sudo mkdir -p /etc/beszel
Create configuration file:
sudo tee /etc/beszel/config.yaml >/dev/null <<'EOF'
server:
port: 8080
host: 0.0.0.0
database:
path: /var/lib/beszel/beszel.db
auth:
enabled: true
session_timeout: 24h
EOF
On UFW:
sudo ufw allow 8080/tcp
On firewalld:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Open http://SERVER_IP:8080 to access the Beszel web interface.
The first visit will prompt you to create an admin account.
On remote systems, install the agent:
Docker:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
-p 45876:45876 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/henrygd/beszel-agent:latest
Binary:
curl -LO https://github.com/henrygd/beszel-agent/releases/latest/download/beszel-agent-linux-amd64
chmod +x beszel-agent-linux-amd64
sudo mv beszel-agent-linux-amd64 /usr/local/bin/beszel-agent
sudo beszel-agent
Beszel displays:
# For Docker installation
docker exec beszel tar czf /tmp/beszel_backup.tar.gz /beszel_data
docker cp beszel:/tmp/beszel_backup.tar.gz ./beszel_backup.tar.gz
See Beszel Hardening.
Stuck on a step or need custom configuration? We provide paid consulting for Beszel deployments, from single-instance setups to distributed clusters.
📧 office@linux-server-admin.com
🌐 Contact Page
Prefer automation? See Beszel Ansible Setup for an example playbook.
Prefer containers? See Beszel Docker Setup.
See Beszel Configuration for configuration guidance.
See Beszel Security for hardening guidance.