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

17
docker/teardown.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "=== ScadaLink Docker Teardown ==="
echo "Stopping ScadaLink application containers..."
docker compose -f "$SCRIPT_DIR/docker-compose.yml" down
echo ""
echo "Teardown complete."
echo "Site data (SQLite DBs) and logs are preserved in node directories."
echo ""
echo "To also remove persistent data:"
echo " rm -rf $SCRIPT_DIR/site-a-node-a/data $SCRIPT_DIR/site-a-node-b/data"
echo " rm -rf $SCRIPT_DIR/*/logs"