Как установить Cachet Status Page на сервер Ubuntu 24.04

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

В этом руководстве вы узнаете, как установить и запустить Cachet на сервере Ubuntu 24.04 с помощью Docker. Вы также установите и настроите Nginx в качестве обратного прокси и защитите Cachet с помощью HTTPS через Certbot и Letsencrypt.

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

Чтобы завершить работу над этим руководством, убедитесь, что у вас есть:

  • Сервер Ubuntu 24.04.
  • Некорневой пользователь с правами администратора.
  • Доменное имя, указывающее на IP-адрес сервера.

Установка движка Docker Engine

В этом руководстве вы запустите Cachet как контейнер с помощью Docker. Затем вы установите Docker Engine на свою систему Ubuntu.

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

sudo apt install ca-certificates curl

Теперь выполните следующую команду, чтобы добавить ключ 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 с помощью следующих команд:

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

установить docker repo

Затем обновите индекс пакетов Ubuntu и установите Docker Engine с помощью следующей команды apt. Введите Y для подтверждения установки.

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

установить docker

После установки служба docker должна быть запущена и включена в вашей системе Ubuntu.

Выполните приведенную ниже команду, чтобы проверить службу Docker.

sudo systemctl is-enabled docker
sudo systemctl status docker

Вы увидите аналогичный вывод ниже:

проверить docker

Настройка пользователя для запуска Docker

После установки Docker вы должны добавить своего пользователя в группу docker. Это позволит запускать контейнер от имени пользователя, не являющегося пользователем root.

Чтобы добавить своего пользователя в группу docker, выполните следующую команду. Замените имя пользователя на свое.

sudo usermod -aG docker username

Теперь войдите в систему под своим пользователем и выполните команду docker, чтобы проверить конфигурацию.

su - username
docker run hello-world

Если конфигурация выполнена успешно, вы увидите сообщение Hello World от Docker.

docker run hello world

Установка Cachet с помощью Docker

Теперь, когда вы установили Docker Engine и настроили пользователя, вам нужно загрузить проект Cachet, настроить файл docker-compose.yml, собрать образы и перенастроить контейнер для Cachet, а затем запустить Cachet в качестве контейнера.

Загрузите докер-версию 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 как для контейнера, так и для хоста Docker.

ports:
- 8000:8000

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

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

docker compose build
docker compose up

В процессе сборки вы увидите следующее:

сборка изображения кашета

При запуске контейнера Cachet вы получите вывод, похожий на следующий:

собрать контейнер

При первом запуске Cahet сгенерирует новый APP_KEY например, так – Скопируйте APP_KEY и нажмите Ctrl+c, чтобы завершить работу контейнеров Cachet.

app_key

Далее отредактируйте файл docker-compose.yml повторите файл и замените APP_KEY следующим образом:

APP_KEY=base64:6ltZ62B69p6oxIVeQtf9jpX5BFvgUXU2qk5eXpw3OIQ=

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

Теперь выполните приведенную ниже команду docker для удаления старых контейнеров и создания новых контейнеров Cachet.

docker compose down
docker compose up -d

Наконец, выполните следующую команду, чтобы проверить запущенные контейнеры или службы.

docker compose ps

Ниже показан контейнер Cachet, запущенный на порту 8000.

повторный запуск контейнера

Настройка Nginx в качестве обратного прокси

В этом руководстве вы запустите Cachet с Nginx в качестве обратного прокси. Итак, сейчас вы установите Nginx и новый серверный блок для обратного прокси. Убедитесь, что ваше доменное имя готово и указано на IP-адрес сервера.

Чтобы установить веб-сервер Nginx, выполните следующую команду apt. Введите Y, чтобы продолжить установку.

sudo apt install nginx

установить nginx

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

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

Вставьте следующую конфигурацию и не забудьте заменить status.local на ваше доменное имя.

server {
listen 80;
server_name status.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;
}
}

После этого сохраните файл и выйдите из редактора.

Теперь выполните приведенную ниже команду для активации файла блока сервера cachet.conf / и проверьте синтаксис Nginx. Если у вас правильный синтаксис, вы увидите вывод тест пройден успешно – синтаксис в порядке.

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

настройка nginx

Наконец, выполните приведенную ниже команду systemctl, чтобы перезапустить службу Nginx и применить внесенные изменения. Затем проверьте состояние службы Nginx, чтобы убедиться, что она запущена.

sudo systemctl restart nginx
sudo systemctl status nginx

Ниже показано, что служба Nginx работает в качестве обратного прокси для установки Cachet.

проверить nginx

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

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

Установите Certbot и плагин Certbot Nginx с помощью следующей команды apt. Нажмите Y, чтобы подтвердить установку.

sudo apt install certbot python3-certbot-nginx

Теперь выполните приведенную ниже команду certbot, чтобы сгенерировать SSL-сертификаты и защитить Cachet с помощью HTTPS. Не забудьте изменить доменное имя и адрес электронной почты на свои данные.

sudo certbot --nginx

После завершения процесса ваши SSL-сертификаты будут доступны в разделе /etc/letsencrypt/live/domain.com каталог, и ваша установка Cachet должна быть защищена с помощью HTTPS.

Установка Cachet

Зайдите на доменное имя Cachet, например https://status.local/, с помощью предпочитаемого веб-браузера. Вы увидите мастер установки.

В разделе “Настройка среды” выберите Cache, Queue и Session по умолчанию в качестве базы данных и введите данные SMTP.

настройка среды

Создайте свою первую страницу состояния и нажмите Далее , чтобы продолжить.

создать первую страницу

Введите нового пользователя-администратора, адрес электронной почты и пароль для вашей установки Cachet.

настройка администратора

После завершения установки вы увидите вывод Cachet был успешно настроен. Затем нажмите Перейти на приборную панель , чтобы получить доступ к Cachet.

успех установки

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

вход

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

приборная панель

Заключение

Поздравляем! Вы завершили установку страницы состояния Cachet на сервер Ubuntu 24.04 с помощью Docker. Вы настроили Nginx в качестве обратного прокси для Cachet и защитили Cachet с помощью HTTPS через Certbot и Letsencrypt. Теперь вы можете добавлять и отслеживать свои веб-сайты или сервисы с помощью Cachet и настраивать дополнительные уведомления с адресами электронной почты и т. д.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *