Обзор развертывания Uptime Kuma на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Ubuntu.
-
Установленный Docker.
-
Доступ к портам 443 (HTTPS) и 3000 (внутренний порт приложения).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | uptime-kuma |
| Домен | hostkey.in |
| Полный шаблон | uptime-kuma{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
В системе используются следующие директории для хранения данных и конфигураций:
-
/opt/uptime-kuma/data— хранилище данных приложения. -
/root/nginx— рабочая директория конфигурации прокси-сервера. -
/data/nginx/user_conf.d— пользовательские конфигурационные файлы Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для SSL-сертификатов.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: установка Docker и настройка среды для работы с сертификатами.
-
Установка основного приложения: запуск контейнера Uptime Kuma с использованием образа
louislam/uptime-kuma:1. Приложение работает в режимеhostсети, что позволяет ему использовать системные порты напрямую. -
Настройка проксирования и SSL: создание директории
/root/nginx, генерация конфигурационного файлаcompose.ymlдля Nginx и запуск контейнера с помощью Docker Compose.
Контейнеры Docker и их запуск¶
Приложение использует два основных контейнера, работающих в режиме host:
Контейнер приложения:
-
Имя образа:
louislam/uptime-kuma:1 -
Порт:
3000(внутренний) -
Том:
/opt/uptime-kuma/data->/app/data -
Переменная окружения:
UPTIME_KUMA_PORT=3000 -
Политика перезапуска:
always
Контейнер прокси-сервера:
-
Имя образа:
jonasal/nginx-certbot:latest -
Том 1:
nginx_secrets(внешний том) ->/etc/letsencrypt -
Том 2:
/data/nginx/user_conf.d->/etc/nginx/user_conf.d -
Переменная окружения:
CERTBOT_EMAIL=hkadm@hostkey.com -
Политика перезапуска:
unless-stopped
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия:
-
Обновить образ контейнера:
-
Перезапустить контейнер для применения изменений: