# GW failed to up on docker config/resources/core

**URL:** <https://forum.inductiveautomation.com/t/gw-failed-to-up-on-docker-config-resources-core/111675>\
**Category:** General Discussion\
**Created:** [October 23, 2025, 11:17am UTC](https://forum.inductiveautomation.com/t/gw-failed-to-up-on-docker-config-resources-core/111675 "2025-10-23T11:17:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nabila](https://avatars.discourse-cdn.com/v4/letter/n/43a26b/32.png) [@nabila](https://forum.inductiveautomation.com/u/nabila)\
**Post date:** [October 23, 2025, 11:17am UTC](https://forum.inductiveautomation.com/t/gw-failed-to-up-on-docker-config-resources-core/111675/1 "2025-10-23T11:17:07Z")

</div>

Below my docker compose file , docker container up and running but ignition GW failed to start due to this error . i running image ignition 8.3.1 on macos

`jvm 1 | 2025/10/23 11:11:35 | Caused by: java.nio.file.FileAlreadyExistsException: Resource collection path '/usr/local/bin/ignition/data/config/resources/core' exists but is not empty`

```python
version: '3.8.1'

services:

aris-ignition:

image: inductiveautomation/ignition:8.3.1

container_name: aris-ignition-test

restart: unless-stopped

# Volume mounts

volumes:

      - ./data/projects:/usr/local/bin/ignition/data/projects:rw

      - ./data/udt:/usr/local/bin/ignition/data/config/resources/core/ignition/tag-type-definition:rw

      - ./data/tags:/usr/local/bin/ignition/data/config/resources/core/ignition/tag-definition:rw

      - ./data/commissioning.json:/usr/local/bin/ignition/data/commissioning.json:rw

# Environment

env_file:

      - ignition.env

# - ignition.env.local # Uncomment if present (git-ignored)

ports:

      - "8089:8088"

      - "8044:8043"

```

---

<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:** [October 28, 2025, 1:38pm UTC](https://forum.inductiveautomation.com/t/gw-failed-to-up-on-docker-config-resources-core/111675/2 "2025-10-28T13:38:07Z")

</div>

You need to persist the `data` volume, even if you want to also bind-mount further below it. Try the following:

```yaml
services:
  aris-ignition:
    image: inductiveautomation/ignition:8.3.1
    container_name: aris-ignition-test
    restart: unless-stopped
  
    # Volume mounts
    volumes:
      - aris-ignition-data:/usr/local/bin/ignition/data
      - ./data/projects:/usr/local/bin/ignition/data/projects
      - ./data/config/resources/core:/usr/local/bin/ignition/data/config/resources/core
  
    # Environment
    env_file:
      - ignition.env
    # - ignition.env.local # Uncomment if present (git-ignored)
  
    ports:
      - "8089:8088"
      - "8044:8043"

volumes:
  aris-ignition-data:

```

More effort will be required if you really need to bind-mount into deeper folders within `.../data/config/resources/core`. This is due to how Docker works, specifically how it creates parent folders of a bind-mount target when those folders don't exist in the image already--they'll be created as `root:root` owned. Additionally, the `core` resource collection doesn't exist in the base image--it is created on startup. If you bind-mount below its base path, the folder will not be empty and auto-creation produce an error like you encountered:

```python
jvm 1 | 2025/10/28 13:24:56 | E [g.ConfigurationSetup] [13:24:56.290]: Unable to create 'core' resource collection
jvm 1 | 2025/10/28 13:24:56 | java.nio.file.FileAlreadyExistsException: Resource collection path '/usr/local/bin/ignition/data/config/resources/core' exists but is not empty
...

```

Upon inspection of this FAULTED gateway state, you'll also see that:

1. The base `core` config folder has the wrong permissions:  
 ![SCR-20251028-hych](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/6/e640cee15c08cbf49bb07da7c55521930bfb89e2.png)
2. If the permissions were correct, it also sees that the collection does not yet "exist" (i.e. no `config-mode.json` present) but the folder is non-empty:  
 ![SCR-20251028-hyns](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/7/9784820705d5c00acd0c35c04a49cf0f74fca8f7.png)

If you bind-mount to _just_ the `core` collection (as my suggested `docker-compose.yml` does), you can see a correct configuration upon inspection:

 ![SCR-20251028-iafj](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/4/84913f944bb2852314d9fc748c8671b62c657d88.png)

There is additional information on possible strategies in the [Version and Source Control Guide](https://docs.inductiveautomation.com/docs/8.3/tutorials/version-control-guide). There is a lot of flexibility in the file-based configuration, but there is nuance in how you layout your development stacks and data persistence.
