graph TD
subgraph FRONTEND["Frontend (jsofl2)"]
F1["node:22-bullseye\nnpm install\nnpm run build"] --> F2["nginx:alpine\n+ gettext + curl\nstatic + reverse proxy"]
end
subgraph JDK17["Backend — JDK 17"]
B17_BUILD["maven:3.6-openjdk-17\nmvn clean package"] --> B17_RUN["liberica-openjdk-alpine:17\njava -jar app.jar"]
B17_LIST["admin-service\nhub-config-service-v2\nhub-wialon-combine-v2\nts-loader\nalarm-service\nrestauth\nonline-info-v2\ncustom-online-info\nrecent-values-v2-service\nxls-pdf-report-service\ndb-report-service"]
end
subgraph JDK8["Backend — JDK 8"]
B8_BUILD["maven:3.6-openjdk-8\nmvn clean package"] --> B8_RUN["liberica-openjdk-alpine:8u372\nили eclipse-temurin:8-jre\njava -jar app.jar"]
B8_LIST["config-service\nraw-rest-service\nrecent-values-service\naggr-rest-service\naggr-builder-service"]
end
subgraph LEGACY["Backend — Legacy"]
LEG_BUILD["maven:3.6.1-jdk-8-alpine"] --> LEG_RUN["anapsix/alpine-java:8\nref-jofl-service"]
end
subgraph BUILD_TYPES["Типы сборки"]
SIMPLE["Простая\nCOPY . → mvn package\n(6 сервисов)"]
SUBMOD["С git-субмодулями\nCOPY .git/modules/... →\nmvn -DdotGitDirectory=...\n(8 сервисов)"]
MULTI["Многомодульная\nmvn install (parent POM)\nмодуль config-api → service\n(4 сервиса)"]
end