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

guide

VPS上でのBeszelのセルフホスティング方法(完全ガイド)

VPS上でBeszelをセルフホストするためのステップバイステップガイド。Dockerとバイナリのインストール、多サーバー用エージェント設定、初回ログインについて解説します。

Beszelは、複数のサーバーのCPU、RAM、ディスク、ネットワークのメトリクスをリアルタイムで可視化できるセルフホスト型のサーバーモニタリングダッシュボードです。非常に軽量で(512 MB RAMで動作)、SQLiteをストレージに使用し、Dockerを使って数分で展開可能です。本ガイドでは、VPSの選定から最初のリモートサーバーの監視設定まで全てをカバーします。

前提条件

開始する前に必要なもの:

ステップ1:VPSへの接続

ssh root@your-vps-ip

パッケージを更新します:

apt update && apt upgrade -y

ステップ2:Dockerのインストール

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

Dockerが正しく動作していることを確認します:

docker --version

ステップ3:ファイアウォールのポート8090を開放

UbuntuでUFWを使う場合:

ufw allow 8090/tcp
ufw reload

Debianでiptablesを使う場合:

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

ステップ4:Beszelハブの展開

オプションA:Docker run (クイックスタート)

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

オプションB:Docker Compose(推奨)

プロジェクト用ディレクトリを作成します:

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

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:

サービスを起動します:

docker compose up -d

動作確認:

docker compose ps
docker compose logs -f

オプションC:バイナリインストール(Dockerなし)

最新リリースをアーキテクチャに合わせてダウンロード:

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

/etc/systemd/system/beszel.serviceにシステムdサービスを作成:

[Unit]
Description=Beszel監視ハブ
After=network.target

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

[Install]
WantedBy=multi-user.target

有効化と起動:

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

ステップ5:初回ログイン

ブラウザを開いてアクセス:

http://your-vps-ip:8090

最初の起動時に管理者アカウント作成を促されます。強力なパスワードを設定してください。これがSQLiteデータベースに最初のユーザーとして登録されます。

ステップ6:監視対象サーバーを追加

Beszelは、監視したい各サーバーにインストールする軽量エージェントを利用します。

6.1 エージェントキーの生成

Beszelダッシュボードで:

  1. **Add Server(サーバー追加)**をクリック。
  2. 名前とサーバーのホスト名またはIPを入力。
  3. 生成された**Agent Key(エージェントキー)**をコピー - これを監視するサーバー側で使用します。

6.2 監視対象サーバーにエージェントをインストール

監視したいサーバーにSSHで入り、次を実行します:

Dockerの場合:

docker run -d \
  --name beszel-agent \
  --restart unless-stopped \
  --network host \
  -e KEY="<エージェントキーを貼り付け>" \
  henrygd/beszel-agent

バイナリの場合:

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

/etc/systemd/system/beszel-agent.serviceを作成:

[Unit]
Description=Beszel監視エージェント
After=network.target

[Service]
ExecStart=/usr/local/bin/beszel-agent
Environment=KEY=<あなたのエージェントキー>
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

有効化と起動:

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

数秒後にサーバーがBeszelダッシュボードの「Connected(接続済み)」として表示されるはずです。

ステップ7:(オプション)Beszelをリバースプロキシに設定

HTTPSでのアクセスにはCaddyやNginxを使って前段に設定します。

Caddyの例/etc/caddy/Caddyfile):

monitor.yourdomain.com {
    reverse_proxy localhost:8090
}

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;
    }
}

トラブルシューティング

問題解決策
ダッシュボードにアクセスできないファイアウォール設定(ufw status)を確認、コンテナが動作しているか(docker ps)も確認
エージェントが接続しないKEY環境変数が正しいか確認、エージェントのログ(docker logs beszel-agent)も確認
ディスクの使用量が高いBeszel設定でメトリクスの保持期間を短く設定
コンテナが起動しないログを確認:docker compose logs beszel

よくある質問(FAQs)

Beszelのデータはどうバックアップすればいいですか?

Beszelの状態は全てDockerのボリュームbeszel_dataに保存されます(バイナリの場合は/var/lib/beszel)。SQLiteのデータベースファイルをバックアップするには:

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

その後、/beszel_data/beszel.db.bakrsyncscpを使ってサーバー外にコピーします。

WindowsサーバーもBeszelで監視できますか?

BeszelエージェントはLinux、macOS、Windowsに対応しています。Windowsバイナリをインストールし、Windowsサービスとして登録します。あとはBeszelのハブをそのエージェントに向けます。

Beszelはインターネット接続が必要ですか?

いいえ。Beszelは完全に自己完結型です。ハブとエージェント同士が通信するだけで、外部通信は不要です。プライベートネットワークまたはVPN上だけで動作します。