Uptime Kuma - это инструмент мониторинга с открытым исходным кодом; вы можете установить его на свой собственный сервер или VPS. С помощью этого приложения мы можем управлять мониторингом веб-сайтов и служб на VPS Linux, включая анализ доступности и производительности в режиме реального времени для этих служб. Пользователи могут просматривать и контролировать время безотказной работы различных служб, таких как HTTP(s), TCP, Ping, DNS-записи и другие. В этой статье я покажу вам, как настроить Uptime Kuma для мониторинга веб-сайтов и сервисов на Ubuntu 26.04.

Предпосылки

  • Сервер под управлением Ubuntu 26.04
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.

Обновите систему

Свежая установка Ubuntu 26.04 требует обновления пакетов до последних доступных версий.

1
sudo apt update -y && sudo apt upgrade -y

Система может нуждаться в перезагрузке после обновления.

1
sudo reboot -f

Шаг 1. Добавьте пользователя

Uptime Kuma запускается и управляется новым пользователем системы. Давайте создадим нового пользователя.

1
# adduser kuma

Убедитесь, что вы создали надежный пароль. Далее, давайте предоставим пользователю привилегии root. В операционной системе Linux пользователи, которые являются членами группы sudo, могут запускать команды sudo.

1
# usermod -aG sudo kuma

После создания и предоставления привилегий sudo мы можем войти в систему в качестве нового пользователя kuma и использовать этого пользователя для запуска команд и завершения установки Uptime Kuma.

1
# su - kuma

Шаг 2. Установите NodeJS и NPM

На этом этапе мы установим NodeJS и NPM через репозиторий NodeJS, чтобы получить самую последнюю версию.

1
2
$ curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
$ sudo apt install nodejs -y

Шаг 3. Установите сервер MariaDB

Uptime Kuma поддерживает MariaDB/MYSQL и SQLite. Для производственного сайта рекомендуется MariaDB/MYSQL. Теперь давайте разберемся с MariaDB.

1
$ sudo apt install mariadb-server

MariaDB установлен и работает. Если он не работает, мы можем начать использовать:

1
$ sudo systemctl start mariadb

Далее, чтобы обеспечить сервис MariaDB и установить root пароль MariaDB, который нам понадобится позже для установки Uptime Kuma.

1
$ sudo mariadb-secure-installation

После выполнения команды, вы должны выполнить следующие шаги, чтобы обеспечить установку MariaDB.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Enter current password for root (enter for none):

Switch to unix_socket authentication [Y/n] Y

Change the root password? [Y/n] Y
New password: MariaDBRootPassword
Re-enter new password: MariaDBRootPassword

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Давайте создадим базу данных, пользователя и его пароль.

1
$ sudo mariadb

Вы будете доставлены в оболочку MariaDB/MYSQL; в то время как в оболочке нам нужно выполнить следующие команды:

1
2
3
4
5
MariaDB [(none)]> CREATE USER 'kuma'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';
MariaDB [(none)]> CREATE DATABASE kuma_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON kuma_db.* TO 'kuma'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Замените YourStrongPassword сильным и уникальным паролем.

Шаг 4. Установите Uptime Kuma

Существует несколько способов установки Uptime Kuma. В этой статье я покажу вам, как установить его вручную. Мы можем установить его, загрузив его с GitHub с помощью git.

1
$ sudo apt install git

Теперь, когда установлены Git, NodeJS и NPM, мы можем установить Vite.

1
$ npm install vite

Далее мы можем клонировать Uptime Kuma из репозитория GitHub.

1
2
$ git clone https://github.com/louislam/uptime-kuma.git
$ cd uptime-kuma

Пришло время запустить установку с помощью менеджера пакетов NPM Nodejs.

1
$ npm run setup

Если все в порядке, теперь мы можем запустить приложение

1
$ npm start

Теперь мы сможем получить доступ к Kuma через веб-браузер http://your-server:3001

Шаг 5. Настройка Uptime Kuma

Uptime Kuma доступен по адресу http://your-server:3001, и мы можем начать его настройку.

Нажмите на MariaDB / MySQL, затем продолжить

Заполните все, затем нажмите кнопку Next, чтобы продолжить

Это займет некоторое время, нам просто нужно подождать.

После завершения вам нужно будет создать нового пользователя администратора; обязательно используйте надежный пароль. Нажмите Создать, чтобы создать нового пользователя.

Вот и все! Вы попадаете на приборную панель Uptime Kuma, где можете приступить к работе.

Шаг 6. Создание системного файла

На предыдущем шаге вы запустили приложение Uptime Kuma с командой npm start, и оно остановится, когда вы нажмете Ctrl + C на клавиатуре. Теперь, чтобы лучше управлять сервисом, мы создадим новый файл системного блока на этом этапе.

1
$ sudo nano /etc/systemd/system/kuma.service

Вставьте в файл следующее.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[Unit]
Description=Uptime Kuma - A self-hosted monitoring tool
After=network-online.target

[Service]
Type=simple
User=kuma
WorkingDirectory=/home/kuma/uptime-kuma
ExecStart=/usr/bin/node /home/kuma/uptime-kuma/server/server.js
Restart=on-failure
RestartSec=5
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Сохраните изменения и закройте текстовый редактор. И чтобы применить новую конфигурацию службы, запустите

1
2
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now kuma

Вот и все! Uptime Kuma должна быть запущена.

Шаг 7. Установите и настройте обратный прокси

Ваша установка Uptime Kuma уже завершена, и вы можете получить к ней доступ по IP:3001. Однако, если вы хотите получить доступ к своему веб-сайту Uptime Kuma, используя доменное имя или поддоменное имя вместо комбинации IP:PORT, вам необходимо настроить обратный прокси-сервер. На этом этапе мы будем устанавливать и настраивать Nginx.

Во-первых, установите Nginx со следующей командой:

1
$ sudo apt install nginx

Далее, давайте создадим блок сервера Nginx или виртуальный хост.

1
$ sudo nano /etc/nginx/conf.d/kuma.conf

Вставьте в файл следующее.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
server {

    listen 80;
    server_name    kuma.example.com;
    location / {
        proxy_pass         http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection "upgrade";
        proxy_set_header   Host $host;
    }

    location ~ /.well-known {
       alias /var/www/html;
    }
}

Сохраните файл, нажав CTRL + O, затем нажмите CTRL + X, чтобы выйти из редактора nano, а затем перезапустите Nginx.

1
$ sudo systemctl restart nginx

На этом этапе вы сможете получить доступ к Uptime Kuma по адресу http://kuma.example.com

Шаг 8. Установите SSL-сертификат

На этом этапе мы установим Certbot. Certbot является клиентом ACME для создания SSL-сертификатов, выданных Let’s Encrypt.

1
$ sudo apt install python3-certbot-nginx

После установки запустите эту команду для создания SSL-сертификата. Но убедитесь, что ваш поддомен или доменное имя уже указывает на ваш сервер; в противном случае Certbot не сможет создать SSL-сертификат.

1
$ sudo certbot --nginx -d kuma.example.com

Команда вернет такой вывод, если все в порядке.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address or hit Enter to skip.
 (Enter 'c' to cancel): you@example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at:
https://letsencrypt.org/documents/LE-SA-v1.8-July-06-2026.pdf
You must agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, 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
Account registered.
Requesting a certificate for kuma.example.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/kuma.example.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/kuma.example.com/privkey.pem
This certificate expires on 2026-10-27.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for kuma.yourdomain.com to /etc/nginx/conf.d/kuma.conf
Congratulations! You have successfully enabled HTTPS on https://kuma.yourdomain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Наконец, вы можете получить доступ к установке Kuma Nginx по адресу https://kuma.example.com. Теперь вы можете начать работать над ним и загружать свои файлы.

Завершение

Если вам понравился этот пост о том, как установить Uptime Kuma для мониторинга веб-сайтов и сервисов на Ubuntu 26.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях, используя кнопки обмена ниже, или просто оставьте комментарий в разделе комментариев. Спасибо.