Inductive Automation Ignition runtimes — Edge (ARM64 + x86-64) and Cloud/Standard (x86-64) — packaged for Podman Quadlet deployment on EmberNet edge appliances and UT3 control-plane nodes.
This repository hosts the upstream Ignition install artifacts as GitHub
Releases. Each release tag vX.Y.Z carries one or more assets.
| Tag | Platform | Asset name | Edition |
|---|---|---|---|
v8.3.6 |
Linux ARM64 | Ignition-Edge-linux-aarch-64-8.3.6.zip (~1.85 GB) |
Edge (portable ZIP) |
v8.3.6 |
Linux x86-64 | Ignition-Edge-linux-x86-64-8.3.6.zip (~1.85 GB) |
Edge (portable ZIP) |
v8.3.4 |
Linux x86-64 | ignition-cloud-8.3.4-linux-64-installer.run (~1.95 GB) |
Cloud / Standard (BitRock installer) |
Two container images are built + published from this repo:
ghcr.io/embernet-ai/ignition-edge — built from Containerfile
(ARM64 portable ZIP) on every commit to main. Tags:
ghcr.io/embernet-ai/ignition-edge:8.3.6
ghcr.io/embernet-ai/ignition-edge:latest
ghcr.io/embernet-ai/ignition-edge:main
ghcr.io/embernet-ai/ignition-cloud — built from
Containerfile.cloud (x86-64 .run installer, unattended mode) on
every commit to main. Tags:
ghcr.io/embernet-ai/ignition-cloud:8.3.4
ghcr.io/embernet-ai/ignition-cloud:latest
ghcr.io/embernet-ai/ignition-cloud:main
Cloud (Standard edition) is x86-64 only — there is no aarch64 .run published for v8.3.4. Both Edge and Cloud can run co-resident on the same host via Quadlet by remapping ports — see UT3 cp02's deploy-ut3-cp02.sh where Edge keeps defaults (8088/8043/8060) and Cloud is remapped to 8089/8044/8061.
The image:
- Includes Ignition's bundled JRE (no separate Java install needed).
- Pre-loads every standard module: Vision, Perspective, OPC UA, the full driver suite (Allen-Bradley, Siemens, Modbus, Mitsubishi, Omron, BACnet, DNP3, Micro800, UDP/TCP), Historian, Alarm Notification, Symbol Factory, Web Developer, Enterprise Admin.
- Defaults to demo mode (no license file mounted). Operator activates via web UI on first boot, or mounts a license file later.
- EULA pre-accepted via
ACCEPT_IGNITION_EULA=Y. - Admin user pre-set to
admin/embernet(override per-deployment via the deploy script's--ignition-admin-passwordflag).
Inductive Automation publishes both a Linux installer (.deb/.rpm)
and a portable ZIP. Installing the .deb on openSUSE MicroOS (RPM,
read-only btrfs root, transactional-update model) is non-viable. The
ZIP is the supported "drop in a directory and run ./ignition.sh"
distribution — perfect for a container layer. The actual runtime is
identical to a host install; the JRE, libs, and modules are all
bundled in the ZIP.
This pattern matches our other ARM64 runtime images:
Don't run this manually — the deploy at
Fireball-Red-Team/deploy-eci-ember-node
pulls and starts this image as part of the embernode-arm-NNNN
node-deploy. See its .agent/workflows/deploy-embernet-node.md for
the full sequence.
To pull and run by hand for local testing:
sudo podman pull ghcr.io/embernet-ai/ignition-edge:latest
sudo podman run -d --name ignition-test \
--privileged \
-p 8088:8088 -p 8043:8043 -p 8060:8060/udp \
-e ACCEPT_IGNITION_EULA=Y \
-e GATEWAY_ADMIN_USERNAME=admin \
-e GATEWAY_ADMIN_PASSWORD=embernet \
-e IGNITION_EDITION=edge \
-v /tmp/ignition-data:/usr/local/bin/ignition/data:Z \
ghcr.io/embernet-ai/ignition-edge:latest
# Web UI
open http://<host-ip>:8088First-run note: if you're mounting an empty /tmp/ignition-data
directory, you must seed it from the image first or the container
will crash with FATAL: Configuration file gateway.xml_clean not found:
sudo podman run --rm \
-v /tmp/ignition-data:/seed:Z \
--entrypoint sh \
ghcr.io/embernet-ai/ignition-edge:latest \
-c 'cp -a /usr/local/bin/ignition/data/. /seed/'The deploy script handles this seeding automatically.
- Trigger: push to
mainordevelop(paths-filtered toContainerfile/.github/workflows/build.ymlso doc-only changes don't trigger a 25-min QEMU rebuild). Manual runs viaworkflow_dispatchaccept anignition_versioninput for republishing older versions. - Build: multi-stage. Stage 1 downloads the ZIP and unpacks to
/opt/ignition. Stage 2 (debian:bookworm-slim runtime base) doesCOPY --from=unpacker /opt/ignition /usr/local/bin/ignition. The multi-stage drops the ZIP and unpack tools from the final image. - Push: on push events to main/develop, manifest pushed to
ghcr.io/embernet-ai/ignition-edge:<branch>. On main pushes, also:latestand the pinned version tag (currently:8.3.6). - Smoke test: confirms install layout (
ignition.sh,ignition-gateway,data/gateway.xml_clean,user-lib/modules/) is present in the image. - Disk: runner reclaims ~10 GB before build to fit the ZIP + extracted tree + image layers.
- Concurrency: at most one build per ref at a time.
- Upload the new
Ignition-Edge-linux-aarch-64-X.Y.Z.zipas a release asset under tagvX.Y.Z. - Update the
IGNITION_VERSIONdefault inContainerfileand.github/workflows/build.yml. - Commit + push to
main. CI rebuilds and republishes:latest,:main, and:X.Y.Z.
Sized for a Pi 4/5 co-tenanting CodeSys, K3s agent, and the ForgeNET controller. Defaults from the deploy script:
| Knob | Value | Source |
|---|---|---|
| Memory | 1.5 GiB | IGNITION_MEMORY in deploy-embernet-node-microos.sh |
| CPU | 1.5 core | IGNITION_CPUS in deploy-embernet-node-microos.sh |
Override per-node by passing --ignition-memory / --ignition-cpus
flags to the deploy script (or editing the per-node wrapper).