Skip to content
JelinaJelina DocumentationTechnical documentation
Back to website

Application management

In JelinaOS, all applications, both containerized and native, are managed through Releases: define applications in a release, deploy it to devices, and let the device agent download, install, and supervise them. Close integration with the cloud turns application management from device-by-device operations into one release applied across a fleet.

Aspect Containerized applications Native applications (ProgramSets)
Delivery format Container image Program package / script / binary
Execution environment Container runtime System service
Use cases Modern applications, multiple services, rapid iteration Traditional programs, deep hardware customization, real-time control

Both models receive equal treatment within the release system: they are defined in the same release, use the same deployment workflow, and receive consistent supervision and updates.

Create a Release (define container applications / native programs)
│
▼
Deploy to fleet / device
│
▼
Device agent synchronizes target state ──▶ Pull and install ──▶ Run and supervise
│ │
│ ▼
└──────────────── Version update / rollback ◀──────── Automatic recovery
Stage Description
Definition Declare container images or native programs in a release, with environment, ports, dependencies, and restart policies
Deployment Deploy the release to target fleets or devices; the agent applies it automatically
Operation The agent supervises applications with automatic restart on failure and startup at boot
Update Publish and deploy a new version for automatic device upgrades; roll back if problems occur

After connecting to JelinaCloud, create and deploy releases in the cloud:

  • Containerized applications: specify images and runtime configuration.
  • Native applications: declare program configuration (ProgramSet).
  • Incremental adjustments, version switching, and rollback are supported.

See cloud application deployment and OTA.

Without cloud connectivity, deliver target configuration through the local device management interface for the device agent to deploy. Local mode uses the same declarative configuration followed by agent execution model; applications do not depend on manual commands to keep running.

After deployment, use device commands to inspect application status. Docker commands are for inspection and diagnostics only, not a deployment entry point:

Terminal window
docker ps # View container application status
systemctl list-units 'jelinvisored_*' # View native program services