# 8.3 Adding a Module After Data Volume Creation

**URL:** <https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040>\
**Category:** Ignition\
**Created:** [June 17, 2026, 3:58pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040 "2026-06-17T15:58:41Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Noah\_Burnette](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/noah_burnette/32/83777_2.png) [@Noah\_Burnette](https://forum.inductiveautomation.com/u/Noah_Burnette)\
**Post date:** [June 17, 2026, 3:58pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/1 "2026-06-17T15:58:41Z")

</div>

Hello all,

I am currently trying to add additional modules to my existing volume mounts in docker.

Following this [guide](https://docs.inductiveautomation.com/docs/8.1/platform/docker-image#integrate-third-party-modules-after-an-upgrade), I created the docker container with no issue. What I found is that **after** the volume was created, any additional modules that are added to the folder are not loaded into the gateway. The only way I could automatically load the modules was to delete `modules.json` and restart the gateway. I got the idea to delete `modules.json` from this [guide](https://docs.inductiveautomation.com/docs/8.3/getting-started/installing-and-upgrading/installing-or-upgrading-a-module#manual-module-installation). Is this expected behavior or am I missing something?

Previously in 8.1, I could just add the modl file, rebuild the image, restart the gateway and it would work.

**Reproducible Example:**

**Dockerfile**

```dockerfile
ARG IGNITION_VERSION
FROM inductiveautomation/ignition:${IGNITION_VERSION}
 
COPY *.modl /usr/local/bin/ignition/user-lib/modules/

```

**compose.yaml**

```yaml
services:
  gateway:
    build:
      context: gw-build
      ## Specify the upstream version to derive from for the build argument in the Docker file.
      args:
        IGNITION_VERSION: 8.3.7
    pull_policy: build
    ports:
      - 8088:8088
    volumes:
      - gateway-data:/usr/local/bin/ignition/data
    environment:
      ACCEPT_IGNITION_EULA: "Y"
      GATEWAY_ADMIN_PASSWORD: password
      GATEWAY_MODULES_ENABLED: dev.bwdesigngroup.prometheus.PrometheusExporter,project-scan-endpoint
      ACCEPT_MODULE_LICENSES: dev.bwdesigngroup.prometheus.PrometheusExporter,project-scan-endpoint
      ACCEPT_MODULE_CERTS: dev.bwdesigngroup.prometheus.PrometheusExporter,project-scan-endpoint
      IGNITION_EDITION: standard
    command: >
      -n Ignition-supp-66195

volumes:
  gateway-data:

```

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/4/e4930e8e4c3c4b8d8f3aedca5c677b753c21c870.png)

**Steps taken**

1. `docker compose -f 'compose.yaml' up -d --build 'gateway'`
2. `docker compose down`
3. Add `modl` files to `gw-build/` **after `gateway-data` is created**
4. `docker compose -f 'compose.yaml' up -d --build 'gateway'`

The expected outcome for _me_ at least is that the gateway will have the newly added modules but this is not the case. Below is how I resolved it:

```bash
docker exec -it <docker-id> /bin/bash
rm data/modules.json

```

```bash
docker compose down && docker compose -f 'compose.yaml' up -d --build 'gateway'

```

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [June 17, 2026, 5:50pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/2 "2026-06-17T17:50:10Z")

</div>

This is expected behavior; some other changes (in addition to generally dropping module hot-loading) necessitated the `modules.json` file as the gateway's source of truth about which modules to load. You can either remove it and allow the gateway to create it on startup (possibly requiring user acceptance of EULA bits in a commissioning phase), create it once and then encode the file into your derived image, or, in theory, generate the hashes used dynamically; I don't know the exact details offhand but I believe it's essentially a hash of the license of the particular module file.

---

<div class="post-metadata">

**Author:** ![aaronrai24](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/aaronrai24/32/87248_2.png) [@aaronrai24](https://forum.inductiveautomation.com/u/aaronrai24)\
**Post date:** [June 17, 2026, 6:27pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/3 "2026-06-17T18:27:07Z")

</div>

There is actually a bug ticket with module ids having capitals ( **IGN-16647** ) I had submitted through support when using `ACCEPT_MODULE_LICENSES` and `ACCEPT_MODULE_CERTS` to auto approve the EULA and certs on compose up. I wouldn't be surprised if `project-scan-endpoint` also exhibited the same behavior with the `-`.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 17, 2026, 6:30pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/4 "2026-06-17T18:30:53Z")

</div>

> [@aaronrai24](#):
>
> I wouldn't be surprised if `project-scan-endpoint` also exhibited the same behavior with the `-`.

I would be… I ended up being the one to triage that issue and write up the ticket… it was very clearly because there’s a `toLowerCase()` transformation being done in one place, and case-sensitive lookups elsewhere. A `-` shouldn’t be affected by this.

---

<div class="post-metadata">

**Author:** ![Noah\_Burnette](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/noah_burnette/32/83777_2.png) [@Noah\_Burnette](https://forum.inductiveautomation.com/u/Noah_Burnette)\
**Post date:** [June 17, 2026, 6:41pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/5 "2026-06-17T18:41:39Z")

</div>

> There is actually a bug ticket with module ids having capitals ( **IGN-16647** )

Did they give an estimate on the fix? In the meantime, I have an [issue](https://github.com/bw-design-group/ignition-prometheus-exporter/issues/1) raised with the module developers. So changing the module identifiers to lower case will fix it based on Kevin's response

> I wouldn't be surprised if `project-scan-endpoint` also exhibited the same behavior with the `-`.

`project-scan-endpoint` works great with no issues.

Thanks all for the responses!

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 17, 2026, 6:44pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/6 "2026-06-17T18:44:10Z")

</div>

It only got logged yesterday, the team it is destined for hasn't even had a chance to review/scrub it yet.

---

<div class="post-metadata">

**Author:** ![Noah\_Burnette](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/noah_burnette/32/83777_2.png) [@Noah\_Burnette](https://forum.inductiveautomation.com/u/Noah_Burnette)\
**Post date:** [June 18, 2026, 12:19pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/7 "2026-06-18T12:19:38Z")

</div>

If anyone is curious about the module naming issue for the Prometheus exporter, I was able to fix it and created a [PR](https://github.com/bw-design-group/ignition-prometheus-exporter/pull/2). Until that PR gets resolved, I rebuilt the module (8.3 only) and it is available on my [fork](https://github.com/nburnet1/ignition-prometheus-exporter/releases/tag/v0.0.1) as a work around.

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [June 26, 2026, 6:27pm UTC](https://forum.inductiveautomation.com/t/8-3-adding-a-module-after-data-volume-creation/116040/8 "2026-06-26T18:27:33Z")

</div>

A fix for this has been merged; it should be corrected with 8.3.8.
