Конструктор Docker Compose для Uptime Kuma
Создайте compose.yaml для Uptime Kuma. Выберите версию и вариант образа, порты, расположение данных, мониторинг Docker и базу данных SQLite или MariaDB, а затем получите готовый к запуску файл.
Ввод
Вывод
- Файловые системы, такие как NFS, не поддерживаются для расположения данных. Используйте локальную папку или том Docker.
Документация
Что такое Uptime Kuma?
Uptime Kuma — это инструмент мониторинга с самостоятельным размещением. Он через регулярные интервалы проверяет веб-сайты, TCP-порты, записи DNS, контейнеры Docker и многое другое, отправляет уведомления при сбоях и может публиковать страницы состояния. Проект предоставляет официальный образ louislam/uptime-kuma, который прослушивает порт 3001 и хранит все данные в папке /app/data.
Описание инструмента
Этот инструмент создаёт файл compose.yaml для Uptime Kuma. Он использует файл из репозитория Uptime Kuma и добавляет настройки, которые обычно необходимы: версию и вариант образа, порт хоста и адрес привязки, место хранения данных, доступ к сокету Docker для мониторов хоста Docker и базу данных. При выборе MariaDB в отдельном контейнере инструмент добавляет второй сервис с проверкой состояния, поэтому Uptime Kuma запускается только после готовности базы данных. Настройки, для которых в форме нет отдельного поля, можно добавить в виде переменных окружения. Всё создаётся в браузере.
Возможности
- Теги образов
2,1иbeta, а также стандартный, облегчённый, rootless и облегчённый rootless варианты версии 2 - Порт хоста и адрес привязки, например
127.0.0.1, для использования за обратным прокси - Папка данных на хосте или именованный том Docker, который будет объявлен автоматически
- Необязательный доступ к
/var/run/docker.sockдля мониторов хоста Docker с предупреждением о предоставляемых возможностях - SQLite, встроенная MariaDB, контейнер MariaDB, добавленный в файл, или внешний сервер MariaDB
- Сгенерированный пароль базы данных с экранированными знаками
$, чтобы Compose сохранял их без изменений - Параметры встраивания в iframe, проверки источника WebSocket и token Cloudflare Tunnel
- Любая другая переменная окружения, комментарии с пояснениями к файлу и скачивание в виде
compose.yaml
Примеры
Настройки по умолчанию создают тот же файл, что и файл в репозитории Uptime Kuma:
services:
uptime-kuma:
image: louislam/uptime-kuma:2
ports:
- "3001:3001"
volumes:
- ./data:/app/data
restart: unless-stoppedПри выборе контейнера MariaDB в качестве базы данных добавляется сервис mariadb, а Uptime Kuma подключается к нему с помощью UPTIME_KUMA_DB_TYPE, UPTIME_KUMA_DB_HOSTNAME и других переменных UPTIME_KUMA_DB_*.
Советы
- Сохраните результат как
compose.yamlв пустой папке и запустите его командойdocker compose up -d. Затем откройтеhttp://localhost:3001 - Файловые системы, такие как NFS, не поддерживаются для папки данных. Используйте локальную папку или том Docker
- Облегчённые образы не содержат Chromium, который необходим монитору реального браузера, и не включают встроенную MariaDB
- Rootless-образы запускаются от имени пользователя
nodeс UID 1000, поэтому папка данных на хосте должна быть доступна этому пользователю для записи - Uptime Kuma использует WebSockets. При размещении за обратным прокси прокси-сервер должен передавать заголовки
UpgradeиConnection - Сокет Docker предоставляет Uptime Kuma полный контроль над Docker на хосте. Подключайте его только при необходимости использовать мониторы хоста Docker и не открывайте Uptime Kuma в интернете
- Версия 1 поддерживает только SQLite, поэтому параметры базы данных для неё скрыты
- Поля паролей попадают в файл в виде обычного текста. Храните файл в закрытом доступе или переместите пароль в файл
.envи укажите его как${DB_PASSWORD}