feat(oci): watchdog that restarts an application when it stops on its own

- New service that starts again an OCI application that stopped on its own, such as Frigate after Save & Restart. A stop or shutdown asked by the user, a backup, a migration and a ProxMenux operation are never undone.
- The installer asks it in both modes and proposes what the recipe declares; it is changed from the management menu or with the Watchdog switch of the container modal in the Monitor.
- Notifications when the watchdog restarts an application and when it keeps stopping.
- The service is recorded in the change journal, and the feature is documented.
This commit is contained in:
MacRimi
2026-10-06 23:18:26 +02:00
parent 6b70c3934e
commit 41ae752da1
28 changed files with 1006 additions and 19 deletions
+14
View File
@@ -1049,6 +1049,8 @@
"mounted": "montado"
},
"startOnBoot": "Iniciar na inicialização",
"watchdog": "Vigilância",
"watchdogHelp": "Reinicia automaticamente esta aplicação quando falha.",
"tags": "Etiquetas",
"tagsPlaceholder": "Adicionar tag…",
"tagsNone": "sem tags",
@@ -2008,6 +2010,8 @@
"oci_recreate_failed": "Falha na recriação da aplicação OCI",
"oci_modify_completed": "Aplicação OCI modificada",
"oci_modify_failed": "Falha na modificação da aplicação OCI",
"oci_watchdog_restarted": "Aplicação OCI reiniciada pela vigilância",
"oci_watchdog_failed": "Aplicação OCI que continua a parar",
"app_update_available": "atualização de aplicativo disponível",
"lxc_update_applied": "Atualização LXC aplicada",
"docker_stack_update_available": "Docker atualizações disponíveis"
@@ -6441,6 +6445,16 @@
"body": "A modificação de {app_name} não foi concluída.\nMotivo: {reason}\nContêineres: {containers}\nAbra Gerir aplicações OCI instaladas para verificar o estado.",
"label": "Falha na modificação da aplicação OCI"
},
"oci_watchdog_restarted": {
"title": "{hostname}: {app_name} reiniciado depois de parar",
"body": "{app_name} parou sozinho e a vigilância voltou a iniciá-lo.\nContêineres: {containers}",
"label": "Aplicação OCI reiniciada pela vigilância"
},
"oci_watchdog_failed": {
"title": "{hostname}: {app_name} continua a parar",
"body": "{app_name} continua a parar sozinho e a vigilância já não o reinicia.\nContêineres: {containers}\nInicie-o à mão quando a causa estiver resolvida; a vigilância volta então a vigiá-lo.",
"label": "Aplicação OCI que continua a parar"
},
"app_update_available": {
"title": "{hostname}: atualização {app_name} disponível no CT {vmid}",
"body": "{app_name} no CT {vmid} ({ct_name}) tem uma nova versão:\n {installed} → {latest}",