Uptime Kuma – решение для мониторинга доступности серверов, сайтов и сетевых сервисов. С его помощью можно в реальном времени отслеживать состояние HTTP(S)-ресурсов, TCP-портов, DNS, Ping, а также получать уведомления о сбоях через популярные каналы оповещений. Во многом благодаря открытому исходному коду, простому веб-интерфейсу и минимальным системным требованиям, Uptime Kuma подходит как для небольших проектов, так и для эксплуатации на VPS или выделенных серверах.
В статье разберём, как установить Uptime Kuma на виртуальный сервер, работающий под управлением Ubuntu 24.04 и Debian 13.
Как установить Uptime Kuma на Ubuntu и Debian
Uptime Kuma является серверным приложением, написанным на платформе Node.js, поэтому для его корректной работы в системе обязательно должны быть установлены Node.js и менеджер пакетов NPM. Node.js обеспечивает выполнение JavaScript-кода на стороне сервера, а NPM используется для загрузки, установки и управления всеми зависимостями, которые необходимы Uptime Kuma для запуска и работы веб-интерфейса.
В данном случае рекомендацией является установка Node.js и NPM из репозитория NodeSource в соответствии со статьями нашего справочника, посвящённым установке Node.js на Ubuntu и Debian. При этом важно инсталлировать на сервер актуальную поддерживаемую версию Node.js, так как Uptime Kuma активно развивается и может не запускаться на устаревших релизах среды выполнения. В нашем примере на VPS под управлением Debian 13 был установлен Node.js версии 25.6.1.

А также NPM версии 11.9.0.

Кроме того, для загрузки Uptime Kuma из официального репозитория GitHub потребуется утилита git. Её можно установить стандартным способом через пакетный менеджер APT:
$ sudo apt install git
После завершения инсталляции запустите клонирование репозитория Uptime Kuma:
$ git clone https://github.com/louislam/uptime-kuma.git
Дождитесь окончания процесса и перейдите в каталог проекта:
$ cd uptime-kuma/
На следующем этапе при помощи NPM необходимо загрузить и установить все необходимые зависимости. Для запуска процесса выполните команду:
$ npm run setup
Для постоянной работы Uptime Kuma в фоновом режиме используется менеджер процессов PM2. Чтобы установить его глобально, выполните команду:
$ sudo npm install pm2 -g
Дополнительно рекомендуется установить модуль ротации логов, чтобы журналы не занимали всё дисковое пространство:
$ pm2 install pm2-logrotate
После установки PM2 запустите сервер Uptime Kuma:
$ pm2 start server/server.js --name uptime-kuma
В результате приложение будет запущено в фоне под управлением PM2 с именем процесса uptime-kuma. Чтобы убедиться, что сервис автоматически стартует при загрузке системы, выполните:
$ pm2 startup
$ pm2 save
В данном случае команда pm2 save сохраняет текущий список процессов, которые будут восстановлены после перезагрузки.
Запуск Uptime Kuma в качестве системного сервиса
Для корректной работы PM2 как системного сервиса необходимо создать unit-файл systemd. Чтобы это сделать, запустите команду, которая чуть ранее была выведена на экран при выполнении pm2 startup. В нашем примере данная команда выглядела следующим образом:
$ sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u your-user --hp /home/your-user
После этого systemd сможет управлять PM2 и запускать его при старте системы. Корректность работы сервиса можно проверить при помощи вывода его текущего состояния. Для этого выполните следующую команду, где вместо your-user используйте имя вашей учётной записи:
$ systemctl status pm2-your-user.service
В выводе команды не должно содержаться сообщений о каких-либо ошибках.

Чтобы проверить, действительно ли выполняется автозапуск сервиса, перезагрузите сервер:
$ sudo reboot
После того, как сервер загрузится, проверьте список процессов PM2:
$ pm2 list
Если Uptime Kuma отображается в списке и имеет статус online, значит установка и настройка выполнены успешно.

Подключение к веб-интерфейсу Uptime Kuma
По умолчанию веб-интерфейс Uptime Kuma доступен по порту 3001. Поэтому перед подключением непосредственно к веб-интерфейсу откройте данный порт для доступа через брандмауэр UFW:
$ sudo ufw allow 3001/tcp
Чтобы проверить работоспособность приложения, запустите браузер и перейдите на http://X.X.X.X:3001, где замените X.X.X.X на IP-адрес вашего сервера.
В первоначальном окне выберите язык приложения, например, Русский и базу данных для использования, например, SQLite.

Затем создайте аккаунт администратора.

В результате браузер должен открыть основной дашборд приложения.

