Установка программ · 5 min read · Oct 26, 2025

Как установить систему страницы статуса Cachet на Debian 12

Cachet — это система страницы статуса с открытым исходным кодом, написанная на PHP. Она позволяет вам отслеживать время простоя и сбои в вашей инфраструктуре. Cachet предоставляет JSO API, даже отчеты, метрики, несколько методов уведомлений и двухфакторную аутентификацию.

В следующем руководстве мы покажем вам, как установить страницу статуса Cachet на сервере Debian 12. Вы будете запускать Cachet как контейнер Docker с базой данных PostgreSQL и веб-сервером Nginx.

Предварительные требования

Перед тем как продолжить, убедитесь, что у вас есть следующее:

  • Сервер Debian 12.
  • Пользователь без прав root с привилегиями sudo.
  • UFW установлен и настроен.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка Docker Engine

В этом примере вы установите Cachet как контейнер через Docker. Поэтому вам нужно установить движок Docker на вашу систему Debian. В этом примере вы будете использовать официальные пакеты движка Docker.

Сначала выполните команду ниже, чтобы установить пакеты curl и ca-certificates.

sudo apt install ca-certificates curl -y

Теперь добавьте GPG-ключ для репозитория Docker, выполнив следующую команду.

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

Далее добавьте репозиторий Docker Engine для системы Debian, используя команду ниже.

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 Engine на вашу систему с помощью следующей команды. Нажмите 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

Запуск Cachet с Docker и базой данных PostgreSQL

После установки Docker вам нужно загрузить проект Cachet и настроить вашу установку. В этом случае вы будете устанавливать и запускать Cachet как пользователь без прав root с контейнером Docker.

Скачайте проект Cachet в директорию cachet-docker и перейдите в нее.

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

Откройте файл docker-compose.yml, используя следующую команду редактора nano.

nano docker-compose.yml

Измените порт хоста по умолчанию на 8000 следующим образом. Вы также можете настроить данные базы данных с вашей информацией и оставить версию Cachet по умолчанию на 2.4.

 ports:  
 - 8000:8000

Сохраните файл и выйдите.

Теперь выполните следующие команды docker, чтобы создать ваш образ Cached и запустить контейнеры для Cachet и PostgreSQL.

docker compose build  
docker compose up

Ниже вы можете увидеть скриншот при создании образа Docker для Cachet.

docker byuild

Ниже приведен скриншот при запуске контейнеров/сервисов для Cachet и PostgreSQL.

container running

В подробных логах контейнера Cachet вы найдете ошибку о конфигурации APP_KEY. Скопируйте сгенерированный APP_KEY и нажмите Ctrl+c, чтобы завершить контейнеры.

Далее снова откройте файл docker-compose.yml, используя редактор nano.

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.

Установите Nginx на ваш сервер Debian, используя команду ниже.

sudo apt install nginx -y

install nginx

После завершения установки создайте новую конфигурацию блока сервера Nginx /etc/nginx/sites-available/cachet, используя команду редактора nano ниже.

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 вы разрешите трафик как для HTTP, так и для HTTPS через UFW (Простой брандмауэр).

Убедитесь, что UFW включен, теперь выполните следующую команду, чтобы включить профиль ‘Nginx Full‘ в UFW. Это позволит трафику как для HTTP, так и для HTTPS протоколов на ваш веб-сервер Nginx.

sudo ufw allow 'Nginx Full'

Теперь проверьте ваш список включенных правил в UFW с помощью команды ниже.

sudo ufw status

Вы увидите, что профиль ‘Nginx Full‘ включен в UFW.

setup ufw

Защита Cachet с помощью HTTPS

На этом этапе ваш Cachet должен быть доступен через Nginx. Чтобы защитить вашу установку, вы включите HTTPS для Cachet через SSL от Letsencrypt.

Поэтому выполните команду ниже, чтобы установить Certbot и плагин Certbot Nginx. Введите Y, чтобы подтвердить установку.

sudo apt install certbot python3-nginx-certbot

После завершения установки выполните команду certbot ниже, чтобы сгенерировать SSL/TLS сертификаты для вашей установки Cachet. Убедитесь, что вы изменили детали доменного имени и адреса электронной почты на вашу информацию.

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/. Если ваша установка успешна, вы должны увидеть следующую страницу.

Выберите драйвер кэша по умолчанию, драйвер очереди и драйвер сеанса на Database. Затем введите данные вашего почтового сервера.

Нажмите Next, чтобы продолжить.

setup cachet

Теперь настройте имя страницы статуса, часовой пояс по умолчанию и язык по умолчанию. Затем снова нажмите Next.

setup language

Теперь создайте нового администратора для Cachet, введя ваше имя пользователя, адрес электронной почты и пароль. Затем нажмите Complete Setup, чтобы подтвердить.

setup admin

После завершения вы увидите следующее - нажмите Go to the dashboard.

complete installation

Войдите в Cache с вашим именем пользователя и паролем, затем нажмите Login.

login

Если ваша установка успешна, вы должны увидеть панель управления Cachet, как показано ниже:

dashboard

Заключение

Поздравляем! Вы теперь установили страницу статуса Cachet на сервере Debian 12 с Docker. Ваша установка Cachet работает с базой данных PostgreSQL и веб-сервером Nginx. Теперь вы можете отслеживать свои сайты с помощью Cachet.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.