We have been using this docker-compose file on other projects. But then with out bacnet. just opca/ua and modbus.
version: '3.1'
services:
gateway:
image: inductiveautomation/ignition:latest # You can change `latest` to a specific version, e.g. `8.0.5`
platform: "linux/amd64" #"linux/arm/v7" "linux/arm64" "linux/amd64"
restart: "unless-stopped"
ports:
- "8088:8088" # Port 8088 is visable out side of the docker
- "8060:8060" # Port 8060 is visable out side of the docker
- "4445:4445" # Port 4445 is visable out side of the docker Send. This port must be open on this machine to send multicast messages.
- "4446:4446" # Port 4446 is visable out side of the docker Receive. This port must be open on this machine to send multicast messages.
- "47808:47808" # Port 47808 Bacnet TCP
- "47808:47808/udp" # Port 47808 Bacnet UDP
stop_grace_period: 30s
volumes:
# - ./gateway_backup.gwbk:/restore.gwbk
- gateway_data_ignition:/var/lib/ignition/data
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
environment:
TZ: Europe/Oslo
networks:
- ignition-Storm-network
db:
image: mariadb:latest
restart: "unless-stopped"
stop_grace_period: 30s
ports:
# Note that the 3306 port doesn't need to be published here for the gateway container to connect,
# only for external connectivity to the database.
- "3306:3306" # Port 3306 is visable out side of the docker
volumes:
- db_data_ignition:/var/lib/mysql
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
environment:
MARIADB_ROOT_PASSWORD: passwd # specify the password for the root user
MARIADB_DATABASE: ignition # create a database with this name
MARIADB_USER: ignition # create a user with this name, with all privileges on MARIADB_DATABASE if specified
MARIADB_PASSWORD: passwd # password for above user
networks:
- ignition-Storm-network
adminer:
image: adminer
restart: "unless-stopped"
stop_grace_period: 30s
ports:
- "8080:8080"
environment:
TZ: Europe/Oslo
ADMINER_DEFAULT_SERVER: db_data_ignition
ADMINER_DESIGN: galkaev
networks:
- ignition-Storm-network
networks:
ignition-Storm-network:
volumes:
gateway_data_ignition:
db_data_ignition:
With this docker-compose setup I can se the Ignition bacnet Client.
I ask ChatGPT it said that the docker container should be like this. More ports is redirected
docker run -d --name ignition \
-p 8088:8088 -p 8043:8043 -p 8060:8060 -p 8080:8080 -p 2810:2810 -p 27101:27101 -p 47808:47808/udp \
quay.io/ignition/ignition:latest
I tride to do this in my docker-compose file. and made just ignition
version: '3.1'
services:
gateway:
image: inductiveautomation/ignition:latest # You can change `latest` to a specific version, e.g. `8.0.5`
platform: "linux/amd64" #"linux/arm/v7" "linux/arm64" "linux/amd64"
restart: "unless-stopped"
ports:
- "8088:8088"
- "8043:8043"
- "8060:8060"
- "8080:8080"
- "2810:2810"
- "27101:27101"
- "47808:47808/udp"
stop_grace_period: 30s
volumes:
# - ./gateway_backup.gwbk:/restore.gwbk
- ignition:/var/lib/ignition/data
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
environment:
TZ: Europe/Oslo
networks:
- ignition-Storm-network
networks:
ignition-Storm-network:
volumes:
ignition:
One differens I found on this setup is that the IAmRequest error don't appear.
IAmRequest 25May2023 23:31:39
Another instance with my device instance ID found at Address [networkNumber=0, macAddress=[ac,15,0,1,cf,7d]]
But I now don't see any bacnet errors in the log.
ProjectRunner 26May2023 07:57:01
Setting SQL Bridge project enabled state to 'ENABLED'
LicenseManager 26May2023 07:57:01
Trial time reset. Time remaining = 7200.
ProjectRunner 26May2023 02:18:21
Setting SQL Bridge project enabled state to 'DISABLED'
Project 26May2023 00:34:55
Restarting gateway scripts...
Project 26May2023 00:34:55
Restarting gateway scripts...
ModuleManager 26May2023 00:34:55
Starting up module 'com.inductiveautomation.opcua.drivers.bacnet' v2.1.27 (b2023042509)...
ModuleManager 26May2023 00:34:54
Shutdown of module "com.inductiveautomation.opcua.drivers.bacnet" completed in 7 ms
ModuleManager 26May2023 00:34:54
Shutting down module 'com.inductiveautomation.opcua.drivers.bacnet' v2.1.27 (b2023042509)...
ModuleManager 26May2023 00:34:54
Restarting module "com.inductiveautomation.opcua.drivers.bacnet"
DefaultExceptionMapper 26May2023 00:32:29
Connection lost, give up responding.
InternalDatabase 26May2023 00:31:55
Created auto-backup of internal database "config.idb" in 220 ms
InternalDatabase 26May2023 00:31:55
Creating auto-backup of internal database "config.idb"...
PropertiesFactory 26May2023 00:30:03
Loading properties files from jar:file:/usr/local/bin/ignition/lib/core/gateway/wicket-extensions-6.30.0.jar!/org/apache/wicket/extensions/Initializer.properties with loader org.apache.wicket.resource.IsoPropertiesFilePropertiesLoader@4e892aa5
PropertiesFactory 26May2023 00:30:03
Loading properties files from jar:file:/usr/local/bin/ignition/lib/core/gateway/wicket-core-6.30.0.jar!/org/apache/wicket/Application.properties with loader org.apache.wicket.resource.IsoPropertiesFilePropertiesLoader@4e892aa5
...com.inductiveautomation.ignition.gateway 26May2023 00:27:11
redundancyStateChanged: Role=Independent, Activity level=Active, Project state=Good, History level=Full
IgnitionGateway 26May2023 00:27:11
Ignition[state=STARTING] ContextState = RUNNING
IgnitionGateway 26May2023 00:27:11
Gateway started in 16 seconds.
ModuleManager 26May2023 00:27:11
Starting up module 'com.inductiveautomation.opcua.drivers.dnp3' v4.1.27 (b2023042509)...
ModuleManager 26May2023 00:27:11
Starting up module 'com.inductiveautomation.opcua.drivers.logix' v5.1.27 (b2023042509)...
ModuleManager 26May2023 00:27:11
Starting up module 'com.inductiveautomation.opcua.drivers.iec61850' v1.1.27 (b2023042509)...
ModuleManager 26May2023 00:27:11
Starting up module 'com.inductiveautomation.opcua.drivers.ablegacy' v6.1.27 (b2023042509)...
NonceUtil 26May2023 00:27:11
SecureRandom seeded in 0ms.
ModuleManager 26May2023 00:27:11
Starting up module 'com.inductiveautomation.opcua.drivers.modbus' v7.1.27 (b2023042509)...
ModuleManager 26May2023 00:27:11
Starting up module 'com.inductiveautomation.opcua.drivers.siemens' v6.1.27 (b2023042509)...
ModuleManager 26May2023 00:27:10
Starting up module 'com.inductiveautomation.opcua.drivers.bacnet' v2.1.27 (b2023042509)...
OpcUaClient 26May2023 00:27:10
Eclipse Milo OPC UA Client SDK version: 0.6.9
OpcUaClient 26May2023 00:27:10
Eclipse Milo OPC UA Stack version: 0.6.9
OpcUaClient 26May2023 00:27:10
Java version: 11.0.18
But I still don't have a connection.
the docker inspect info from the last docker-compose with more ports exspost
storm@sm-ignition:~$ docker inspect cd69de38b22b
[]
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/cd69de38b22b/json": dial unix /var/run/docker.sock: connect: permission denied
storm@sm-ignition:~$ sudo docker inspect cd69de38b22b
[
{
"Id": "cd69de38b22b4c35e9b7682b0bddefc6f94e433d41639b5162e9c88b6f162969",
"Created": "2023-05-25T22:15:28.691946971Z",
"Path": "docker-entrypoint.sh",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 2080817,
"ExitCode": 0,
"Error": "",
"StartedAt": "2023-05-25T22:26:52.803960608Z",
"FinishedAt": "2023-05-25T22:26:52.204764308Z",
"Health": {
"Status": "healthy",
"FailingStreak": 0,
"Log": [
{
"Start": "2023-05-26T08:00:48.265392584+02:00",
"End": "2023-05-26T08:00:48.326447714+02:00",
"ExitCode": 0,
"Output": ""
},
{
"Start": "2023-05-26T08:00:58.328876065+02:00",
"End": "2023-05-26T08:00:58.390548078+02:00",
"ExitCode": 0,
"Output": ""
},
{
"Start": "2023-05-26T08:01:08.393577952+02:00",
"End": "2023-05-26T08:01:08.45894387+02:00",
"ExitCode": 0,
"Output": ""
},
{
"Start": "2023-05-26T08:01:18.46867795+02:00",
"End": "2023-05-26T08:01:18.548539916+02:00",
"ExitCode": 0,
"Output": ""
},
{
"Start": "2023-05-26T08:01:28.940815627+02:00",
"End": "2023-05-26T08:01:29.005660784+02:00",
"ExitCode": 0,
"Output": ""
}
]
}
},
"Image": "sha256:ab808c23d368bd852ea8cbc9c9c1759577b7da8e5feb607de79b7a7574811fe0",
"ResolvConfPath": "/var/lib/docker/containers/cd69de38b22b4c35e9b7682b0bddefc6f94e433d41639b5162e9c88b6f162969/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/cd69de38b22b4c35e9b7682b0bddefc6f94e433d41639b5162e9c88b6f162969/hostname",
"HostsPath": "/var/lib/docker/containers/cd69de38b22b4c35e9b7682b0bddefc6f94e433d41639b5162e9c88b6f162969/hosts",
"LogPath": "/var/lib/docker/containers/cd69de38b22b4c35e9b7682b0bddefc6f94e433d41639b5162e9c88b6f162969/cd69de38b22b4c35e9b7682b0bddefc6f94e433d41639b5162e9c88b6f162969-json.log",
"Name": "/ignition-gateway-1",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {
"max-file": "10",
"max-size": "200k"
}
},
"NetworkMode": "ignition_ignition-Storm-network",
"PortBindings": {
"27101/tcp": [
{
"HostIp": "",
"HostPort": "27101"
}
],
"2810/tcp": [
{
"HostIp": "",
"HostPort": "2810"
}
],
"47808/udp": [
{
"HostIp": "",
"HostPort": "47808"
}
],
"8043/tcp": [
{
"HostIp": "",
"HostPort": "8043"
}
],
"8060/tcp": [
{
"HostIp": "",
"HostPort": "8060"
}
],
"8080/tcp": [
{
"HostIp": "",
"HostPort": "8080"
}
],
"8088/tcp": [
{
"HostIp": "",
"HostPort": "8088"
}
]
},
"RestartPolicy": {
"Name": "unless-stopped",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"ConsoleSize": [
0,
0
],
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "private",
"Dns": null,
"DnsOptions": null,
"DnsSearch": null,
"ExtraHosts": [],
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": null,
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": null,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"Mounts": [
{
"Type": "volume",
"Source": "ignition_ignition",
"Target": "/var/lib/ignition/data",
"VolumeOptions": {}
}
],
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/3f0b44057c06abc15b3143eb941c67b8c14dc291619a1f94f08c1e0de4c8ee23-init/diff:/var/lib/docker/overlay2/28718842f1a89769060aa9738e2d6e390bf649836344d67309e35d9f36500e99/diff:/var/lib/docker/overlay2/73ff1a730838047909130d03adc4ad28efe8730e638df4643afb142eae00031a/diff:/var/lib/docker/overlay2/bb788ebe2973a4ce5f2a9033f65943fa65ff345469717b633c9c7efe17993de1/diff:/var/lib/docker/overlay2/930c42d5b56cc0680c3d847c3251d6f665e9ce5e3cfe27034ae3f612bfea0f13/diff:/var/lib/docker/overlay2/19a7ab1b202377f4486e749f5196e266ca21c3bfdd2bd3ef5e575c982145921e/diff:/var/lib/docker/overlay2/28269c2fc10fe69a168a58fb06ba630f41bd04881d873fee00a8d838042a47e6/diff:/var/lib/docker/overlay2/58a757c39c631f83f33a4ecd239005328c240fa481db8a2faa4a5dc775725bb0/diff:/var/lib/docker/overlay2/1badc7d86a17df1987efa996fa682d352f914ee4dc684afdc66691433c2ba7e9/diff",
"MergedDir": "/var/lib/docker/overlay2/3f0b44057c06abc15b3143eb941c67b8c14dc291619a1f94f08c1e0de4c8ee23/merged",
"UpperDir": "/var/lib/docker/overlay2/3f0b44057c06abc15b3143eb941c67b8c14dc291619a1f94f08c1e0de4c8ee23/diff",
"WorkDir": "/var/lib/docker/overlay2/3f0b44057c06abc15b3143eb941c67b8c14dc291619a1f94f08c1e0de4c8ee23/work"
},
"Name": "overlay2"
},
"Mounts": [
{
"Type": "volume",
"Name": "ignition_ignition",
"Source": "/var/lib/docker/volumes/ignition_ignition/_data",
"Destination": "/var/lib/ignition/data",
"Driver": "local",
"Mode": "z",
"RW": true,
"Propagation": ""
}
],
"Config": {
"Hostname": "cd69de38b22b",
"Domainname": "",
"User": "2003:2003",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"27101/tcp": {},
"2810/tcp": {},
"47808/udp": {},
"8043/tcp": {},
"8060/tcp": {},
"8080/tcp": {},
"8088/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"TZ=Europe/Oslo",
"PATH=/usr/local/bin/ignition/lib/runtime/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US",
"LC_ALL=en_US.UTF-8",
"PASS_THROUGH=both",
"IGNITION_INSTALL_LOCATION=/usr/local/bin/ignition"
],
"Cmd": null,
"Healthcheck": {
"Test": [
"CMD-SHELL",
"health-check.sh -t 3"
],
"Interval": 10000000000,
"Timeout": 3000000000,
"StartPeriod": 60000000000,
"Retries": 10
},
"Image": "inductiveautomation/ignition:latest",
"Volumes": null,
"WorkingDir": "/usr/local/bin/ignition",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"com.docker.compose.config-hash": "a1bc0ed4bdc943cb6c361d8009483f7aed076edc2fd1f661196ee07bca1f2fc5",
"com.docker.compose.container-number": "1",
"com.docker.compose.depends_on": "",
"com.docker.compose.image": "sha256:ab808c23d368bd852ea8cbc9c9c1759577b7da8e5feb607de79b7a7574811fe0",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "ignition",
"com.docker.compose.project.config_files": "/data/compose/6/docker-compose.yml",
"com.docker.compose.project.working_dir": "/data/compose/6",
"com.docker.compose.service": "gateway",
"com.docker.compose.version": "2.17.2",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "20.04"
},
"StopTimeout": 30
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "964e60d3ddac045be4230d0115d84026852d85c7bba635fdc1ecbb98ecb36441",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"27101/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "27101"
},
{
"HostIp": "::",
"HostPort": "27101"
}
],
"2810/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "2810"
},
{
"HostIp": "::",
"HostPort": "2810"
}
],
"47808/udp": [
{
"HostIp": "0.0.0.0",
"HostPort": "47808"
},
{
"HostIp": "::",
"HostPort": "47808"
}
],
"8043/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8043"
},
{
"HostIp": "::",
"HostPort": "8043"
}
],
"8060/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8060"
},
{
"HostIp": "::",
"HostPort": "8060"
}
],
"8080/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8080"
},
{
"HostIp": "::",
"HostPort": "8080"
}
],
"8088/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8088"
},
{
"HostIp": "::",
"HostPort": "8088"
}
]
},
"SandboxKey": "/var/run/docker/netns/964e60d3ddac",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"stormignitionmariadbadminer_ignition-Storm-network": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"cd69de38b22b"
],
"NetworkID": "410161eaf8c8d83a640402618a63199c0c0ff5a490f094ae5731d33725d8d8bd",
"EndpointID": "8c247b0e68157ecff312e75a7709e1da916491085ce9a160de8da54d682d607a",
"Gateway": "172.21.0.1",
"IPAddress": "172.21.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:15:00:02",
"DriverOpts": null
}
}
}
}
]
storm@sm-ignition:~$
Just let me know if there is more information you need