Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Проверено
27 июня 2026 г.
Запуск
docker compose up -d --build (сборка из исходников)
Сложность
Сложный
Ключевой замер
RAM idle ~120 MiB
Версия
v3.0.0
Репозиторий
GitHub →
Безопасность и OSINT

World Monitor: ситуационный дашборд планеты на своем сервере

Открытый дашборд глобальной обстановки: новости, геополитика, конфликты, рынки и инфраструктура - на одной карте мира в реальном времени. Собрали его из исходников на Fatmetal Cloud Server, замерили ресурсы и сняли живой дашборд.

Июнь 2026 ~8 минут чтения Fatmetal Team
OSINT / Intelligence Лицензия: AGPL-3.0 (non-commercial) Статус: запущен у нас, v3.0.0

Вердикт

Подходит
  • приватный ситуационный дашборд для себя и исследований
  • карта мира и новости со сводками AI на своем сервере
Не подходит
  • коммерческое использование (нужна платная лицензия)
  • слабая клиентская машина (WebGL тяжелый)
Мин. тариф: CPU2-RAM4-DISK50 Рекомендуем: CPU2-RAM4-DISK50 Сложность: hard Время запуска: сборка ~170 c Главный риск: AGPL non-commercial; сборка тяжелая; вход /dashboard.html Прод-готовность: 3 секрета, прокси с auth, TLS, cron сидеров

Проверено на версии v3.0.0, июнь 2026. На новых версиях результаты могут отличаться.

Что это

Что это и какую задачу решает

World Monitor (koala73/worldmonitor) - дашборд глобальной ситуационной осведомленности. На одной карте мира он сводит вместе несколько десятков слоев данных: очаги конфликтов и протестов, военные базы и активность, кибератаки, перебои в интернете, природные события, потоки беженцев, экономические сигналы, морской и авиатрафик. Поверх карты - лента новостей из сотен источников, которые AI сворачивает в краткие сводки, индекс странового риска, финансовый радар по биржам, сырью и крипте. По сути это попытка собрать в open-source то, что обычно ассоциируется с дорогими платформами вроде Palantir.

Данные тянутся из 65+ внешних источников. Базовый сценарий (землетрясения, погода, конфликты, природные события, прогнозные рынки) работает без единого ключа; платные и нишевые фиды (спутниковые пожары, AIS-суда, биржи) подключаются своими API-ключами. Есть пять тематических вариантов из одной кодовой базы (world, tech, finance, commodity, happy), 21 язык и нативное десктоп-приложение на Tauri. У проекта 54,9 тыс. звезд на GitHub.

TypeScriptViteglobe.gldeck.glNode.jsRedis
Сравнение

Свой инстанс против публичного и платных платформ

Сравнение по тому, что влияет на выбор.

ПараметрСвой инстансПубличный / платные платформы
ЦенаБесплатно (non-commercial), платите за серверPRO-подписка или корпоративный контракт
Данные и запросыНа вашем сервере, свои ключиЧерез чужую инфраструктуру
Открытый кодДа, AGPL-3.0Закрытый
КастомизацияСвои источники, варианты, языкиОграничена продуктом
СопровождениеСами (обновление пересборкой)Вендор и SLA

Важный нюанс: часть продвинутой аналитики (странового индекса - расчет ценовых шоков, импорт, госдолг, санкции) в интерфейсе помечена как PRO. Ядро - карта, слои, новости, базовые сигналы - работает в self-hosted бесплатно, но самые глубокие панели завязаны на платный/коммерческий тариф.

Под капотом

Тех-стек и архитектура

Фронтенд - чистый TypeScript на Vite, 3D-глобус на globe.gl (Three.js) и плоская WebGL-карта на deck.gl (MapLibre). Бэкенд - Node.js-сервис с 100+ обработчиками-маршрутами в каталоге /api (на проде это Vercel Edge Functions, в Docker - постоянный сервер за nginx). Данные кешируются в Redis, доступ к нему идет через Upstash-совместимый REST-прокси. Отдельный контейнер ais-relay держит WebSocket к AISStream для морского трафика. Десктоп-версия - Tauri 2 (Rust) с Node-сайдкаром.

Ключевая особенность для оценки ресурсов: вся тяжесть - на клиенте. Глобус и карты с десятками слоев рендерит браузер пользователя через WebGL, а серверная часть остается очень легкой. Лицензия - AGPL-3.0 для некоммерческого использования; для коммерции нужна отдельная коммерческая лицензия.

Конфигурация

Минимальная конфигурация

У проекта раздвоение: тяжелая сборка, легкий рантайм.

RAM в простое (весь стек)~120 MiB
Под сборку (Vite из исходников)лучше 8 GB / 4 ядра
Образы на диске~1,33 GB
Тариф под сборкуCPU4-RAM8-DISK100
Тариф под рантайммладший, CPU2-RAM4-DISK50
i

Сборка тяжелая, рантайм легкий. Vite-сборка фронта прожорлива по памяти, поэтому собирать удобнее на тарифе CPU4-RAM8-DISK100 (или на младшем с swap - так и сделали). А вот работает стек на ~120 MiB и спокойно живет на тарифе CPU2-RAM4-DISK50 за 500 руб/мес.

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

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

Fatmetal Cloud Server + Ubuntu 24.04 + Docker. Сборка из исходников.

  1. Создать VM

    Ubuntu 24.04, Docker из маркетплейса. Под сборку - тариф помощнее или swap на младшем.

  2. Клон и обязательные секреты

    git clone https://github.com/koala73/worldmonitor.git
    cd worldmonitor
    echo "RELAY_SHARED_SECRET=$(openssl rand -hex 32)" >> .env
    echo "REDIS_PASSWORD=$(openssl rand -hex 32)"      >> .env
    echo "REDIS_TOKEN=$(openssl rand -hex 32)"         >> .env

    Без этих трех секретов стек не стартует - это защита по умолчанию.

  3. Собрать и поднять

    docker compose up -d --build
    ./scripts/run-seeders.sh

    Поднимутся 4 контейнера (app, redis, redis-rest, ais-relay). Сидеры наполняют Redis публичными данными - им нужен Node 22 на хосте. Дашборд - на порту 3000, по адресу /dashboard.html.

i

VM подняли AI-агентом через MCP-сервер Fatmetal, и этим же агентом собрали и запустили World Monitor. Провижн сервера, сборку из исходников, секреты, сидеры и обратный прокси с авторизацией агент сделал инструментами на нашей инфраструктуре, без ручного клика в панели.

https://ваш-домен/dashboard.html
World Monitor: дашборд глобальной обстановки на нашем инстансе
Реальный экземпляр World Monitor (v3.0.0) на Fatmetal Cloud Server: карта мира с событиями, слои-фильтры и панели мониторинга.
Замеры

Что измерили после запуска

Цифры с тестового CPU4-RAM8-DISK100, Ubuntu 24.04, Docker. Реальная сборка и запуск.

Сборка (clone до up, docker compose --build)~170 c
Из них Vite-сборка фронта~70 c
RAM в простое (4 контейнера)~120 MiB
Из них приложение (nginx+Node)~86 MiB
Образы на диске~1,33 GB
Тестовая проверкадашборд собрался, карта с событиями, панели наполнились
i

Главное: серверная часть очень легкая - ~120 MiB на весь стек в простое. Тяжелый только этап сборки. Вся нагрузка по отрисовке глобуса и карт - на стороне браузера, поэтому сервер можно держать на тарифе CPU2-RAM4-DISK50, а вот машине пользователя нужен нормальный браузер с WebGL.

Подводные камни

Где может сломаться

Реальные грабли, на которые наткнулись при запуске.

!

Без трех секретов стек не стартует. RELAY_SHARED_SECRET, REDIS_PASSWORD, REDIS_TOKEN обязательны - контейнеры падают на старте, если их нет. Генерируются одной строкой через openssl rand.

!

Сборка из исходников - тяжелая. Готового образа в реестре нет, собираете сами. Vite-сборка фронта прожорлива по RAM: на тарифе CPU2-RAM4-DISK50 без swap может упереться в память. Мы собирали с 4 GB swap. Рантайм после сборки - легкий.

!

Точка входа - /dashboard.html, а не корень. Голый / в Docker-сборке отдает 403 (nginx ищет index.html, которого в мульти-вариантной сборке нет). Заходить нужно на /dashboard.html - или добавить редирект в прокси.

!

ais-relay рестартует без ключа AISStream. Контейнер морского трафика крутится в цикле перезапуска, пока не задан AISSTREAM_API_KEY. На остальной дашборд это не влияет - просто нет данных по судам.

!

Сидеры - на хосте и по расписанию. Скрипты наполнения Redis запускаются на хосте (нужен Node 22), а не в контейнере. Чтобы данные не устаревали, их вешают в cron (раз в 30 минут). Часть источников без API-ключей отдает пусто.

Безопасность

Безопасность, лицензия и обновления

Дашборд и API не имеют своей аутентификации - закрывайте обратным прокси с паролем (мы повесили nginx + basic auth + TLS). У ais-relay есть флаг отключения авторизации для локальной отладки - на доступном из интернета хосте его включать нельзя, проект сам предупреждает об этом в логах.

Лицензия - AGPL-3.0 для некоммерческого использования; для коммерции, SaaS или ребрендинга нужна отдельная коммерческая лицензия от автора. Обновление - пересборка из свежего исходника:

git pull
docker compose up -d --build
./scripts/run-seeders.sh

Постоянных пользовательских данных нет - кеш в Redis восстанавливается сидерами, так что бэкап сводится к снапшоту диска.

Рядом

Связь с другими стеками

  • Локальный AI - Ollama, vLLM или любой OpenAI-совместимый endpoint для сводок новостей без облачных ключей (через LLM_API_URL).
  • Обратный прокси - Nginx или Caddy для TLS и авторизации (у нас nginx + basic auth).
  • Cron - для регулярного перезапуска сидеров, чтобы данные оставались свежими.
  • SpiderFoot и Web Check - соседи по OSINT-направлению: World Monitor дает картину мира, те двое - точечную разведку по цели.
Честно

Когда World Monitor - не ваш выбор

Коммерческое использование

AGPL-3.0 покрывает только некоммерческие сценарии. Для бизнеса, SaaS или ребрендинга нужна платная коммерческая лицензия - это не обходится сменой логотипа.

Слабая клиентская машина

Глобус и карты с десятками слоев рендерятся в браузере через WebGL. На слабом ноутбуке без нормальной графики интерфейс будет тормозить, как бы легок ни был сервер.

Нужен turnkey из одного контейнера

Это сборка из исходников на четыре контейнера с обязательными секретами и сидерами. Если хочется просто docker run и готово - это другой класс проектов.

FAQ

Частые вопросы

Можно поставить без Docker?

Технически да, но это 4 контейнера - проще через compose.

Хватит ли 2 GB RAM?

Рантайм да (~120 MiB), но под сборку нужен swap или тариф побольше.

Можно в продакшен?

Для личного и исследований - да; для коммерции нужна платная лицензия.

Как обновлять?

git pull и docker compose up -d --build.

Как делать бэкап?

Stateless - кеш в Redis восстанавливается сидерами; снапшот диска.

Нужна ли авторизация?

Своей нет - закрывайте прокси с паролем.

Ограничения лицензии?

AGPL-3.0 non-commercial; коммерция - отдельная лицензия.

Итог

World Monitor - редкий open-source проект уровня ситуационного центра: карта мира, десятки слоев событий, новости со сводками от AI, финансовый радар. Собирается из исходников (этап тяжелый), но в работе занимает всего ~120 MiB и спокойно живет на тарифе CPU2-RAM4-DISK50 - вся нагрузка по отрисовке на клиенте. Честные оговорки: своей авторизации нет (нужен прокси), вход через /dashboard.html, продвинутая аналитика и коммерческое использование - за платную лицензию. Как приватный ситуационный дашборд на своем сервере для личного и исследовательского использования - очень сильная вещь.

Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас собран на тарифе CPU4-RAM8-DISK100, а крутится на CPU2-RAM4-DISK50. Нашли неточность в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи