services: ############################ # OPC PLC Simulation ############################ opcplc: container_name: opcplc image: mcr.microsoft.com/iotedge/opc-plc:${OPC_PLC_TAG:-latest} ports: - "50000:50000" command: [ "--sph=True", "--spf=/shared/opcplc.json", "--pn=50000", "--alm=True", "--ses=True", "--ei=${EVENT_NODES:-100}", "--gn=${GUID_NODES:-100}", "--fn=${FAST_NODES:-4900}", "--sn=${SLOW_NODES:-4900}", "--aa=True" ] volumes: - shared:/shared:rw ############################ # OPC Publisher ############################ publisher: container_name: publisher image: mcr.microsoft.com/iotedge/opc-publisher:${OPC_PUBLISHER_TAG:-2.9} user: root ports: - "9071:80" - "9072:443" command: [ "-c", "--aa", "--bs=1", "--bi=0", "--di=60", "--cl=5", "--cto=30", "--sto=1200", "--rs", "--dm=True", "--cfa", "--lfm=syslog", "--pki=/shared/pki", "--npd=${NODES_PER_DATASET:-5000}" ] environment: PublishedNodesFile: /shared/opcplc.json ADDITIONAL_CONFIGURATION: /run/secrets/publisher-secrets secrets: - publisher-secrets volumes: - shared:/shared:rw volumes: shared: secrets: publisher-secrets: file: ./publisher_secrets.txt