# Deployment Modes files to sync

**URL:** <https://forum.inductiveautomation.com/t/deployment-modes-files-to-sync/112153>\
**Category:** Ignition\
**Tags:** ignition83\
**Created:** [November 13, 2025, 11:09am UTC](https://forum.inductiveautomation.com/t/deployment-modes-files-to-sync/112153 "2025-11-13T11:09:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hulla](https://avatars.discourse-cdn.com/v4/letter/h/49beb7/32.png) [@hulla](https://forum.inductiveautomation.com/u/hulla)\
**Post date:** [November 13, 2025, 11:09am UTC](https://forum.inductiveautomation.com/t/deployment-modes-files-to-sync/112153/1 "2025-11-13T11:09:13Z")

</div>

Hello,

i am trying to make a clone environment for new devs to experiment. we are working on a brand new factory and the development is quite fast. So for now, i just want to use git to push one gw (dev) and second gw (crash) to pull the first.

for now i used guide [https://docs.inductiveautomation.com/docs/8.3/tutorials/version-control-guide](https://docs.inductiveautomation.com/docs/8.3/tutorials/version-control-guide) and i used .gitignore from there. i can succefully push to git repo, i can successfully pull at the secondary “crash” instance.

Problem 1: files to version control

i found that the .gitignore does not ignore ignition.conf. This file defines the Deployment mode, when I sync, without complex merging technique, it overwrites. Maybe, I have read i can use an env var in Docker container? But I cannot find such var. [https://www.docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/platform-environment-variables#environment-variables](https://www.docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/platform-environment-variables#environment-variables)  
for now I added ignition.conf to .gitignore

Problem 2: again files to version control

After using the basic .gitignore, there I have around 10000 files in version control, we have around 150 views in 1 project. I think, that the .gitignore file in the git guide i not restrictive enough, that there loads of unneeded files.  
I wouldn’t care, but later i will need to merge git branches, merge dev branch to crash branch and loads of unneeded files will cause merge issues.

Ref: [https://docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/gateway-folder-structure](https://docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/gateway-folder-structure)

Overall view: We have dev gw connected to about 10 OPC servers, for tags, we use loopback OPC server. We have one Postgres DB for history and all.

Plan is to access dev’s gw OPC server from crash instance to have live data. The crash instance should use its own Postgres DB. This will be accomplished through GW Deployment modes.

I would be happy for any hints.

In future I would like to create classic pipeline dev-test-prod. But now I want to create an instance for experiments.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 13, 2025, 1:55pm UTC](https://forum.inductiveautomation.com/t/deployment-modes-files-to-sync/112153/4 "2025-11-13T13:55:47Z")

</div>

See the technique Kevin describes here:

> [@Disable devices in Gateway Startup Script (v8.3.0)](https://forum.inductiveautomation.com/t/disable-devices-in-gateway-startup-script-v8-3-0/111599/6):
>
> Setting the deployment mode via an environment variable is not yet supported, you've got to supply the Java system property via a JVM argument, -Dignition.config.mode=yourdeploymentmode. As @paul-griffith mentions, we're going to be doing additional refinements in this area. However, I've got some guidance that might be useful in the meantime. Currently, at time of writing w/ 8.3.0, if you add the deployment mode arg explicitly to your data/ignition.conf, it will be within any gateway backup …

---

<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:** [November 13, 2025, 2:51pm UTC](https://forum.inductiveautomation.com/t/deployment-modes-files-to-sync/112153/5 "2025-11-13T14:51:22Z")

</div>

Additionally, if you _are_ using Docker, you can apply that same JVM arg using [supplemental JVM and wrapper arguments](https://docs.inductiveautomation.com/docs/8.3/platform/docker-image#supplemental-jvm-and-wrapper-arguments), i.e.:

```shell
docker run ... inductiveautomation/ignition:8.3.1 -- -Dignition.config.mode=yourdeploymentmode

```

This approach also applies the setting at runtime, keeping it out of the `data/ignition.conf` file.

---

<div class="post-metadata">

**Author:** ![hulla](https://avatars.discourse-cdn.com/v4/letter/h/49beb7/32.png) [@hulla](https://forum.inductiveautomation.com/u/hulla)\
**Post date:** [November 14, 2025, 9:50am UTC](https://forum.inductiveautomation.com/t/deployment-modes-files-to-sync/112153/6 "2025-11-14T09:50:32Z")

</div>

Thanks for the tips, i will try it. Now I study internal OPC server. My goal is to get live data from my dev instance, later prod instance to my crash instance.

Is Ignition OPC server good way to achieve this? Or maybe GW Network? I am thinking of some read only mode.

My plan is, that the crash instance would have its own DB to store history and some our custom tables. My plan is that I will sync the DB history data from dev(prod) instance DB. So the experimental developers can test reading and writing to the DB and use built int graph features etc.
