Установка · 12 min read · Nov 17, 2025
Как установить Kuma - альтернатива Uptime Robot на Ubuntu 20.04

Uptime-Kuma - это инструмент мониторинга с открытым исходным кодом, аналогичный “Uptime Robot”, написанный на Nodejs. Это самостоятелно размещаемый инструмент мониторинга с красивой панелью управления и поддерживающий несколько методов уведомлений. Uptime-Kuma будет отслеживать доступность хостов или серверов через протоколы HTTP(s), TCP и Ping. Если хосты недоступны через эти протоколы в течение определенных интервалов, хосты отправят уведомления через Webhooks, Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) и т.д.
В этом руководстве вы узнаете, как установить Uptime-Kuma на сервер Ubuntu и использовать веб-сервер Apache в качестве обратного прокси с бесплатным SSL-сертификатом Let’s Encrypt перед ним. В процессе установки вы также узнаете о установке nodejs через nvm (менеджер версий node).
Предварительные требования
- Сервер Ubuntu 20.04.
- Пользователь с правами root. Вы будете использовать этого пользователя для установки новых пакетов и изменения системных настроек.
Добавление нового пользователя
Сначала вы добавите нового пользователя в систему Ubuntu. По соображениям безопасности приложение Uptime-Kuma будет работать от имени пользователя без прав root.
- Добавьте нового пользователя, выполнив команду ниже. В этом примере мы будем использовать имя пользователя “ johndoe “. Убедитесь, что вы изменили имя пользователя на свое.
useradd -m -s /bin/bash johndoeОпции, которые вы должны знать:
- -m = автоматически создать домашний каталог для имени пользователя, который будет доступен в каталоге ‘/home’.
- -s = определить путь к оболочке для пользователя, большинство Linux использует
/bin/bash.
- После этого выполните следующую команду, чтобы установить пароль для пользователя “johndoe”.
passwd johndoeТеперь введите новый надежный пароль и повторите его, затем нажмите “ Enter “, чтобы подтвердить.
- Далее добавьте пользователя “johndoe” в группу “ sudo “ с помощью команды ниже.
usermod -aG sudo johndoeДобавив пользователей в группу “ sudo “, вы позволите пользователям выполнять команду “sudo su” и получать права root.
Установка NVM (менеджер версий Node)
NVM или менеджер версий Node - это инструмент командной строки для установки нескольких версий nodejs на одной системе. Этот инструмент позволяет вам устанавливать конкретную версию nodejs для ваших приложений, делая вашу среду разработки и развертывания гибкой.
На этом этапе вы будете устанавливать nvm от имени пользователя без прав root “johndoe”.
- Из вашей оболочки root войдите в пользователя “johndoe”, используя следующую команду.
su - johndoe- Скачайте и выполните скрипт установки nvm следующим образом.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
- После успешной установки перезагрузите среду bash, используя команду ниже.
source ~/.bashrc- Теперь проверьте установку “ nvm “, выполнив команду ниже.
command -v nvmЕсли ваша установка успешна, вы увидите результат “ nvm “. В противном случае вы ничего не увидите или получите пустой результат.
Теперь выполните команду nvm следующим образом.
nvm --helpИ вы увидите страницу справки по команде nvm.
Node Version Manager (v0.38.0)
Note: refers to any version-like string nvm understands. This includes:
- full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
- default (built-in) aliases: node, stable, unstable, iojs, system
- custom aliases you define with `nvm alias foo`
Any options that produce colorized output should respect the `--no-colors` option.
Usage:
nvm --help Show this message
--no-colors Suppress colored output
.....
Note:
to remove, delete, or uninstall nvm - just remove the "$NVM_DIR" folder (usually `~/.nvm`) Установка LTS-версии Nodejs
Чтобы установить приложение uptime-Kuma, вам нужно установить nodejs >= 14, git и pm2. На этом этапе вы будете устанавливать последнюю LTS-версию nodejs с помощью команды nvm.
- Выполните команду nvm ниже, чтобы установить последнюю LTS-версию nodejs.
nvm install --ltsПосле успешной установки вы увидите аналогичный вывод, как ниже.

Первая версия nodejs, которую вы установите, станет версией по умолчанию в вашей среде разработки.
- Теперь выполните следующую команду, чтобы проверить установку nodejs.
node --version
npm --versionЕсли ваша установка успешна, вы увидите аналогичный вывод, как ниже.
# версия nodejs
v14.17.4
# версия npm
6.14.14Скачивание и установка Uptime-Kuma
На этом этапе вы готовы установить приложение Uptime-Kuma.
- Клонируйте исходный код uptime-Kuma, используя команду git ниже.
git clone https://github.com/louislam/uptime-kuma.git- После этого измените рабочий каталог на “ uptime-kuma/ “ и выполните команду npm для установки всех необходимых пакетов для uptime-kuma.
cd uptime-kuma/
npm run setupИ вы увидите аналогичный вывод, как ниже.

Настройка Uptime-Kuma с pm2
Что такое pm2? Это менеджер процессов nodejs, который поможет вам управлять и поддерживать ваше приложение nodejs вечно. pm2 имеет несколько встроенных функций, которые упрощают развертывание приложений nodejs, позволяет вам отслеживать статус вашего приложения, журналы и даже настраивать файл службы для вашего приложения.
- Установите пакет pm2, используя команду npm ниже.
npm install pm2- После завершения установки выполните команду pm2 ниже, чтобы запустить приложение uptime-kuma.
pm2 start npm --name uptime-kuma -- run start-server -- --port=3001 --hostname=127.0.0.1И вы увидите сообщения вывода, как ниже.

Как видно на картинке, имя приложения “ uptime-kuma “ работает со статусом “ online “.
- Чтобы проверить статус вашего приложения в pm2, выполните следующие команды.
Проверьте статус приложения nodejs.
pm2 statusПроверьте журналы приложения nodejs.
pm2 logs
Мониторинг приложения nodejs в реальном времени.
pm2 monit
- Далее выполните следующую команду pm2, чтобы сгенерировать файл службы для приложения uptime-kuma.
pm2 startupПосле этого вам следует выполнить команду, как указано в выводе.
sudo env PATH=$PATH:/home/johndoe/.nvm/versions/node/v14.17.4/bin /home/johndoe/.nvm/versions/node/v14.17.4/lib/node_modules/pm2/bin/pm2 startup systemd -u johndoe --hp /home/johndoeУбедитесь, что вы используете команду “ sudo “ и вводите правильный пароль для вашего пользователя, чтобы получить права root.
После завершения команды вы увидите следующий вывод.

Как видно на скриншоте, pm2 генерирует systemd-сервис на основе пользователя, в этом примере это “ pm2-johndoe.service “.
Теперь выполните следующую команду, чтобы сгенерировать и сохранить состояние приложения uptime-kuma. Эта команда важна для того, чтобы приложение uptime-kuma всегда работало в фоновом режиме, даже после загрузки системы.
pm2 save- Чтобы проверить службу ‘ pm2-johndoe’, выполните команду ниже.
sudo systemctl is-enabled pm2-johndoeВы увидите вывод enabled, что означает, что приложение uptime-kuma будет автоматически запускаться после загрузки системы.
Кроме того, вы можете попробовать перезагрузить вашу систему и снова войти на сервер, затем проверьте службу uptime-kuma.
sudo systemctl status pm2-johndoeВы должны увидеть аналогичный вывод, как ниже.
? pm2-johndoe.service - PM2 process manager
Loaded: loaded (/etc/systemd/system/pm2-johndoe.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-08-10 01:52:37 UTC; 3min 57s ago
Docs: https://pm2.keymetrics.io/
Main PID: 745 (PM2 v5.1.0: God)
Tasks: 34 (limit: 2343)
Memory: 120.4M
CGroup: /system.slice/pm2-johndoe.service
??745 PM2 v5.1.0: God Daemon (/home/johndoe/.pm2)
??772 npm
??873 sh -c node server/server.js "--port=3001" "--hostname=127.0.0.1"
??874 node server/server.js --port=3001 --hostname=127.0.0.1
Aug 10 01:52:36 ubuntu64 pm2[633]: [PM2] Spawning PM2 daemon with pm2_home=/home/johndoe/.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] PM2 Successfully daemonized
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Resurrecting
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Restoring processes located in /home/johndoe/.pm2/dump.pm2
Aug 10 01:52:37 ubuntu64 pm2[633]: [PM2] Process /home/johndoe/.nvm/versions/node/v14.17.4/bin/npm restoredСлужба “ pm2-johndoe.service “ работает и запущена при загрузке системы.
Настройка Apache как обратного прокси
В этом руководстве вы будете устанавливать и настраивать веб-сервер Apache как обратный прокси для приложения uptime-Kuma.
- Выполните следующую команду, чтобы установить пакеты веб-сервера apache.
sudo apt install apache2Введите “y” и нажмите “ Enter “, чтобы установить веб-сервер apache.
- После этого активируйте некоторые модули apache, используя команду ниже.
sudo a2enmod ssl proxy proxy_ajp proxy_wstunnel proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html- Далее создайте новую конфигурацию виртуального хоста ‘ uptime-kuma.conf ‘ с помощью команды редактора nano ниже.
sudo nano /etc/apache2/sites-available/uptime-kuma.confВставьте следующую конфигурацию в вашу оболочку терминала и измените имя домена “ uptime.example.net “ на ваш домен, например, “ domain.com “.
ServerName uptime.example.net
ProxyPass / http://localhost:3001/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://localhost:3001/$1" [P,L]
Нажмите “ Ctrl+x “ и введите “ Y “, чтобы сохранить конфигурацию.
- Теперь активируйте конфигурацию виртуального хоста apache “uptime-kuma”, используя команду ниже.
sudo a2ensite uptime-kumaПосле этого выполните следующую команду, чтобы проверить конфигурацию apache и убедиться, что у вас нет ошибок.
sudo apachectl configtest- Теперь примените новую конфигурацию, перезапустив службу apache, используя команду ниже.
sudo systemctl restart apache2
Защита Uptime-kuma с помощью SSL Letsencrypt
Чтобы защитить доступ к Uptime-Kuma, вы настроите SSL от Letsencrypt для веб-сервера apache.
- Прежде всего, установите инструмент certbot, выполнив следующую команду.
sudo apt install python3-certbot-apacheВведите “ y “ и нажмите “ Enter “, чтобы начать установку.
- После установки сгенерируйте SSL Let’s encrypt, используя команду certbot, как ниже.
sudo certbot --apache yourdomain.comВведите свой адрес электронной почты для регистрации в Letsencrypt и нажмите “ Enter “, чтобы продолжить. Letsencrypt будет отправлять вам электронные письма, когда ваши SSL-сертификаты истекут.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]Для TOS (Условий обслуживания) Letsencrypt введите “ A “, чтобы согласиться, и нажмите “ Enter “, чтобы продолжить.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: AДля обмена электронной почтой с EFF (Фондом электронной свободы) вы можете ввести “ Y “ для да и “ N “ для нет. В этом примере мы не будем делиться адресом электронной почты с EFF.
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: NТеперь инструмент certbot сгенерирует SSL Letsencrypt для доменного имени Uptime-Kuma. Кроме того, он добавит некоторые дополнительные конфигурации для конфигурации виртуального хоста apache.
Вас попросят настроить автоматическую переадресацию с HTTP на HTTPS. Введите номер “2”, чтобы настроить автоматическую переадресацию apache с HTTP на HTTPS, и нажмите “ Enter “.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2После успешного процесса развертывания вы увидите аналогичный вывод, как ниже.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://uptime.example.net
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=uptime.example.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/uptime.example.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/uptime.example.net/privkey.pem
Your cert will expire on 2021-10-10. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.Проверка установки Uptime-Kuma
- Откройте веб-браузер и введите URL-адрес установки Uptime-Kuma в адресной строке.
Вы будете перенаправлены на защищенное соединение HTTPS.
- Создайте нового администратора для Uptime-kuma на первой странице. Введите имя пользователя администратора и пароль, затем нажмите кнопку “ Создать “.

- После этого войдите с вашим новым именем пользователя и паролем, затем нажмите кнопку “ Войти “.

Теперь вы увидите панель управления uptime-kuma.
- Чтобы добавить новый хост для мониторинга, нажмите кнопку “ Добавить новый монитор “.

- В этом примере вы будете мониторить веб-сайт, поэтому выберите “ Тип монитора “ как “ HTTP(s) “, введите URL-адрес веб-сайта, нажмите “ Настроить уведомление “ для поддержки уведомлений, а затем нажмите кнопку “ Сохранить “ внизу страницы.

- Вы будете перенаправлены на панель управления uptime-Kuma и увидите ваш хост на странице панели управления.

Ниже приведен еще один пример после добавления нового типа “ TCP/IP “ с закрытыми портами, и результатом является “ ENCONNREFUSED “ или ошибка соединения, потому что порт отклонен/закрыт.

Заключение
Поздравляем! Вы успешно установили Uptime-Kuma с веб-сервером Apache в качестве обратного прокси и защитили развертывание Uptime-Kuma с помощью SSL Letsencrypt. На следующем этапе вы можете добавить свои хосты и активировать уведомления о любых инцидентах.
Get new posts in your inbox
No spam. Unsubscribe anytime.