インストールガイド · 1 min read · Oct 26, 2025

Debian 12にCachetステータスページシステムをインストールする方法

Cachetは、PHPで書かれたオープンソースのステータスページシステムです。インフラストラクチャのダウンタイムやシステム障害を監視することができます。Cachetは、JSO API、レポート、メトリクス、複数の通知方法、二要素認証を提供します。

以下のチュートリアルでは、Debian 12サーバーにCachetステータスページをインストールする方法を示します。Cachetは、PostgreSQLデータベースとNginxウェブサーバーを使用してDockerコンテナとして実行します。

前提条件

進む前に、以下のものを用意してください:

  • Debian 12サーバー。
  • sudo権限を持つ非rootユーザー。
  • UFWがインストールされ、設定されていること。
  • サーバーIPアドレスにポイントされたドメイン名。

Dockerエンジンのインストール

この例では、Docker経由でCachetをコンテナとしてインストールします。したがって、DebianシステムにDockerエンジンをインストールする必要があります。この例では、公式のDockerエンジンパッケージを使用します。

まず、以下のコマンドを実行してcurlとca-certificatesパッケージをインストールします。

sudo apt install ca-certificates curl -y

次に、以下のコマンドを実行してDockerリポジトリのGPGキーを追加します。

sudo install -m 0755 -d /etc/apt/keyrings  
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc  
sudo chmod a+r /etc/apt/keyrings/docker.asc

次に、以下のコマンドを使用してDebianシステムのDockerエンジンリポジトリを追加します。

echo \  
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \  
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \  
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Dockerリポジトリが追加されたら、以下のコマンドでパッケージインデックスを更新およびリフレッシュします。

sudo apt update

add repo

次に、以下のコマンドでシステムにDockerエンジンをインストールします。インストールを確認するためにYと入力します。

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

install docker

インストールが完了すると、Dockerサービスは自動的に実行されるはずです。以下のコマンドでDockerサービスのステータスを確認します。

sudo systemctl status docker

以下のような出力が表示されます:

check docker

ユーザーがコンテナを実行できるようにするために、以下のコマンドでdockerグループに追加する必要があります。

sudo usermod -aG sudo alice

最後に、ユーザーとしてログインし、以下のdockerコマンドを実行してhello-worldコンテナを実行します。

su - alice  
docker run hello-world

設定が成功すれば、以下のように’Hello Docker’という出力が得られるはずです:

docker hello-world

DockerとPostgreSQLデータベースでCachetを実行する

Dockerをインストールしたら、Cachetプロジェクトをダウンロードしてインストールを構成する必要があります。この場合、非rootユーザーとしてDockerコンテナでCachetをインストールして実行します。

Cachetプロジェクトをcachet-dockerディレクトリにダウンロードし、そこに移動します。

git clone https://github.com/cachethq/Docker.git cachet-docker  
cd cachet-docker

以下のnanoエディタコマンドを使用してdocker-compose.ymlファイルを開きます。

nano docker-compose.yml

デフォルトのホストポートを8000に変更します。データベースの詳細を自分の情報でカスタマイズし、デフォルトのCachetバージョンは今のところ2.4のままにしておきます。

 ports:  
 - 8000:8000

ファイルを保存して終了します。

次に、以下のdockerコマンドを実行してCachetイメージをビルドし、CachetとPostgreSQLの両方のコンテナを実行します。

docker compose build  
docker compose up

以下は、CachetのDockerイメージをビルドしているときのスクリーンショットです。

docker byuild

以下は、CachetとPostgreSQLの両方のコンテナ/サービスを実行しているときのスクリーンショットです。

container running

Cachetコンテナの詳細なログには、APP_KEY設定に関するエラーが表示されます。生成されたAPP_KEYをコピーし、Ctrl+cを押してコンテナを終了します。

次に、nanoエディタを使用してdocker-compose.ymlファイルを再度開きます。

nano docker-compose.yml

デフォルトのAPP_KEYパラメータを以下のように変更します。base64文字列を含めることを確認してください。

APP_KEY=base64:WfKUhY0wAOyr5hkxoctZUSWPGdXbBUWFvNLCoI7kTU8=

ファイルを保存して終了します。

次に、以下のdockerコマンドを実行してCachetとPostgreSQLのコンテナを終了し、再度起動します。

docker compose down  
docker compose up -d

コンテナが起動したら、以下のコマンドを使用して実行中のコンテナのリストを確認します。

docker compose ps

以下のように、CachetとPostgreSQLの両方のコンテナが実行中であることがわかります。Cachetコンテナはポート8000で実行されています。

Nginxをリバースプロキシとして設定する

Cachetがポート8000でコンテナとして実行されているので、NginxをCachetのリバースプロキシとしてインストールおよび設定します。

以下のコマンドを使用して、DebianサーバーにNginxをインストールします。

sudo apt install nginx -y

install nginx

インストールが完了したら、以下のnanoエディタコマンドを使用して新しいNginxサーバーブロック設定/etc/nginx/sites-available/cachetを作成します。

sudo nano /etc/nginx/sites-available/cachet

以下の設定を挿入し、server_nameパラメータを自分のドメイン名に変更してください。

server {  
 listen 80;  
 server_name status.howtoforge.local;  
 location / {  
 proxy_pass http://127.0.0.1:8000;  
 proxy_set_header Host $host;  
 proxy_set_header X-Real-IP $remote_addr;  
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
 proxy_set_header X-Forwarded-Proto $scheme;  
 }  
}

ファイルを保存してエディタを終了します。

次に、以下のNginxコマンドを実行してCachetサーバーブロックを有効にし、Nginxの構文を確認します。構文が正しければ、’ syntax is ok ‘という出力が得られるはずです。

sudo ln -s /etc/nginx/sites-available/cachet /etc/nginx/sites-enabled/  
sudo nginx -t

最後に、Nginxウェブサーバーを再起動してCachetサーバーブロック設定を適用し、Nginxサービスが実行中であることを確認します。

sudo systemctl restart nginx  
sudo systemctl status nginx

Nginxが実行中であれば、active(running)という出力が得られるはずです。

check nginx

UFW(簡易ファイアウォール)の設定

Cachetにアクセスする前に、HTTPおよびHTTPSポートが許可されていることを確認する必要があります。Ubuntuでは、UFW(簡易ファイアウォール)を介してHTTPおよびHTTPSの両方へのトラフィックを許可します。

UFWが有効になっていることを確認し、以下のコマンドを実行してUFWで’ Nginx Full ‘プロファイルを有効にします。これにより、HTTPおよびHTTPSプロトコルの両方のトラフィックがNginxウェブサーバーに許可されます。

sudo ufw allow 'Nginx Full'

次に、以下のコマンドを使用してUFWで有効なルールのリストを確認します。

sudo ufw status

Nginx Full ‘プロファイルがUFWで有効になっていることがわかります。

setup ufw

HTTPSでCachetを保護する

この時点で、CachetはNginxを介してアクセス可能であるはずです。インストールを保護するために、LetsencryptからSSLを介してCachetのHTTPSを有効にします。

以下のコマンドを実行してCertbotとCertbot Nginxプラグインをインストールします。インストールを確認するためにYと入力します。

sudo apt install certbot python3-nginx-certbot

インストールが完了したら、以下のcertbotコマンドを実行してCachetインストール用のSSL/TLS証明書を生成します。ドメイン名とメールアドレスの詳細を自分の情報に変更してください。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d status.howtoforge.local

すべてが完了すると、SSL/TLS証明書は/etc/lestencrypt/live/status.howtoforge.localディレクトリに保存されるはずです。また、CachetはHTTPSで保護されているはずです。

Cachetのインストール

お好みのウェブブラウザを起動し、Cachetインストール先のhttps://status.howtoforge.local/にアクセスします。インストールが成功すれば、以下のページが表示されるはずです。

デフォルトのCache DriverQueue DriverSession DriverDatabaseに設定します。次に、メールサーバーの詳細を入力します。

次へをクリックして続行します。

setup cachet

次に、ステータスページの名前、デフォルトのタイムゾーン、デフォルトの言語を設定します。再度次へをクリックします。

setup language

次に、ユーザー名、メールアドレス、パスワードを入力してCachetの新しい管理ユーザーを作成します。次に、セットアップを完了をクリックして確認します。

setup admin

完了すると、以下のように表示されます - ダッシュボードに移動をクリックします。

complete installation

ユーザー名とパスワードでCachetにログインし、ログインをクリックします。

login

インストールが成功すれば、以下のようにCachetダッシュボードが表示されるはずです:

dashboard

結論

おめでとうございます!Debian 12サーバーにDockerを使用してCachetステータスページをインストールしました。CachetインストールはPostgreSQLデータベースとNginxウェブサーバーで実行されています。これでCachetを使用してサイトを監視できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。