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.
-
.envfile - This contains some environment variables that will be loaded in by Docker Compose. Variables such asCOMPOSE_PROFILEScan be used to enable some optional functionality (such as redundancy) in the solution. Additionally, global settings such as theIGNITION_VERSIONfor 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. -
secretsfolder -⚠️ 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 ofpasswordcan be updated by uncommenting theGATEWAY_ADMIN_*environment variables ingw-init/gateway.envprior to bringing up a given architecture solution. -
gw-initfolder - This folder contains seed files for the solution that are sourced from thedocker-compose.ymlfile. Items such as gateway backups, gateway network keystores/identifiers, and environment files are used when launching the solution. -
gw-backupfolder - Sub-folders under here may be bind-mounted into the various containers and used as the target for scheduled gateway backups. -
gw-buildfolder - 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/ignitionimage. The derived image is then automatically used to launch containers in the solution. -
sql-initfolder - 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.