feat: add Docker infrastructure for 8-node cluster topology (2 central + 3 sites)

Multi-stage Dockerfile with NuGet restore layer caching, per-node appsettings
with Docker hostnames, shared bridge network with infra services, and
build/deploy/teardown scripts. Ports use 90xx block to avoid conflicts.
This commit is contained in:
Joseph Doherty
2026-03-17 22:12:50 -04:00
parent 775cb8084f
commit eb8d5ca2c0
16 changed files with 987 additions and 0 deletions

View File

@@ -16,6 +16,8 @@ services:
--gn=5
--nf=/app/config/nodes.json
--pn=50000
networks:
- scadalink-net
restart: unless-stopped
ldap:
@@ -25,6 +27,8 @@ services:
- "3893:3893"
volumes:
- ./glauth/config.toml:/app/config/config.cfg:ro
networks:
- scadalink-net
restart: unless-stopped
mssql:
@@ -40,6 +44,8 @@ services:
- scadalink-mssql-data:/var/opt/mssql
- ./mssql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:ro
- ./mssql/machinedata_seed.sql:/docker-entrypoint-initdb.d/machinedata_seed.sql:ro
networks:
- scadalink-net
restart: unless-stopped
smtp:
@@ -52,6 +58,8 @@ services:
MP_SMTP_AUTH_ACCEPT_ANY: 1
MP_SMTP_AUTH_ALLOW_INSECURE: 1
MP_MAX_MESSAGES: 500
networks:
- scadalink-net
restart: unless-stopped
restapi:
@@ -62,7 +70,14 @@ services:
environment:
API_NO_AUTH: 0
PORT: 5200
networks:
- scadalink-net
restart: unless-stopped
volumes:
scadalink-mssql-data:
networks:
scadalink-net:
name: scadalink-net
external: true