graph LR
subgraph APP_SERVER["Сервер приложений (Docker Host)"]
COMPOSE["Docker Compose\n18 контейнеров"]
LOGS["./logs/\nТома логов"]
SETTINGS["./settings/\nhub-config.xml"]
end
subgraph DB_SERVER["Сервер БД (PostgreSQL + TimescaleDB)"]
PG_REF[("ref\nсхемы: refr, mon\nСправочные данные")]
PG_REFTS[("refts\nсхема: monraw\nTimescaleDB\nТелеметрия")]
end
subgraph KAFKA_CLUSTER["Kafka Cluster"]
T1(["coords"])
T2(["change-sensor-value"])
T3(["active-alerts"])
end
subgraph NETWORK["Сетевые требования"]
PORT_80["TCP 80 — Web UI"]
PORT_9103["TCP 9103 — Admin"]
PORT_9201["TCP 9201 — Wialon"]
PORT_PG["TCP 5432 — PostgreSQL"]
PORT_KAFKA["TCP 9092 — Kafka"]
end
COMPOSE --> PG_REF
COMPOSE --> PG_REFTS
COMPOSE --> T1
COMPOSE --> T2
COMPOSE --> T3
COMPOSE --- LOGS
COMPOSE --- SETTINGS
APP_SERVER --- PORT_80
APP_SERVER --- PORT_9103
APP_SERVER --- PORT_9201
DB_SERVER --- PORT_PG
KAFKA_CLUSTER --- PORT_KAFKA