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": "Repositorio de la imagen",
|
||||
"converter": "Conversor",
|
||||
|
||||
@@ -76,27 +76,41 @@
|
||||
},
|
||||
{
|
||||
"id": "update",
|
||||
"title": "Una actualización transaccional",
|
||||
"title": "Cómo se actualiza y qué ocurre si falla",
|
||||
"blocks": [
|
||||
{
|
||||
"p": "La actualización es transaccional: primero se prepara y verifica la imagen nueva; después se guarda una copia de seguridad y se sustituye el sistema de archivos de la aplicación. La nueva versión solo se confirma cuando supera la comprobación de funcionamiento. Si algo falla después de modificar el contenedor, se intenta restaurar la copia anterior y se verifica el resultado."
|
||||
},
|
||||
{
|
||||
"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": "Usuario",
|
||||
"registry": "Registro OCI",
|
||||
"update": "Actualizar la instancia",
|
||||
"resolve": "Resolver la etiqueta",
|
||||
"verify": "Verificar el archivo y realizar las comprobaciones previas",
|
||||
"backup": "Detener y respaldar el CT",
|
||||
"import": "Importar el rootfs nuevo",
|
||||
"reapply": "Aplicar de nuevo el contrato",
|
||||
"healthy": "correcto",
|
||||
"failure": "fallo",
|
||||
"commit": "Contrato publicado con el digest nuevo",
|
||||
"restored": "Instancia anterior restaurada"
|
||||
"registry": "Registro de imágenes OCI",
|
||||
"update": "Actualizar la aplicación",
|
||||
"resolve": "Identificar la versión nueva",
|
||||
"image": "Descargar la imagen nueva",
|
||||
"verify": "Verificar imagen y requisitos",
|
||||
"backup": "Detener el contenedor y crear el backup",
|
||||
"import": "Instalar el sistema de archivos nuevo",
|
||||
"reapply": "Reaplicar la configuración guardada",
|
||||
"start": "Arrancar y comprobar la aplicación",
|
||||
"checked": "Resultado de la comprobación",
|
||||
"healthy": "La aplicación funciona",
|
||||
"failure": "La actualización falla",
|
||||
"commit": "Guardar la versión y configuración nuevas",
|
||||
"updated": "Actualización completada",
|
||||
"rollback": "Restaurar y comprobar la copia anterior",
|
||||
"recovered": "La recuperación se verifica",
|
||||
"restored": "Versión anterior restaurada",
|
||||
"restoreFailed": "La recuperación no se verifica",
|
||||
"manual": "Recuperación pendiente: revisar el error"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"p": "Si la preparación o las comprobaciones previas fallan, la actualización se detiene antes de parar el contenedor. Los archivos de directorios compartidos del host no vuelven a una versión anterior al restaurar el backup del contenedor."
|
||||
},
|
||||
{
|
||||
"list": {
|
||||
"items": [
|
||||
@@ -240,13 +254,6 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/oci-manager/restore-offer.png",
|
||||
"alt": "Diálogo que lista los contenedores restaurados y ofrece recuperarlos",
|
||||
"caption": "La recuperación que se ofrece al abrir Gestionar aplicaciones OCI instaladas."
|
||||
}
|
||||
},
|
||||
{
|
||||
"table": {
|
||||
"headers": [
|
||||
@@ -335,13 +342,6 @@
|
||||
"title": "Un contenedor que vuelve",
|
||||
"body": "Un contenedor restaurado sobre sí mismo desde un backup anterior, devuelto a un snapshot o llegado de vuelta desde otro nodo lleva el contrato del estado en el que está. Al seleccionarlo para una operación, si su contrato es distinto del de este host, la operación no empieza y el contenedor se ofrece para recuperarlo."
|
||||
}
|
||||
},
|
||||
{
|
||||
"figure": {
|
||||
"src": "/oci-manager/restore-result.png",
|
||||
"alt": "Resultado de la recuperación con la red privada, el orden de arranque y los contenedores registrados",
|
||||
"caption": "El resultado de una recuperación, paso a paso."
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -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": "Preparar todas las imágenes",
|
||||
"stop": "Detener, primero el principal",
|
||||
|
||||
Reference in New Issue
Block a user