Uptime Kuma — это современный self-hosted мониторинг, альтернатива UptimeRobot. Позволяет отслеживать доступность сайтов, сервисов, портов и многое другое с красивым интерфейсом и Telegram/Discord уведомлениями.
Создай каталог для проекта и перейди в него:
mkdir uptime-kuma && cd uptime-kuma
Создай docker-compose.yaml:
version: '3.8'
services:
uptime-kuma:
container_name: uptime-kuma
image: louislam/uptime-kuma:latest
volumes:
- ./data:/app/data
ports:
- 3001:3001
restart: unless-stopped
Запусти контейнер:
docker compose up -d
Открой в браузере:
http://<твой-IP>:3001
Укажи:
Перейди в меню Settings → Notification и выбери способ уведомлений:
После добавления можно выбрать, какие мониторы будут использовать какие уведомления.
Бэкап хранятся в каталоге ./data. Можно делать архив tar или rsync:
tar -czvf uptime-kuma-backup.tar.gz ./data
Для доступа к Uptime Kuma через домен (например, status.example.com) и безопасного подключения по HTTPS, можно настроить NGINX как обратный прокси-сервер.
Создай файл конфигурации NGINX, например: /etc/nginx/sites-available/uptime-kuma.conf
server {
listen 80;
server_name status.example.com;
location / {
proxy_pass http://localhost:3001/;
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;
}
}
Если ты используешь Certbot, можно получить и настроить сертификат командой:
sudo certbot --nginx -d status.example.com
Certbot автоматически:
После сохранения конфигурации и получения сертификата:
sudo ln -s /etc/nginx/sites-available/uptime-kuma.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Теперь Uptime Kuma будет доступен по адресу:
https://status.example.comс защищённым соединением.
📌 Убедись, что:
Порт 80 и 443 открыт в фаерволе
DNS-записьstatus.example.comуказывает на твой сервер