Filtering Modules


Learn how to start an Ignition container with only a subset of modules.


(open in window)

[00:00] In this lesson, I'll demonstrate how to create a container with Ignition that only has a subset of modules present on startup. I have an Ignition Gateway that I've modified and some of those modifications include me deleting modules that I'm not using. As you can see from the Gateway web page the only modules I've kept are the Alarm Notification, Logix Driver, OPC-UA, and Tag Historian modules. If I wanted to make changes to the container down the road, I'd need to recreate it. But I want to make sure I preserve my changes. I've taken a gateway backup to preserve my settings and now I'll test a container recreation scenario. I've already modified my compose file so that my backup is mounted to the container and I've added the restore runtime argument. I'll test my backup by stopping the Compose stack and removing all volumes. Now I'll recreate the container and refresh the gateway web page. If I go to the status page, you see that I still have my device connection. But if I go to the modules, I no longer have my shortened list.

[01:08] This is because gateway backups do not contain the modules. To specify that, I'll need to head back to my docker compose file and add a new environment variable. This variable is called "GATEWAY_MODULES_ENABLED". I can pass it a comma delimited set of module identifiers, which can be seen on the Docker Image user manual page. So I'll add the "alarm-notification", the "logix-driver", the "opc-ua", and the "tag-historian" identifiers. Whatever I include in this list will be what's installed when the gateway starts up. Don't add any spaces here or it won't recognize the identifiers. Now I'll save and recreate the container again. This time when I go to the modules page, you can see that only installed the subset of modules that I specified.

You are editing this transcript.

Make any corrections to improve this transcript. We'll review any changes before posting them.