mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
Pre-release 1.2.7: OCI fixes, 12 new catalog applications and docs updates
Last changes before version 1.2.7. OCI manager Apps - Multi-container applications start while one of their containers is being backed up: the start hook waits until vzdump releases it and does not start it twice. The DHCP client of a dependency no longer keeps the lock of the hook, so later starts do not hang, and the watchdog waits while a dependency is locked. Installing or updating ProxMenux replaces the published copies of the hook already in place. - Images built from scratch with a numeric user, such as ddns-updater, install: the container is created from a copy of the image that adds the /etc/passwd and /etc/group Proxmox VE needs, and the application runs with the user the image declares. The downloaded image stays unchanged. An image with a named user and no user database stops before anything is created, with a message that says why. Catalog - Twelve new applications: MDBListarr, CrossWatch, Free Games Claimer Remaster, Cloudreve, Poznote and AceStream HTTP Proxy, suggested in discussion #440, and the Dockur images of Chrony, Dnsmasq, Tor, Stunnel, strfry and Statping. The catalog lists 347 applications. - Their prompts, labels and notes are translated into the seven languages of the menus. Documentation - OCI manager: architecture, lifecycle and stacks pages revised, with larger diagrams and new screenshots. - Contributors: the page now thanks those developing, reviewing, translating and testing ProxMenux today and those who helped in its first steps, with new avatars. Tests for the stack start hook, the watchdog, the user database check of OCI images and the Tor installation summary.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
"blocks": [
|
||||
{
|
||||
"mermaid": {
|
||||
"chartCode": "flowchart LR\n A[\"{{repo}}\"] --> B[\"Compose + README\"]\n B --> C[\"{{converter}}\"]\n C --> D[\"{{template}}\"]\n D --> E{\"{{blockers}}\"}\n E -- \"{{no}}\" --> F[\"{{review}}\"]\n F --> D\n E -- \"{{yes}}\" --> G[\"{{plan}}\"]\n G --> H[\"pct create\"]\n H --> I[\"{{lxc}}\"]",
|
||||
"chartCode": "flowchart TB\n A[\"{{repo}}\"] --> B[\"Compose + README\"]\n B --> C[\"{{converter}}\"]\n C --> D[\"{{template}}\"]\n D --> E{\"{{blockers}}\"}\n E -- \"{{no}}\" --> F[\"{{review}}\"]\n F --> D\n E -- \"{{yes}}\" --> G[\"{{plan}}\"]\n G --> H[\"pct create\"]\n H --> I[\"{{lxc}}\"]",
|
||||
"labels": {
|
||||
"repo": "Image-Repository",
|
||||
"converter": "Konverter",
|
||||
|
||||
@@ -76,27 +76,41 @@
|
||||
},
|
||||
{
|
||||
"id": "update",
|
||||
"title": "Transaktionsaktualisierung",
|
||||
"title": "So läuft eine Aktualisierung ab – auch im Fehlerfall",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "Eine Aktualisierung ist transaktional: Zuerst wird das neue Image vorbereitet und geprüft. Danach wird ein Backup erstellt und das Dateisystem der Anwendung ersetzt. Die neue Version wird erst nach erfolgreicher Funktionsprüfung bestätigt. Tritt nach einer Änderung am Container ein Fehler auf, wird die Wiederherstellung des vorherigen Backups versucht und das Ergebnis geprüft."
|
||||
},
|
||||
{
|
||||
"mermaid": {
|
||||
"chartCode": "sequenceDiagram\n participant U as {{user}}\n participant P as ProxMenux\n participant R as {{registry}}\n participant X as Proxmox VE\n U->>P: {{update}}\n P->>R: {{resolve}}\n R-->>P: digest\n P->>P: {{verify}}\n P->>X: {{backup}}\n P->>X: {{import}}\n P->>X: {{reapply}}\n X-->>P: healthcheck\n alt {{healthy}}\n P-->>U: {{commit}}\n else {{failure}}\n P->>X: Rollback\n P-->>U: {{restored}}\n end",
|
||||
"chartCode": "---\nconfig:\n sequence:\n wrap: true\n actorFontSize: 18\n messageFontSize: 18\n width: 170\n actorMargin: 40\n useMaxWidth: false\n---\nsequenceDiagram\n autonumber\n participant U as {{user}}\n participant P as ProxMenux\n participant R as {{registry}}\n participant X as Proxmox VE\n U->>P: {{update}}\n P->>R: {{resolve}}\n R-->>P: {{image}}\n P->>P: {{verify}}\n P->>X: {{backup}}\n P->>X: {{import}}\n P->>X: {{reapply}}\n P->>X: {{start}}\n X-->>P: {{checked}}\n alt {{healthy}}\n P->>P: {{commit}}\n P-->>U: {{updated}}\n else {{failure}}\n P->>X: {{rollback}}\n alt {{recovered}}\n P-->>U: {{restored}}\n else {{restoreFailed}}\n P-->>U: {{manual}}\n end\n end",
|
||||
"labels": {
|
||||
"user": "Benutzer",
|
||||
"registry": "OCI-Register",
|
||||
"update": "Instanz aktualisieren",
|
||||
"resolve": "Tag auflösen",
|
||||
"verify": "Archiv prüfen und Vorabprüfungen durchführen",
|
||||
"backup": "Stoppen und sichern Sie den CT",
|
||||
"import": "Neues rootfs importieren",
|
||||
"reapply": "Den Vertrag erneut anwenden",
|
||||
"healthy": "in Ordnung",
|
||||
"failure": "Ausfall",
|
||||
"commit": "Vertrag mit dem neuen Digest veröffentlicht",
|
||||
"restored": "Frühere Instanz wiederhergestellt"
|
||||
"registry": "OCI-Image-Registry",
|
||||
"update": "Anwendung aktualisieren",
|
||||
"resolve": "Neue Version ermitteln",
|
||||
"image": "Neues Image herunterladen",
|
||||
"verify": "Image und Voraussetzungen prüfen",
|
||||
"backup": "Container stoppen und Backup erstellen",
|
||||
"import": "Neues Dateisystem installieren",
|
||||
"reapply": "Gespeicherte Konfiguration anwenden",
|
||||
"start": "Anwendung starten und prüfen",
|
||||
"checked": "Ergebnis der Funktionsprüfung",
|
||||
"healthy": "Die Anwendung funktioniert",
|
||||
"failure": "Die Aktualisierung schlägt fehl",
|
||||
"commit": "Neue Version und Konfiguration speichern",
|
||||
"updated": "Aktualisierung abgeschlossen",
|
||||
"rollback": "Vorheriges Backup wiederherstellen und prüfen",
|
||||
"recovered": "Wiederherstellung bestätigt",
|
||||
"restored": "Vorherige Version wiederhergestellt",
|
||||
"restoreFailed": "Wiederherstellung nicht bestätigt",
|
||||
"manual": "Wiederherstellung offen: Fehler prüfen"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "Scheitern die Vorbereitung oder die Vorabprüfungen, wird die Aktualisierung vor dem Stoppen des Containers abgebrochen. Dateien in freigegebenen Host-Verzeichnissen werden durch das Container-Backup nicht auf einen früheren Stand zurückgesetzt."
|
||||
},
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
@@ -240,13 +254,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/oci-manager/restore-offer.png",
|
||||
"alt": "Dialog, der die wiederhergestellten Container auflistet und anbietet, sie wiederherzustellen",
|
||||
"caption": "Die beim Öffnen von „Installierte OCI-Anwendungen verwalten“ angebotene Wiederherstellung."
|
||||
}
|
||||
},
|
||||
{
|
||||
"table": {
|
||||
"headers": [
|
||||
@@ -335,13 +342,6 @@
|
||||
"title": "Ein Container, der zurückkommt",
|
||||
"body": "Ein Container, der von einem älteren Backup wiederhergestellt, zu einem Snapshot zurückgerollt oder von einem anderen Knoten zurückgegeben wurde, trägt den Vertrag des Zustands, in dem er sich befindet. Wenn es für eine Operation ausgewählt wird und sein Vertrag von dem dieses Hosts abweicht, startet die Operation nicht und der Container wird zur Wiederherstellung angeboten."
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/oci-manager/restore-result.png",
|
||||
"alt": "Ergebnis der Wiederherstellung mit privatem Netzwerk, Startreihenfolge und registrierten Containern",
|
||||
"caption": "Das Ergebnis einer Wiederherstellung, Schritt für Schritt."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -368,7 +368,7 @@
|
||||
},
|
||||
{
|
||||
"mermaid": {
|
||||
"chartCode": "flowchart LR\n P[\"{{prepare}}\"] --> S[\"{{stop}}\"]\n S --> B[\"{{backup}}\"]\n B --> R[\"{{replace}}\"]\n R --> H{\"{{healthy}}\"}\n H -- \"{{yes}}\" --> C[\"{{commit}}\"]\n H -- \"{{no}}\" --> X[\"{{rollback}}\"]",
|
||||
"chartCode": "flowchart TB\n P[\"{{prepare}}\"] --> S[\"{{stop}}\"]\n S --> B[\"{{backup}}\"]\n B --> R[\"{{replace}}\"]\n R --> H{\"{{healthy}}\"}\n H -- \"{{yes}}\" --> C[\"{{commit}}\"]\n H -- \"{{no}}\" --> X[\"{{rollback}}\"]",
|
||||
"labels": {
|
||||
"prepare": "Jedes Image vorbereiten",
|
||||
"stop": "Stop, Hauptelement zuerst",
|
||||
|
||||
Reference in New Issue
Block a user