Deployment¶
Algol runs on TorizonOS (Toradex Embedded Linux) inside Docker containers. All modules are bundled into a single combined image (algol-app-algold) and deployed via Docker Compose.
Container Layout¶
Each module runs as its own service in Docker Compose, all read-only with tmpfs mounts for /run and /tmp:
services:
nats:
image: <ecr>/algol-app-nats:<tag>
read_only: true
tmpfs: [/run, /tmp]
configurer:
image: <ecr>/algol-app-configurer:<tag>
volumes:
- algol-config:/run/algol/config # persisted configs
...
Image Registry¶
Production images are pushed to AWS ECR:
S3 artifacts (combined image, Tezi packages):
Release Tags¶
Production releases are created by pushing a version tag:
The CI pipeline (build-tag.yml) then:
- Tags each module image in ECR with the release tag
- Builds and uploads the combined Tezi image to S3 and Torizon Cloud
- Tags the Docker Compose file
- Creates a GitHub Release with generated release notes
See Development for the development workflow, Production for deploying to a device, and Device Setup for the first boot: key enrolment and bus identity.