A Docker Compose template for quickly setting up an Ignition 8.3 gateway with PostgreSQL database and optional pgAdmin for development.
-
Initialize submodules:
git submodule update --init --recursive
-
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.0-rc1 with Standard Edition
- PostgreSQL database with Liquibase migrations
- pgAdmin for database management
- Traefik integration for local development
- Gateway Utilities project (via git submodule)
- Event Stream
- Historian
- Perspective
- PostgreSQL Driver
- Web Development
- OPC UA
| Service | Description | Access |
|---|---|---|
| gateway | Ignition 8.3 Gateway | https://ignition83.localtest.me |
| database | PostgreSQL 16 | 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!
- Docker and Docker Compose
- 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 and projects
│ ├── postgres/ # Database setup and migrations
│ └── pgadmin/ # pgAdmin configuration
├── shared/
│ └── gateway-utilities/ # Shared utilities project (submodule)
└── docker-compose.yaml # Main service definitions
- Modify
docker-compose.yamlto add/remove modules - Update database credentials in the compose file
- Add your projects to
services/ignition/projects/ - Configure gateway settings in
services/ignition/config/