Все системы работают в штатном режиме 21 принимаемые криптовалюты · Monero приветствуется Политика без KYC
ChainVPS

Мониторинг · без KYC

Хостинг Uptime Kuma на офшорном VPS

Разверните собственный монитор доступности и публичную статус-страницу на офшорном VPS — без стороннего SaaS-сервиса, который хранил бы список ваших конечных точек или данные о вашей личности.

Что это такое

Uptime Kuma — это инструмент мониторинга с самостоятельным хостингом, который проверяет доступность ваших веб-сайтов, API, TCP-портов, DNS-записей и контейнеров, а затем оповещает вас о сбоях через 90+ каналов уведомлений. Он поставляется с удобной веб-панелью и умеет публиковать публичные или приватные статус-страницы — и всё это на основе единой встроенной базы данных SQLite.

Почему размещать это оффшорно

Сервер мониторинга хранит полную карту вашей инфраструктуры — каждый хостнейм, IP-адрес, порт и API-ключ, за которыми вы следите, — поэтому важно, где он физически находится и кто может получить к нему доступ по судебному запросу. Размещение Uptime Kuma на офшорном VPS без KYC с оплатой криптовалютой удерживает этот перечень вне SaaS-панелей сторонних сервисов и вне юрисдикции, в которой работает ваша продакшн-инфраструктура, а безлимитный трафик делает постоянный опрос бесплатным.

Развёртывание

Рабочая эталонная конфигурация

Скопируйте это на новый инстанс ChainVPS. Замените плейсхолдеры и запустите.

docker-compose.yml
# 1) Install Docker + compose plugin (Ubuntu 24.04)
#    curl -fsSL https://get.docker.com | sh
#
# 2) docker-compose.yml  — Uptime Kuma behind Caddy for automatic HTTPS
#    Replace status.example.com with your domain (A record -> this VPS).

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: unless-stopped
    volumes:
      - ./uptime-kuma-data:/app/data
    # Bound to loopback: only Caddy reaches it, never the public internet.
    ports:
      - "127.0.0.1:3001:3001"

  caddy:
    image: caddy:2
    container_name: caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy-data:/data
      - caddy-config:/config

volumes:
  caddy-data:
  caddy-config:

# 3) Caddyfile (same directory) — TLS is issued automatically:
#    status.example.com {
#        reverse_proxy uptime-kuma:3001
#    }
#
# 4) docker compose up -d
#    Open https://status.example.com and create the admin user
#    on first visit (do this immediately — the setup screen is unauthenticated).

Файрвол

Порты для открытия

ПортПротоколНазначение
3001TCPВеб-интерфейс / WebSocket Uptime Kuma — держите привязанным к 127.0.0.1, никогда не открывайте наружу
443TCPHTTPS через обратный прокси (Caddy/nginx) — единственный входящий порт, который нужен пользователям
80TCPHTTP, используется только для выпуска сертификатов ACME/Let's Encrypt и редиректа на 443

Подбор оптимального размера

Какой план вам нужен

Лёгкий

VPS Nano / Small (1 vCPU, 1-2 GB RAM)

Для личного использования, до ~50 мониторов с интервалом 60 секунд. В простое Uptime Kuma потребляет несколько сотен MB.

Средний

VPS Pro (2-4 vCPU, 4-8 GB RAM)

Небольшая команда, несколько сотен мониторов, а также несколько публичных статус-страниц и частые проверки.

Высокая нагрузка

VPS Pro (large) или начальный тариф Dedicated

1000+ мониторов с короткими интервалами. Ограничивающим фактором становится конкуренция за запись в SQLite — выделите быстрый NVMe и полное ядро CPU, а перед добавлением RAM лучше увеличьте интервалы проверок.

Лучшие локации: Выберите локацию из privacy-уровня (NL, CH, RO, IS, MD, LU), чтобы сервер, хранящий полный перечень ваших конечных точек, находился в дружественной юрисдикции — NL и CH также обладают отличной связностью, что снижает задержку проверок и уменьшает число ложных срабатываний оповещений. Если объекты мониторинга сосредоточены в одном регионе, хорошо связанная локация рядом с ними даёт наиболее точный сигнал о доступности.

Обеспечьте полную защиту

Чек-лист по усилению защиты

  • Никогда не открывайте порт 3001 в интернет. Привяжите его к 127.0.0.1 (как показано выше) и обращайтесь к интерфейсу только через TLS reverse proxy; добавьте правило UFW, разрешающее только 80/443 и SSH.
  • Создайте учётную запись администратора сразу после `up -d`, при первом же посещении — начальная страница настройки не требует аутентификации, и любой, кто загрузит интерфейс раньше вас, сможет перехватить инстанс. Затем включите 2FA в разделе Settings > Security.
  • Регулярно делайте резервную копию ./uptime-kuma-data (это единая база SQLite). Перед копированием остановите контейнер или используйте встроенную функцию резервного копирования Uptime Kuma, чтобы избежать копирования недописанной базы данных, и храните копии отдельно от сервера мониторинга.
  • Делайте публичные статус-страницы минимальными — они могут раскрывать внутренние хостнеймы и IP-адреса. Используйте приватные статус-страницы или доступ на уровне отдельной страницы и присваивайте мониторам обобщённые отображаемые имена вместо настоящих хостнеймов серверов.
  • Направляйте оповещения через канал, который не связан с вашей личностью (отдельный Telegram-бот или self-hosted Apprise/ntfy), а не через личную почту, и относитесь к токенам уведомлений в базе данных как к секретам.
  • Закрепите образ на мажорном теге `1` и запускайте `docker compose pull && up -d` по расписанию; следите за release notes проекта, поскольку Uptime Kuma активно развивается.

Вопросы

Хостинг Uptime Kuma — FAQ

Нужен ли Uptime Kuma отдельный сервер базы данных?

Нет. Он использует встроенную базу данных SQLite, хранящуюся в /app/data, поэтому весь стек — это один контейнер плюс том с данными. Именно поэтому при большом количестве мониторов быстрый диск важнее, чем объём RAM.

Зачем размещать его за Caddy или nginx вместо того, чтобы просто открыть порт 3001?

Uptime Kuma отдаёт обычный HTTP на порту 3001 без собственного TLS. Обратный прокси добавляет автоматический HTTPS, оставляет приложение на loopback-интерфейсе и позволяет добавить контроль доступа — при прямом открытии порта 3001 данные для входа администратора передавались бы по незашифрованному HTTP.

Может ли он мониторить серверы в других странах с VPS от ChainVPS?

Да. Мониторинг работает по исходящим соединениям — VPS обращается к вашим целям по HTTP(S), TCP, ICMP ping, DNS и другим протоколам. Безлимитный трафик означает, что частые проверки ничего не стоят, а хорошо связанная локация снижает число ложных срабатываний, вызванных задержками.

Сколько ресурсов он реально потребляет?

Простаивающий инстанс с несколькими мониторами спокойно укладывается примерно в 200-400 MB RAM на одном vCPU. Потребление растёт с числом мониторов и частотой их запуска, поэтому перед апгрейдом железа лучше увеличить интервалы проверок.

Останутся ли моя статус-страница и список конечных точек приватными?

Это полностью под вашим контролем. Статус-страницы включаются по желанию и могут быть приватными; список мониторов хранится только в вашей базе SQLite на VPS. На офшорном хостинге без KYC не существует сторонней SaaS-копии того, что вы мониторите, и учётная запись не привязана к вашей личности.

Больше для самостоятельного хостинга

Другие стеки в один клик

Разверните Uptime Kuma
в течение следующих 60 секунд.

Безлимитный трафик · DDoS-защита включена · 21 криптовалюта · без KYC.