Yunohost App Package to Systemd Service Migration Without Downtime
0 reputation · 01 May 2023, 11:07 UTC
0 reputation · 01 May 2023, 11:07 UTC
Yunohost manages applications as Debian-package-like units with install, upgrade, and remove scripts executed via the yunohost app CLI. These scripts typically stop the app's Systemd unit before making changes, creating an inherent service interruption during standard operations.
The platform's backup/restore mechanism (yunohost app backup and yunohost app restore) can copy an app's data and configuration, but restoring to a different instance requires the target app to be stopped during the restore phase. This means even the backup-based migration path involves downtime.
Zero-downtime migration is not built-in and depends on the app's ability to run two versions side-by-side. Manual steps would involve cloning the app instance, updating the reverse-proxy (nginx) configuration to point to the new version, and switching the Systemd service. However, Yunohost's SSOWAT authentication layer and single-instance assumption can cause conflicts with shared resources like database credentials or cron jobs unless the app explicitly supports multi-instance operation.
The yunohost app upgrade --force flag exists but does not guarantee avoiding service stops, leaving downtime behavior to individual app maintainers. Community documentation lacks clear guidance on achieving true zero-downtime migration.
A thoughtful contribution can make all the difference. Be the first to share one.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.