- Jelina overview
- JelinaOS
- Application management
Container orchestration (Compose)
When an application consists of multiple services, such as a business service, database, and message queue, an orchestration file centrally declares their definitions, dependencies, and runtime behavior. The device agent handles orchestration execution centrally: configure it in a release and devices deploy automatically, without manual device operations.
Device-side execution
Section titled “Device-side execution”Declare orchestration configuration in a Release (services + programs) │ ▼Device agent synchronizes target state ──▶ Pull images / packages ──▶ Create and start services ──▶ Supervise │ │ │ ▼ └────────────────────────────────── Version update / rollback ◀────────────────── Restart on failure- The device agent handles service startup order and dependencies according to the orchestration declaration.
- Services restart automatically after abnormal exits and recover automatically after device restarts.
- Version upgrades and rollbacks are managed through releases and executed automatically by the agent.
Orchestration example
Section titled “Orchestration example”The following is a release orchestration configuration. For all supported fields, see docker-compose compatibility and extensions:
version: "2.4"
services: app: image: myapp:1.0.0 restart: always ports: - "8080:80" depends_on: - db
db: image: postgres:16 volumes: - dbdata:/var/lib/postgresql/data
programs: collector: command: collector --config /data/collector.conf restart: on-failure
volumes: dbdata:Configure orchestration in a release
Section titled “Configure orchestration in a release”Enter the orchestration configuration when creating a release, either in edit mode or by uploading an orchestration file. Upload application packages, including container images and native application packages, in release details. See:
Data persistence
Section titled “Data persistence”- Volumes declared in orchestration are independent of the container lifecycle; recreating or upgrading containers does not affect their data.
- We also recommend mounting critical data on the device’s data partition.
Compatibility
Section titled “Compatibility”- Orchestration support is based on the 2.x specification; common orchestration files can be used directly.
- Fields introduced in 3.x are not supported.
- For complete field and compatibility details, see docker-compose compatibility and extensions.
Related documentation
Section titled “Related documentation”- Application management — Overview of the release system
- Native applications and ProgramSets — Release configuration for native applications
- Cloud application deployment and OTA — Deployment and update workflow