Docker Compose Modules

Hi all,

I managed to load my docker with the 3rd party modules. Although, this results in only loading the 3rd party modules. I cant get the standard modules running anymore.. Any ideas what I'm doing wrong?

Here's my compose file:

#https://www.docs.inductiveautomation.com/docs/8.1/platform/docker-image
#cd ~
#mkdir -p ~/ignition/modules
#chmod 777 ~/ignition/modules
#cd ~/ignition/modules
#example: wget https://files.inductiveautomation.com/third-party/cirrus-link/4.0.24/MQTT-Engine-signed.modl

version: '3.8'

services:
  ignition:
    container_name: ignition
    hostname: ignition
    image: inductiveautomation/ignition:latest
    restart: unless-stopped
    ports:
      - "9088:8088"
      - "9043:8043"
      - "62541:62541"
      - "1881:1883"
      - "8881:8883"
    volumes:
      - ignition-data:/usr/local/bin/ignition/data
      - /home/xxx/ignition/modules/:/usr/local/bin/ignition/user-lib/modules/ 
    environment:
      - ACCEPT_IGNITION_EULA=Y
      - GATEWAY_ADMIN_USERNAME=admin
      - GATEWAY_ADMIN_PASSWORD=admin
      - IGNITION_EDITION=standard
      - TZ=Europe/Amsterdam
      #- GATEWAY_MODULES_ENABLED=vision,enterprise-administration !!NOT WORKING!!
      #-IGNITION_LICENSE_KEY=
      #-IGNITION_ACTIVATION_TOKEN=
      #EAM setting?
      #Gateway Network?

      #automating the Restore of a Gateway Backup
    command:
      -n IG_Gateway
      -m 4096
      --
      wrapper.java.initmemory=1024
      -Dignition.allowunsignedmodules=true
    network_mode: bridge

#Secrets?

volumes:
  ignition-data:

When you mount a volume at a target in a container, the mount replaces the target if that target exists. (That's just how mounts work in the Unix world.) So, don't mount a folder over the built-in modules' folder. Consider mounting each file separately (though a bit tricky dealing with quarantine), or using a startup script to copy from a separate mount location.

1 Like

You should consider using the 3rd party module solution for docker described in the documentation:

stupid me :blush:

Did the trick:

volumes:
  - ignition-data:/usr/local/bin/ignition/data
  - /home/xxx/ignition/modules/MQTT-Engine-signed.modl:/usr/local/bin/ignition/user-lib/modules/MQTT-Engine-signed.modl
  - /home/xxx/ignition/modules/MQTT-Transmission-signed.modl:/usr/local/bin/ignition/user-lib/modules/MQTT-Transmission-signed.modl
1 Like