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
Затем обновите индекс пакетов 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 должна быть запущена и включена в вашей системе Ubuntu.
Выполните приведенную ниже команду, чтобы проверить службу Docker.
sudo systemctl is-enabled docker sudo systemctl status docker
Вы увидите аналогичный вывод ниже:
Настройка пользователя для запуска Docker
После установки Docker вы должны добавить своего пользователя в группу docker. Это позволит запускать контейнер от имени пользователя, не являющегося пользователем root.
Чтобы добавить своего пользователя в группу docker, выполните следующую команду. Замените имя пользователя на свое.
sudo usermod -aG docker username
Теперь войдите в систему под своим пользователем и выполните команду docker, чтобы проверить конфигурацию.
su - username docker run hello-world
Если конфигурация выполнена успешно, вы увидите сообщение Hello World от Docker.
Установка 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.
Далее отредактируйте файл 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 /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
Наконец, выполните приведенную ниже команду systemctl, чтобы перезапустить службу Nginx и применить внесенные изменения. Затем проверьте состояние службы Nginx, чтобы убедиться, что она запущена.
sudo systemctl restart nginx sudo systemctl status nginx
Ниже показано, что служба Nginx работает в качестве обратного прокси для установки Cachet.
Защита 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 и настраивать дополнительные уведомления с адресами электронной почты и т. д.