Move all CRUD create/edit forms from inline on list pages to dedicated form pages with back-button navigation and post-save redirect. Add Playwright Docker container (browser server on port 3000) with 25 passing E2E tests covering login, navigation, and site CRUD workflows. Add POST /auth/token endpoint for clean JWT retrieval.
112 lines
2.4 KiB
YAML
112 lines
2.4 KiB
YAML
services:
|
|
opcua:
|
|
image: mcr.microsoft.com/iotedge/opc-plc:latest
|
|
container_name: scadalink-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:
|
|
- scadalink-net
|
|
restart: unless-stopped
|
|
|
|
ldap:
|
|
image: glauth/glauth:latest
|
|
container_name: scadalink-ldap
|
|
ports:
|
|
- "3893:3893"
|
|
volumes:
|
|
- ./glauth/config.toml:/app/config/config.cfg:ro
|
|
networks:
|
|
- scadalink-net
|
|
restart: unless-stopped
|
|
|
|
mssql:
|
|
image: mcr.microsoft.com/mssql/server:2022-latest
|
|
container_name: scadalink-mssql
|
|
ports:
|
|
- "1433:1433"
|
|
environment:
|
|
ACCEPT_EULA: "Y"
|
|
MSSQL_SA_PASSWORD: "ScadaLink_Dev1#"
|
|
MSSQL_PID: "Developer"
|
|
volumes:
|
|
- 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:
|
|
image: axllent/mailpit:latest
|
|
container_name: scadalink-smtp
|
|
ports:
|
|
- "1025:1025"
|
|
- "8025:8025"
|
|
environment:
|
|
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
|
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
|
MP_MAX_MESSAGES: 500
|
|
networks:
|
|
- scadalink-net
|
|
restart: unless-stopped
|
|
|
|
restapi:
|
|
build: ./restapi
|
|
container_name: scadalink-restapi
|
|
ports:
|
|
- "5200:5200"
|
|
environment:
|
|
API_NO_AUTH: 0
|
|
PORT: 5200
|
|
networks:
|
|
- scadalink-net
|
|
restart: unless-stopped
|
|
|
|
lmxfakeproxy:
|
|
build: ./lmxfakeproxy
|
|
container_name: scadalink-lmxfakeproxy
|
|
ports:
|
|
- "50051:50051"
|
|
environment:
|
|
OPC_ENDPOINT: "opc.tcp://opcua:50000"
|
|
OPC_PREFIX: "ns=3;s="
|
|
depends_on:
|
|
- opcua
|
|
networks:
|
|
- scadalink-net
|
|
restart: unless-stopped
|
|
|
|
playwright:
|
|
image: mcr.microsoft.com/playwright:v1.58.2-noble
|
|
container_name: scadalink-playwright
|
|
ports:
|
|
- "3000:3000"
|
|
command: >
|
|
npx -y playwright@1.58.2 run-server
|
|
--host 0.0.0.0
|
|
--port 3000
|
|
ipc: host
|
|
networks:
|
|
- scadalink-net
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
scadalink-mssql-data:
|
|
|
|
networks:
|
|
scadalink-net:
|
|
name: scadalink-net
|
|
external: true
|