A Docker Compose template for quickly setting up an Ignition 8.3 gateway with PostgreSQL database and optional pgAdmin for development.
-
Start the services:
docker compose up -d
-
Access the gateway:
- Ignition Gateway: https://ignition83.localtest.me (requires Traefik proxy)
- Or direct access: http://localhost:8088
- Ignition 8.3.8 with Standard Edition
- PostgreSQL database with Liquibase migrations
- pgAdmin for database management
- Traefik integration for local development
- Flint Designer Bridge module pre-installed for VS Code integration
| Service | Description | Access |
|---|---|---|
| gateway | Ignition 8.3 Gateway | https://ignition83.localtest.me |
| database | PostgreSQL 18 | localhost:5432 |
| pgadmin | Database administration | https://postgres-pgadmin.localtest.me |
| liquibase | Database migrations | Runs once on startup |
The template includes Liquibase for database version control:
- Main changelog:
services/postgres/liquibase/main.yaml - Table definitions:
services/postgres/tables/ - Simulated data:
services/postgres/simulated-data/ - Init scripts:
services/postgres/init-sql/
- Host: postgres (internal) or localhost:5432 (external)
- Database:
postgres - Username:
postgres - Password:
P@ssword1!
- Email:
admin@admin.com - Password:
root
- Username:
admin - Password:
P@ssword1!
This template works out of the box with the Flint VS Code extension (docs):
- Install the extension (VS Code will recommend it when you open the workspace).
- Start the stack with
docker compose up -d. The gateway loads the Flint Designer Bridge module fromservices/ignition/modules/. - Open the workspace —
flint.config.jsonalready points at the gateway andservices/ignition/projects/. - Launch a Designer against the gateway. Flint discovers and connects to it automatically within a few seconds.
Per-developer overrides go in flint.local.json (gitignored). The module binary is tracked with Git LFS, so make sure git lfs is installed before cloning; Renovate keeps both the Ignition image and the module version up to date automatically.
- Docker and Docker Compose
- Git LFS (for the bundled Flint Designer Bridge module)
- Traefik proxy (for subdomain access) or use localhost ports
The gateway is configured with:
- Quickstart disabled
- EULA automatically accepted
- A local development deployment mode enabled (
-Dignition.config.mode=local-dev) - Commissioning skipped
├── services/
│ ├── ignition/ # Gateway configuration, projects, and modules
│ ├── postgres/ # Database setup and migrations
│ └── pgadmin/ # pgAdmin configuration
├── flint.config.json # Flint VS Code extension configuration
└── docker-compose.yaml # Main service definitions
- Modify
docker-compose.yamlto add/remove modules by using theGATEWAY_MODULES_ENABLEDenvironment variable. - Update database credentials in the compose file
- Add your projects to
services/ignition/projects/ - Configure gateway settings in
services/ignition/config/