Inductive Automation's Ignition Architectures implemented with Docker Compose.
- Ignition Standard Architecture - Single Gateway and Database
- Ignition Scale-Out Architecture - 2 Backend and 1 Frontend Gateway
- Ignition Hub & Spoke Architecture - Central and Remote Site Gateways w/ site-local Database.
- Ignition Enterprise Architecture - Central and Remote Site Gateways with EAM Configuration and site-local Database.
- Ignition IIoT Architecture - Central and Remote Site Gateways with MQTT/Sparkplug Transport.
Warning
These architecture stacks are for demonstration purposes only. Production deployments should be using SSL/TLS for Gateway Web UI and Gateway Network connections!
To launch these architecture examples, you'll need to have Docker Engine and Docker Compose installed. These are available as part of Docker Desktop. You can also install Docker Engine directly on Linux and follow up with Compose V2 CLI plugin.
Once you've got Docker ready to go, click one of the architecture links up top to get started!
Each of the Compose solutions in this repository leverage some common configurability.
-
.env
file - This contains some environment variables that will be loaded in by Docker Compose. Variables such asCOMPOSE_PROFILES
can be used to enable some optional functionality (such as redundancy) in the solution. Additionally, global settings such as theIGNITION_VERSION
for the image tag can be defined here. -
docker-compose.yml
- This is the YAML file that defines the containers and associated configuration for the architecture. -
secrets
folder -⚠️ WARNING: These secrets exist in-repo for demo purposes only. Never commit your secrets to source control! This folder contains secrets that are mapped into a given container and used for setting up credentials. The files here are referenced within thesecrets:
keys of thedocker-compose.yml
. Note that the gateway admin password ofpassword
can be updated by uncommenting theGATEWAY_ADMIN_*
environment variables ingw-init/gateway.env
prior to bringing up a given architecture solution. -
gw-init
folder - This folder contains seed files for the solution that are sourced from thedocker-compose.yml
file. Items such as gateway backups, gateway network keystores/identifiers, and environment files are used when launching the solution. -
gw-backup
folder - Sub-folders under here may be bind-mounted into the various containers and used as the target for scheduled gateway backups. -
gw-build
folder - If this folder is present, it is used to build a derived image as part of the solution. Custom functionality such as third-party module bundling can be layered onto the baseinductiveautomation/ignition
image. The derived image is then automatically used to launch containers in the solution. -
sql-init
folder - Many database containers allow some pre-configuration scripts to be executed on first-launch. If this folder is present, the database server container may stage schemas/users on startup to provide the required configuration for the connected gateways.