services: opcua: image: mcr.microsoft.com/iotedge/opc-plc:latest container_name: scadabridge-opcua ports: - "50000:50000" - "8080:8080" volumes: - ./opcua/nodes.json:/app/config/nodes.json:ro command: > --autoaccept --unsecuretransport --sph --sn=5 --sr=10 --st=uint --fn=5 --fr=1 --ft=uint --gn=5 --nf=/app/config/nodes.json --pn=50000 networks: - scadabridge-net restart: unless-stopped opcua2: image: mcr.microsoft.com/iotedge/opc-plc:latest container_name: scadabridge-opcua2 ports: - "50010:50010" - "8081:8080" volumes: - ./opcua/nodes.json:/app/config/nodes.json:ro command: > --autoaccept --unsecuretransport --sph --sn=5 --sr=10 --st=uint --fn=5 --fr=1 --ft=uint --gn=5 --nf=/app/config/nodes.json --pn=50010 networks: - scadabridge-net restart: unless-stopped # RETIRED 2026-06-04: superseded by the shared dev GLAuth on 10.100.0.35:3893 # (scadaproj/infra/glauth/). The central nodes now bind there (see # docker/ + docker-env2 central-node appsettings: Ldap:Server=10.100.0.35). # Kept here, commented, for rollback — uncomment + `docker compose up -d ldap` # and revert the central-node Server back to "scadabridge-ldap". # ldap: # image: glauth/glauth:latest # container_name: scadabridge-ldap # ports: # - "3893:3893" # volumes: # - ./glauth/config.toml:/app/config/config.cfg:ro # networks: # - scadabridge-net # restart: unless-stopped mssql: image: mcr.microsoft.com/mssql/server:2022-latest container_name: scadabridge-mssql ports: - "1433:1433" environment: ACCEPT_EULA: "Y" MSSQL_SA_PASSWORD: "ScadaBridge_Dev1#" MSSQL_PID: "Developer" volumes: - scadabridge-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 - ./mssql/setup-env2.sql:/docker-entrypoint-initdb.d/setup-env2.sql:ro networks: - scadabridge-net restart: unless-stopped smtp: image: axllent/mailpit:latest container_name: scadabridge-smtp ports: - "1025:1025" - "8025:8025" environment: MP_SMTP_AUTH_ACCEPT_ANY: 1 MP_SMTP_AUTH_ALLOW_INSECURE: 1 MP_MAX_MESSAGES: 500 networks: - scadabridge-net restart: unless-stopped restapi: build: ./restapi container_name: scadabridge-restapi ports: - "5200:5200" environment: API_NO_AUTH: 0 PORT: 5200 networks: - scadabridge-net restart: unless-stopped playwright: image: mcr.microsoft.com/playwright:v1.58.2-noble container_name: scadabridge-playwright ports: - "3000:3000" command: > npx -y playwright@1.58.2 run-server --host 0.0.0.0 --port 3000 ipc: host networks: - scadabridge-net restart: unless-stopped volumes: scadabridge-mssql-data: networks: scadabridge-net: name: scadabridge-net external: true