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:
MacRimi
2026-10-25 13:17:54 +01:00
parent 2f48689087
commit fc41b04e87
103 changed files with 12799 additions and 603 deletions
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Mitwirkende | ProxMenux-Dokumentation",
"description": "Anerkennung für die Menschen, die ProxMenux möglich machen: Tester, Reviewer und Entwickler, die jede Version mitgestalten.",
"description": "Hinter jeder Version stehen Menschen, die ProxMenux entwickeln, prüfen, übersetzen und testen. Diese Seite dankt den heutigen Mitwirkenden ebenso wie denen, die das Projekt bei seinen ersten Schritten unterstützt haben.",
"ogTitle": "Mitwirkende | ProxMenux-Dokumentation",
"ogDescription": "Treffen Sie die Mitwirkenden hinter ProxMenux."
"ogDescription": "Hinter jeder Version stehen Menschen, die ProxMenux entwickeln, prüfen, übersetzen und testen. Diese Seite dankt den heutigen Mitwirkenden ebenso wie denen, die das Projekt bei seinen ersten Schritten unterstützt haben."
},
"header": {
"title": "Mitwirkende",
"description": "Das ProxMenux-Projekt wächst dank seiner Mitwirkenden. Diese Seite würdigt ihre Arbeit: Versionen vor der Veröffentlichung testen, Regressionen erkennen, PRs prüfen und die Entwicklung neuer Funktionen mitgestalten.",
"description": "Hinter jeder Version stehen Menschen, die ProxMenux entwickeln, prüfen, übersetzen und testen. Diese Seite dankt den heutigen Mitwirkenden ebenso wie denen, die das Projekt bei seinen ersten Schritten unterstützt haben.",
"section": "Über"
},
"beyond": {
"title": "Weitere Mitwirkende",
"body": "Viele weitere Menschen helfen mit Fehlermeldungen, Funktionsideen in Discussions, Beta-Tests und Übersetzungen. Die vollständige Liste der Code-Mitwirkenden steht im <extlink>GitHub-Mitwirkendendiagramm</extlink>. Diese Seite hebt diejenigen hervor, die besonders aktiv ProxMenux-Versionen testen und prüfen."
"active": {
"heading": "Entwicklung, Review und kontinuierliche Mitarbeit",
"intro": "Vaso73, f3rs3n und jcastro tragen regelmäßig Verbesserungen, Fehlerkorrekturen und Reviews bei. Ihre Arbeit geht über das Testen einer Version hinaus: Sie helfen auch, die nächsten Versionen zu entwickeln und Fehler zu beheben.",
"people": {
"Vaso73": "Verbesserungen und Fehlerkorrekturen im OCI manager und ProxMenux Monitor sowie slowakische Übersetzungen und Sprachprüfungen.",
"f3rs3n": "Fehlerkorrekturen und Überprüfung des Verhaltens von Skripten und Monitor sowie laufende Verbesserungen der italienischen Übersetzung.",
"jcastro": "Entwicklung und Fehlerbehebung bei OCI-, Backup- und Monitor-Funktionen sowie Dokumentationsprüfungen und Tests seit den Anfängen des Projekts."
}
},
"code": {
"heading": "Weitere Beiträge zum Code",
"intro": "Auch die folgenden Personen haben Codeänderungen beigetragen. Über die Links lässt sich ihre Arbeit nachvollziehen; der GitHub-Verlauf dokumentiert die Beiträge und zusammengeführten Pull Requests.",
"viewWork": "Beiträge ansehen",
"history": "Beitragsverlauf",
"merged": "Alle integrierten PRs ansehen"
},
"community": {
"heading": "Eine Community, die auch testet, übersetzt und dokumentiert",
"body": "Nicht jede Arbeit ist Code. Einen Fehler nachzustellen, hilfreiche Protokolle zu teilen, andere Hardware zu testen, eine Erklärung zu präzisieren oder eine Verbesserung vorzuschlagen, hilft ProxMenux ebenfalls.",
"languages": "Ein besonderer Dank gilt allen, die Texte in ihrer Muttersprache prüfen. Übersetzungen der Menüs, des Monitors und der Dokumentation machen das Projekt mehr Menschen zugänglich und erleichtern die Nutzung."
},
"testers": {
"heading": "Tester & Reviewer",
"intro": "Diese Personen gehörten zu den ersten Mitwirkenden. Mit Tests, Fehlermeldungen und Verbesserungsvorschlägen halfen sie ProxMenux dabei, zu dem zu werden, was es heute ist.",
"roles": {
"testing": "Testen",
"testingReviewer": "Tests und Review"
},
"heading": "Danke für die ersten Tests",
"intro": "Diese Anerkennung bleibt wichtig. Diese Personen halfen, frühe Versionen zu prüfen, testeten das Projekt auf ihren Geräten und teilten Fehler und Vorschläge, als ProxMenux zu wachsen begann.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Möchten Sie dazu beitragen?",
"intro": "Jeder Beitrag ist willkommen - Code, Testen, Design, Dokumentation oder einfach nur das Teilen Ihrer Ideen:",
"tester": "<strong>Tester</strong> — probieren Sie den <beta>Beta-Kanal</beta> aus und melden Sie vor der stabilen Veröffentlichung, was funktioniert und was nicht.",
"developer": "<strong>Entwickler</strong> — Bash, Next.js (TypeScript) und etwas Python für die virtuelle Übersetzungsumgebung (venv). PRs auf <gh>GitHub</gh> sind willkommen.",
"designer": "<strong>Designer</strong> — Verbesserungen der Benutzeroberfläche, Icons, Screenshots zur Dokumentation.",
"ideas": "<strong>Ideen</strong> — eröffnen Sie zuerst ein Thema in <disc>GitHub Discussions</disc>, bevor Sie einen Funktionswunsch als Issue einreichen."
"heading": "Auch dein Beitrag ist willkommen",
"intro": "Eine kleine Korrektur, ein gezielter Test oder eine Textprüfung hilft bereits. Du musst keine vollständige Funktion entwickeln, um etwas beizutragen.",
"ways": {
"code": {
"title": "Code und Review",
"body": "Entwickle Funktionen, behebe Fehler oder prüfe eine PR. Der Beitragsleitfaden erklärt, wie du Änderungen vorbereitest und vorschlägst."
},
"testing": {
"title": "Tests und Diagnose",
"body": "Teste Betaversionen und teile Schritte zum Nachstellen sowie Protokolle, die beim Verstehen eines Problems helfen."
},
"translations": {
"title": "Übersetzungen",
"body": "Prüfe Meldungen in deiner Sprache und hilf, sie bei neuen Funktionen aktuell zu halten."
},
"docs": {
"title": "Dokumentation und Design",
"body": "Präzisiere eine Anleitung, ergänze einen Screenshot oder verbessere die Oberfläche, damit andere leichter folgen können."
}
},
"guide": "Beitragsleitfaden",
"discuss": "Mit der Community sprechen"
},
"coc": {
"title": "Lesen Sie zuerst den Verhaltenskodex",
"body": "Lesen Sie vor dem Einreichen von Code oder Fehlermeldungen kurz den <coclink>Verhaltenskodex und die bewährten Vorgehensweisen</coclink>. Darin werden die Verantwortung für Code, die Meldung von Sicherheitslücken und der Umfang von PRs erläutert."
"thanks": {
"title": "Danke, dass ihr es möglich macht",
"body": "An alle hier Genannten und alle, die in einer Issue, einem Gespräch oder bei einem Test helfen: Danke für eure Zeit und euren Einsatz für ProxMenux."
}
}
@@ -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",
+27 -27
View File
@@ -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."
}
}
]
},
+1 -1
View File
@@ -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",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Contributors | ProxMenux Documentation",
"description": "Recognition for the people who make ProxMenux possible — testers, reviewers and developers who shape each release.",
"description": "Behind every release are people who develop, review, translate and test ProxMenux. This page thanks those contributing today and those who helped the project take its first steps.",
"ogTitle": "Contributors | ProxMenux Documentation",
"ogDescription": "Meet the contributors behind ProxMenux."
"ogDescription": "Behind every release are people who develop, review, translate and test ProxMenux. This page thanks those contributing today and those who helped the project take its first steps."
},
"header": {
"title": "Contributors",
"description": "The ProxMenux project grows and thrives thanks to the contribution of its collaborators. This is the well-deserved recognition of their work — testing builds before release, catching regressions, reviewing PRs and shaping the direction of new features.",
"description": "Behind every release are people who develop, review, translate and test ProxMenux. This page thanks those contributing today and those who helped the project take its first steps.",
"section": "About"
},
"beyond": {
"title": "Beyond this list",
"body": "Many more people contribute via bug reports, feature ideas in Discussions, beta testing and translations. The full list of code contributors lives on the <extlink>GitHub contributors graph</extlink>. The page below highlights the people who have been most actively involved in testing and reviewing ProxMenux releases."
"active": {
"heading": "Development, review and ongoing collaboration",
"intro": "Vaso73, f3rs3n and jcastro contribute regularly through improvements, fixes and reviews. Their work goes beyond testing a release: it also helps build and debug the next ones.",
"people": {
"Vaso73": "Improvements and fixes in OCI manager and ProxMenux Monitor, alongside Slovak translations and language reviews.",
"f3rs3n": "Fixes and reviews of script and Monitor behavior, together with ongoing improvements to the Italian translation.",
"jcastro": "Development and debugging of OCI, backup and Monitor features, alongside documentation reviews and testing since the project's early days."
}
},
"code": {
"heading": "More contributions to the code",
"intro": "The following people have also contributed code changes. Follow their links to explore their work; GitHub's history records contributions and pull requests as they are merged.",
"viewWork": "View contributions",
"history": "Contribution history",
"merged": "View all merged PRs"
},
"community": {
"heading": "A community that also tests, translates and documents",
"body": "Not all work arrives as code. Reproducing a bug, sharing useful logs, testing different hardware, clarifying an explanation or suggesting an improvement also helps ProxMenux work better.",
"languages": "Special thanks to everyone reviewing text in their own language. Translations of the menus, Monitor and documentation bring the project to more people and make it more comfortable to use."
},
"testers": {
"heading": "Testers & reviewers",
"intro": "These were among the first to contribute to the project — testing, reporting issues and suggesting improvements that helped ProxMenux grow into what it is today.",
"roles": {
"testing": "Testing",
"testingReviewer": "Testing & reviewer"
},
"heading": "Thank you for the early testing",
"intro": "This recognition still matters. These people helped validate early releases, tested the project on their own equipment, and shared problems and suggestions as ProxMenux began to grow.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Want to contribute?",
"intro": "Any contribution is welcome — code, testing, design, documentation, or just sharing your ideas:",
"tester": "<strong>Tester</strong> — try the <beta>beta channel</beta> and report what works and what doesn't before stable releases.",
"developer": "<strong>Developer</strong> — Bash + Next.js (TypeScript) + a bit of Python for the translation venv. PRs welcome on <gh>GitHub</gh>.",
"designer": "<strong>Designer</strong> — UI improvements, icons, screenshots for documentation.",
"ideas": "<strong>Ideas</strong> — open a thread in <disc>GitHub Discussions</disc> before opening a feature request issue."
"heading": "There is a place for your contribution too",
"intro": "You can help with a small fix, a specific test or a text review. You do not need to develop a whole feature to make a difference.",
"ways": {
"code": {
"title": "Code and review",
"body": "Develop features, fix bugs or review a PR. The contributing guide explains how to prepare and propose changes."
},
"testing": {
"title": "Testing and diagnosis",
"body": "Try beta releases and share reproduction steps and logs that help others understand a problem."
},
"translations": {
"title": "Translations",
"body": "Review messages in your language and help keep them up to date as new features are added."
},
"docs": {
"title": "Documentation and design",
"body": "Clarify a guide, add a screenshot or improve the interface so others can follow it more easily."
}
},
"guide": "Contributing guide",
"discuss": "Talk with the community"
},
"coc": {
"title": "Read the Code of Conduct first",
"body": "Before submitting code or reporting issues, give the <coclink>Code of Conduct & Best Practices</coclink> a quick read. It covers expectations around code responsibility, security disclosure and PR scope."
"thanks": {
"title": "Thank you for making it possible",
"body": "To everyone listed here and everyone helping in an issue, a conversation or a test: thank you for spending your time improving ProxMenux."
}
}
@@ -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": "Converter",
+27 -27
View File
@@ -76,27 +76,41 @@
},
{
"id": "update",
"title": "A transactional update",
"title": "How an update works and what happens if it fails",
"blocks": [
{
"p": "An update is transactional: the new image is prepared and verified first; a backup is then created and the application's filesystem is replaced. The new version is only committed after it passes its health check. If something fails after the container has been changed, recovery from the previous backup is attempted and its result is verified."
},
{
"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": "User",
"registry": "OCI registry",
"update": "Update instance",
"resolve": "Resolve the tag",
"verify": "Verify archive and preflight",
"backup": "Stop and back up the CT",
"import": "Import the new rootfs",
"reapply": "Apply the contract again",
"healthy": "healthy",
"failure": "failure",
"commit": "Contract published with the new digest",
"restored": "Previous instance restored"
"registry": "OCI image registry",
"update": "Update the application",
"resolve": "Identify the new version",
"image": "Download the new image",
"verify": "Verify image and requirements",
"backup": "Stop the container and create a backup",
"import": "Install the new filesystem",
"reapply": "Reapply the saved configuration",
"start": "Start and check the application",
"checked": "Health check result",
"healthy": "The application works",
"failure": "The update fails",
"commit": "Save the new version and configuration",
"updated": "Update completed",
"rollback": "Restore and check the previous backup",
"recovered": "Recovery is verified",
"restored": "Previous version restored",
"restoreFailed": "Recovery is not verified",
"manual": "Recovery pending: review the error"
}
}
},
{
"p": "If preparation or preflight checks fail, the update stops before stopping the container. Files in shared host directories are not reverted by restoring the container backup."
},
{
"list": {
"items": [
@@ -240,13 +254,6 @@
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Dialog that lists the restored containers and offers to recover them",
"caption": "The recovery offered when Manage installed OCI applications opens."
}
},
{
"table": {
"headers": [
@@ -335,13 +342,6 @@
"title": "A container that comes back",
"body": "A container restored over itself from an older backup, rolled back to a snapshot or returned from another node carries the contract of the state it is in. When it is selected for an operation and its contract differs from the one of this host, the operation does not start and the container is offered for recovery."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Result of the recovery with the private network, the start order and the registered containers",
"caption": "The result of a recovery, step by step."
}
}
]
},
+1 -1
View File
@@ -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": "Prepare every image",
"stop": "Stop, main member first",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Colaboradores | Documentación de ProxMenux",
"description": "Reconocimiento a las personas que hacen posible ProxMenux: quienes prueban, revisan y desarrollan cada versión.",
"description": "Detrás de cada versión hay personas que desarrollan, revisan, traducen y prueban ProxMenux. Esta página agradece tanto el trabajo de hoy como la ayuda que hizo posibles sus primeros pasos.",
"ogTitle": "Colaboradores | Documentación de ProxMenux",
"ogDescription": "Conoce a los colaboradores detrás de ProxMenux."
"ogDescription": "Detrás de cada versión hay personas que desarrollan, revisan, traducen y prueban ProxMenux. Esta página agradece tanto el trabajo de hoy como la ayuda que hizo posibles sus primeros pasos."
},
"header": {
"title": "Colaboradores",
"description": "ProxMenux crece gracias a sus colaboradores. Esta página reconoce su trabajo: probar versiones antes de publicarlas, detectar regresiones, revisar PR y ayudar a orientar las nuevas funciones.",
"description": "Detrás de cada versión hay personas que desarrollan, revisan, traducen y prueban ProxMenux. Esta página agradece tanto el trabajo de hoy como la ayuda que hizo posibles sus primeros pasos.",
"section": "Acerca de"
},
"beyond": {
"title": "Más allá de esta lista",
"body": "Muchas más personas contribuyen notificando errores, proponiendo funciones en Discussions, probando versiones beta y traduciendo el proyecto. La lista completa de colaboradores del código está en el <extlink>gráfico de colaboradores de GitHub</extlink>. Esta página destaca a quienes participan más activamente en las pruebas y la revisión de las versiones de ProxMenux."
"active": {
"heading": "Desarrollo, revisión y colaboración continuada",
"intro": "Vaso73, f3rs3n y jcastro participan de forma continuada con mejoras, correcciones y revisiones. Su trabajo abarca mucho más que probar una versión: también ayuda a construir y depurar las siguientes.",
"people": {
"Vaso73": "Mejoras y correcciones en OCI manager y ProxMenux Monitor, además de la traducción y revisión de los textos en eslovaco.",
"f3rs3n": "Correcciones y revisión del comportamiento de los scripts y del Monitor, junto con mejoras continuas de la traducción al italiano.",
"jcastro": "Desarrollo y depuración de funciones OCI, copias de seguridad y Monitor, además de revisión de documentación y pruebas desde los primeros pasos del proyecto."
}
},
"code": {
"heading": "Más contribuciones al código",
"intro": "También han aportado cambios al código las siguientes personas. Cada enlace permite conocer su trabajo; el historial de GitHub recoge las contribuciones y las PR que se siguen incorporando.",
"viewWork": "Ver aportaciones",
"history": "Historial de contribuciones",
"merged": "Ver todas las PR integradas"
},
"community": {
"heading": "Una comunidad que también prueba, traduce y documenta",
"body": "No todo el trabajo llega en forma de código. Reproducir un fallo, compartir registros útiles, probar hardware distinto, corregir una explicación o proponer una mejora también ayuda a que ProxMenux funcione mejor.",
"languages": "Gracias especialmente a quienes revisan los textos en su idioma. Las traducciones de la interfaz, del Monitor y de la documentación acercan el proyecto a más personas y hacen que sea más cómodo utilizarlo."
},
"testers": {
"heading": "Pruebas y revisión",
"intro": "Estas personas estuvieron entre las primeras en contribuir al proyecto. Sus pruebas, avisos de errores y propuestas de mejora ayudaron a convertir ProxMenux en lo que es hoy.",
"roles": {
"testing": "Pruebas",
"testingReviewer": "Pruebas y revisión"
},
"heading": "Gracias por las primeras pruebas",
"intro": "Este reconocimiento sigue teniendo su lugar. Estas personas ayudaron a validar las primeras versiones, probaron el proyecto en sus equipos y compartieron errores y sugerencias cuando ProxMenux comenzaba a crecer.",
"youtube": "YouTube"
},
"contribute": {
"heading": "¿Quieres colaborar?",
"intro": "Cualquier contribución es bienvenida — código, pruebas, diseño, documentación o simplemente compartir tus ideas:",
"tester": "<strong>Pruebas</strong>: prueba el <beta>canal beta</beta> y comunica qué funciona y qué no antes de que se publiquen las versiones estables.",
"developer": "<strong>Desarrollador</strong> — Bash + Next.js (TypeScript) + un poco de Python para el venv de traducción. Los PRs son bienvenidos en <gh>GitHub</gh>.",
"designer": "<strong>Diseñador</strong> — mejoras de UI, iconos, capturas para la documentación.",
"ideas": "<strong>Ideas</strong> — abre un hilo en <disc>GitHub Discussions</disc> antes de abrir una incidencia de petición de función."
"heading": "Tu aportación también tiene un lugar",
"intro": "Puedes colaborar con una corrección pequeña, una prueba concreta o la revisión de un texto. No hace falta desarrollar una función completa para ayudar.",
"ways": {
"code": {
"title": "Código y revisión",
"body": "Desarrolla funciones, corrige errores o revisa una PR. La guía de contribución explica cómo preparar y proponer los cambios."
},
"testing": {
"title": "Pruebas y diagnóstico",
"body": "Prueba las versiones beta y comparte los pasos para reproducir un problema y los registros que ayuden a entenderlo."
},
"translations": {
"title": "Traducciones",
"body": "Revisa los mensajes en tu idioma y ayuda a mantenerlos al día cuando se añaden nuevas funciones."
},
"docs": {
"title": "Documentación y diseño",
"body": "Aclara una guía, añade una captura o mejora la interfaz para que otras personas puedan seguirla con más facilidad."
}
},
"guide": "Guía de contribución",
"discuss": "Hablar con la comunidad"
},
"coc": {
"title": "Lee primero el código de conducta",
"body": "Antes de enviar código o reportar incidencias, dale una lectura rápida al <coclink>Código de conducta y buenas prácticas</coclink>. Cubre las expectativas sobre responsabilidad del código, divulgación de problemas de seguridad y alcance de los PRs."
"thanks": {
"title": "Gracias por hacerlo posible",
"body": "A quienes aparecen aquí y a quienes ayudan en una issue, una conversación o una prueba: gracias por dedicar vuestro tiempo a mejorar ProxMenux."
}
}
@@ -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",
+27 -27
View File
@@ -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."
}
}
]
},
+1 -1
View File
@@ -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",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Contributeurs | Documentation ProxMenux",
"description": "Un hommage aux personnes qui rendent ProxMenux possible : testeurs, relecteurs et développeurs qui contribuent à chaque version.",
"description": "Derrière chaque version, des personnes développent, relisent, traduisent et testent ProxMenux. Cette page remercie les contributeurs d'aujourd'hui comme ceux qui ont accompagné les premiers pas du projet.",
"ogTitle": "Contributeurs | Documentation ProxMenux",
"ogDescription": "Rencontrez les contributeurs derrière ProxMenux."
"ogDescription": "Derrière chaque version, des personnes développent, relisent, traduisent et testent ProxMenux. Cette page remercie les contributeurs d'aujourd'hui comme ceux qui ont accompagné les premiers pas du projet."
},
"header": {
"title": "Contributeurs",
"description": "Le projet ProxMenux grandit grâce à ses contributeurs. Cette page reconnaît leur travail : tester les versions avant leur publication, détecter les régressions, examiner les PR et orienter les nouvelles fonctionnalités.",
"description": "Derrière chaque version, des personnes développent, relisent, traduisent et testent ProxMenux. Cette page remercie les contributeurs d'aujourd'hui comme ceux qui ont accompagné les premiers pas du projet.",
"section": "À propos"
},
"beyond": {
"title": "Au-delà de cette liste",
"body": "De nombreuses autres personnes contribuent en signalant des bugs, en proposant des fonctionnalités dans Discussions, en testant les versions bêta ou en traduisant le projet. La liste complète des contributeurs au code figure dans le <extlink>graphique des contributeurs GitHub</extlink>. La page ci-dessous met en avant les personnes les plus actives dans les tests et la vérification des versions de ProxMenux."
"active": {
"heading": "Développement, revue et collaboration régulière",
"intro": "Vaso73, f3rs3n et jcastro participent régulièrement aux améliorations, aux corrections et aux revues. Leur travail ne se limite pas aux tests : il contribue aussi au développement et au débogage des prochaines versions.",
"people": {
"Vaso73": "Améliorations et corrections dans OCI manager et ProxMenux Monitor, ainsi que traduction et relecture des textes en slovaque.",
"f3rs3n": "Corrections et revue du comportement des scripts et du Monitor, avec des améliorations continues de la traduction italienne.",
"jcastro": "Développement et débogage des fonctions OCI, de sauvegarde et du Monitor, ainsi que revue de la documentation et tests depuis les débuts du projet."
}
},
"code": {
"heading": "D'autres contributions au code",
"intro": "Les personnes suivantes ont également proposé des modifications du code. Les liens permettent de découvrir leur travail ; l'historique GitHub recense les contributions et les pull requests intégrées.",
"viewWork": "Voir les contributions",
"history": "Historique des contributions",
"merged": "Voir toutes les PR intégrées"
},
"community": {
"heading": "Une communauté qui teste, traduit et documente aussi",
"body": "Tout le travail ne prend pas la forme de code. Reproduire un problème, partager des journaux utiles, tester du matériel différent, clarifier une explication ou proposer une amélioration aide aussi ProxMenux à progresser.",
"languages": "Merci tout particulièrement aux personnes qui relisent les textes dans leur langue. La traduction des menus, du Monitor et de la documentation rend le projet accessible à davantage de personnes et plus agréable à utiliser."
},
"testers": {
"heading": "Testeurs et évaluateurs",
"intro": "Ces personnes ont été parmi les premières à contribuer au projet. Leurs tests, signalements de problèmes et suggestions ont aidé ProxMenux à devenir ce qu’il est aujourd’hui.",
"roles": {
"testing": "Tests",
"testingReviewer": "Tests et relecture"
},
"heading": "Merci pour les premiers tests",
"intro": "Cette reconnaissance garde toute sa place. Ces personnes ont aidé à valider les premières versions, testé le projet sur leur matériel et partagé problèmes et suggestions lorsque ProxMenux commençait à grandir.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Vous voulez contribuer ?",
"intro": "Toute contribution est la bienvenue — code, test, conception, documentation, ou tout simplement partager vos idées:",
"tester": "<strong>Testeur</strong> — essayez le <beta>canal bêta</beta> et signalez ce qui fonctionne ou non avant la publication des versions stables.",
"developer": "<strong>Développeur</strong> — Bash, Next.js (TypeScript) et un peu de Python pour l’environnement virtuel de traduction (venv). Les PR sont les bienvenues sur <gh>GitHub</gh>.",
"designer": "<strong>Designer</strong> — Améliorations de l'interface utilisateur, icônes, captures d'écran pour la documentation.",
"ideas": "<strong>Idées</strong> — ouvrez un sujet dans <disc>GitHub Discussions</disc> avant de créer une issue pour demander une fonctionnalité."
"heading": "Votre contribution a aussi sa place",
"intro": "Une petite correction, un test précis ou la relecture d'un texte suffit pour aider. Il n'est pas nécessaire de développer une fonctionnalité complète.",
"ways": {
"code": {
"title": "Code et revue",
"body": "Développez des fonctionnalités, corrigez des erreurs ou relisez une PR. Le guide explique comment préparer et proposer vos modifications."
},
"testing": {
"title": "Tests et diagnostic",
"body": "Essayez les versions bêta et partagez les étapes de reproduction et les journaux utiles à la compréhension d'un problème."
},
"translations": {
"title": "Traductions",
"body": "Relisez les messages dans votre langue et aidez à les maintenir à jour lors de l'ajout de fonctionnalités."
},
"docs": {
"title": "Documentation et design",
"body": "Clarifiez un guide, ajoutez une capture ou améliorez l'interface pour faciliter son utilisation."
}
},
"guide": "Guide de contribution",
"discuss": "Échanger avec la communauté"
},
"coc": {
"title": "Lisez d'abord le Code de conduite",
"body": "Avant de proposer du code ou de signaler un problème, lisez le <coclink>Code de conduite et les bonnes pratiques</coclink>. Il précise les attentes sur la responsabilité du code, le signalement des vulnérabilités et le périmètre des PR."
"thanks": {
"title": "Merci de rendre ce projet possible",
"body": "À toutes les personnes citées ici et à celles qui aident dans une issue, une conversation ou un test : merci de consacrer votre temps à améliorer ProxMenux."
}
}
@@ -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": "Dépôt de l’image",
"converter": "Convertisseur",
+27 -27
View File
@@ -76,27 +76,41 @@
},
{
"id": "update",
"title": "Une mise à jour transactionnelle",
"title": "Comment se déroule une mise à jour et que se passe-t-il en cas d'échec",
"blocks": [
{
"p": "La mise à jour est transactionnelle : la nouvelle image est d'abord préparée et vérifiée ; une sauvegarde est ensuite créée et le système de fichiers de l'application est remplacé. La nouvelle version est validée uniquement après un contrôle de fonctionnement réussi. Si un échec survient après une modification du conteneur, une restauration de la sauvegarde précédente est tentée et son résultat est vérifié."
},
{
"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": "Utilisateur",
"registry": "Registre OCI",
"update": "Mettre à jour l'instance",
"resolve": "Résoudre la balise",
"verify": "Vérifier l’archive et effectuer les contrôles préalables",
"backup": "Arrêter et sauvegarder le CT",
"import": "Importer le nouveau rootfs",
"reapply": "Appliquer à nouveau le contrat",
"healthy": "sain",
"failure": "défaillance",
"commit": "Contrat publié avec le nouveau digest",
"restored": "instance précédente restaurée"
"registry": "Registre d'images OCI",
"update": "Mettre à jour l'application",
"resolve": "Identifier la nouvelle version",
"image": "Télécharger la nouvelle image",
"verify": "Vérifier l'image et les prérequis",
"backup": "Arrêter le conteneur et le sauvegarder",
"import": "Installer le nouveau système de fichiers",
"reapply": "Réappliquer la configuration enregistrée",
"start": "Démarrer et vérifier l'application",
"checked": "Résultat du contrôle de fonctionnement",
"healthy": "L'application fonctionne",
"failure": "La mise à jour échoue",
"commit": "Enregistrer la nouvelle version et configuration",
"updated": "Mise à jour terminée",
"rollback": "Restaurer et vérifier la sauvegarde précédente",
"recovered": "Restauration vérifiée",
"restored": "Version précédente restaurée",
"restoreFailed": "Restauration non vérifiée",
"manual": "Restauration en attente : examiner l'erreur"
}
}
},
{
"p": "Si la préparation ou les contrôles préalables échouent, la mise à jour s'arrête avant l'arrêt du conteneur. La restauration du conteneur ne rétablit pas les fichiers des répertoires partagés de l'hôte à une version antérieure."
},
{
"list": {
"items": [
@@ -240,13 +254,6 @@
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Boîte de dialogue qui énumère les conteneurs restaurés et propose de les récupérer",
"caption": "La récupération offerte lors de l'ouverture de la gestion des applications OCI installées."
}
},
{
"table": {
"headers": [
@@ -335,13 +342,6 @@
"title": "Un conteneur qui revient",
"body": "Un conteneur restauré sur lui-même à partir d'une ancienne sauvegarde, retourné à un instantané ou retourné d'un autre noeud porte le contrat de l'état dans lequel il est. Lorsqu'il est sélectionné pour une opération et que son contrat diffère de celui de cet hôte, l'opération ne démarre pas et le conteneur est offert pour récupération."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Résultat de la récupération avec le réseau privé, l’ordre de démarrage et les conteneurs enregistrés",
"caption": "Résultat d'une reprise, étape par étape."
}
}
]
},
+1 -1
View File
@@ -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": "Préparer chaque image",
"stop": "Stop, membre principal d'abord",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Contributori | Documentazione ProxMenux",
"description": "Un riconoscimento alle persone che rendono possibile ProxMenux: tester, revisori e sviluppatori che contribuiscono a ogni versione.",
"description": "Dietro ogni versione ci sono persone che sviluppano, revisionano, traducono e provano ProxMenux. Questa pagina ringrazia chi contribuisce oggi e chi ha aiutato il progetto a muovere i primi passi.",
"ogTitle": "Contributori | Documentazione ProxMenux",
"ogDescription": "Incontra i contributori dietro ProxMenux."
"ogDescription": "Dietro ogni versione ci sono persone che sviluppano, revisionano, traducono e provano ProxMenux. Questa pagina ringrazia chi contribuisce oggi e chi ha aiutato il progetto a muovere i primi passi."
},
"header": {
"title": "Contributori",
"description": "Il progetto ProxMenux cresce grazie ai suoi collaboratori. Questa pagina riconosce il loro lavoro: provare le versioni prima della pubblicazione, individuare regressioni, esaminare le PR e orientare le nuove funzionalità.",
"description": "Dietro ogni versione ci sono persone che sviluppano, revisionano, traducono e provano ProxMenux. Questa pagina ringrazia chi contribuisce oggi e chi ha aiutato il progetto a muovere i primi passi.",
"section": "Informazioni"
},
"beyond": {
"title": "Oltre questa lista",
"body": "Molte altre persone contribuiscono segnalando bug, proponendo funzionalità in Discussions, provando le versioni beta e traducendo il progetto. L’elenco completo dei collaboratori al codice si trova nel <extlink>grafico dei contributori di GitHub</extlink>. Questa pagina presenta chi partecipa più attivamente ai test e alla revisione delle versioni di ProxMenux."
"active": {
"heading": "Sviluppo, revisione e collaborazione continuativa",
"intro": "Vaso73, f3rs3n e jcastro partecipano regolarmente con miglioramenti, correzioni e revisioni. Il loro lavoro va oltre le prove di una versione: contribuisce anche a sviluppare e correggere quelle successive.",
"people": {
"Vaso73": "Miglioramenti e correzioni in OCI manager e ProxMenux Monitor, insieme alla traduzione e revisione dei testi in slovacco.",
"f3rs3n": "Correzioni e revisione del comportamento degli script e del Monitor, insieme a continui miglioramenti della traduzione italiana.",
"jcastro": "Sviluppo e correzione delle funzioni OCI, di backup e del Monitor, oltre alla revisione della documentazione e alle prove fin dagli inizi del progetto."
}
},
"code": {
"heading": "Altri contributi al codice",
"intro": "Anche le seguenti persone hanno contribuito con modifiche al codice. I collegamenti permettono di conoscere il loro lavoro; la cronologia di GitHub raccoglie i contributi e le pull request integrate.",
"viewWork": "Vedi i contributi",
"history": "Cronologia dei contributi",
"merged": "Vedi tutte le PR integrate"
},
"community": {
"heading": "Una comunità che prova, traduce e documenta",
"body": "Non tutto il lavoro arriva sotto forma di codice. Riprodurre un errore, condividere log utili, provare hardware diverso, chiarire una spiegazione o proporre un miglioramento aiuta ProxMenux a funzionare meglio.",
"languages": "Un ringraziamento speciale a chi rivede i testi nella propria lingua. Le traduzioni dei menu, del Monitor e della documentazione rendono il progetto accessibile a più persone e più comodo da usare."
},
"testers": {
"heading": "Tester e recensori",
"intro": "Queste persone sono state tra le prime a contribuire al progetto. I loro test, le segnalazioni di problemi e le proposte di miglioramento hanno aiutato ProxMenux a diventare ciò che è oggi.",
"roles": {
"testing": "Test",
"testingReviewer": "Test e revisione"
},
"heading": "Grazie per le prime prove",
"intro": "Questo riconoscimento mantiene il suo posto. Queste persone hanno aiutato a validare le prime versioni, provato il progetto sui propri dispositivi e condiviso errori e suggerimenti quando ProxMenux iniziava a crescere.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Vuoi contribuire?",
"intro": "Ogni contributo è benvenuto: codice, test, design, documentazione o anche solo la condivisione delle tue idee:",
"tester": "<strong>Tester</strong> — prova il canale <beta>beta</beta> e segnala ciò che funziona e ciò che non funziona prima delle versioni stabili.",
"developer": "<strong>Sviluppatore</strong> — Bash, Next.js (TypeScript) e un po’ di Python per l’ambiente virtuale di traduzione (venv). Le PR sono benvenute su <gh>GitHub</gh>.",
"designer": "<strong>Designer</strong> — Miglioramenti dell'interfaccia utente, icone, screenshot per la documentazione.",
"ideas": "<strong>Idee</strong> — apri una discussione in <disc>GitHub Discussions</disc> prima di creare una issue per richiedere una funzionalità."
"heading": "Anche il tuo contributo è benvenuto",
"intro": "Puoi aiutare con una piccola correzione, una prova specifica o la revisione di un testo. Non serve sviluppare una funzionalità completa.",
"ways": {
"code": {
"title": "Codice e revisione",
"body": "Sviluppa funzionalità, correggi errori o revisiona una PR. La guida spiega come preparare e proporre le modifiche."
},
"testing": {
"title": "Prove e diagnosi",
"body": "Prova le versioni beta e condividi i passaggi per riprodurre un problema e i log utili a comprenderlo."
},
"translations": {
"title": "Traduzioni",
"body": "Rivedi i messaggi nella tua lingua e aiuta a mantenerli aggiornati quando vengono aggiunte nuove funzionalità."
},
"docs": {
"title": "Documentazione e design",
"body": "Chiarisci una guida, aggiungi una schermata o migliora l'interfaccia per aiutare altre persone a seguirla."
}
},
"guide": "Guida ai contributi",
"discuss": "Parla con la comunità"
},
"coc": {
"title": "Leggi prima il codice di condotta",
"body": "Prima di proporre codice o segnalare problemi, leggi il <coclink>Codice di condotta e le buone pratiche</coclink>. Descrive le aspettative sulla responsabilità del codice, sulla segnalazione delle vulnerabilità e sull’ambito delle PR."
"thanks": {
"title": "Grazie per renderlo possibile",
"body": "A chi compare qui e a chi aiuta in una issue, una conversazione o una prova: grazie per il tempo dedicato a migliorare ProxMenux."
}
}
@@ -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": "Repository dell’immagine",
"converter": "Convertitore",
+27 -27
View File
@@ -76,27 +76,41 @@
},
{
"id": "update",
"title": "Un aggiornamento transazionale",
"title": "Come avviene un aggiornamento e cosa succede se fallisce",
"blocks": [
{
"p": "L'aggiornamento è transazionale: prima si prepara e verifica la nuova immagine; poi si crea un backup e si sostituisce il filesystem dell'applicazione. La nuova versione viene confermata solo dopo una verifica di funzionamento riuscita. Se si verifica un errore dopo una modifica al contenitore, si tenta il ripristino del backup precedente e se ne verifica il risultato."
},
{
"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": "Utente",
"registry": "Registro OCI",
"update": "Aggiorna istanza",
"resolve": "Risolvere il tag",
"verify": "Verifica archivio e controlli preliminari",
"backup": "Arresta e salva un backup del CT",
"import": "Importa il nuovo rootfs",
"reapply": "Applicare nuovamente il contratto",
"healthy": "integro",
"failure": "guasto",
"commit": "Contratto pubblicato con il nuovo digest",
"restored": "Precedente istanza ripristinata"
"registry": "Registro di immagini OCI",
"update": "Aggiornare l'applicazione",
"resolve": "Identificare la nuova versione",
"image": "Scaricare la nuova immagine",
"verify": "Verificare immagine e requisiti",
"backup": "Arrestare il contenitore e creare il backup",
"import": "Installare il nuovo filesystem",
"reapply": "Riapplicare la configurazione salvata",
"start": "Avviare e verificare l'applicazione",
"checked": "Risultato della verifica di funzionamento",
"healthy": "L'applicazione funziona",
"failure": "L'aggiornamento fallisce",
"commit": "Salvare nuova versione e configurazione",
"updated": "Aggiornamento completato",
"rollback": "Ripristinare e verificare il backup precedente",
"recovered": "Ripristino verificato",
"restored": "Versione precedente ripristinata",
"restoreFailed": "Ripristino non verificato",
"manual": "Ripristino in sospeso: controllare l'errore"
}
}
},
{
"p": "Se la preparazione o i controlli preliminari falliscono, l'aggiornamento si interrompe prima di arrestare il contenitore. Il ripristino del backup del contenitore non riporta a una versione precedente i file nelle directory condivise dell'host."
},
{
"list": {
"items": [
@@ -240,13 +254,6 @@
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Finestra di dialogo che elenca i contenitori ripristinati e ne propone il recupero",
"caption": "Il recupero offerto quando si apre Gestione applicazioni OCI installate."
}
},
{
"table": {
"headers": [
@@ -335,13 +342,6 @@
"title": "Un contenitore che ritorna",
"body": "Un contenitore ripristinato su se stesso da un backup precedente, riportato a uno snapshot o rientrato da un altro nodo porta il contratto dello stato in cui si trova. Se viene selezionato per un’operazione e il suo contratto differisce da quello dell’host, l’operazione non parte e viene proposto il recupero del contenitore."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Risultato del recupero con la rete privata, l’ordine di avvio e i contenitori registrati",
"caption": "Il risultato di un recupero, passo dopo passo."
}
}
]
},
+1 -1
View File
@@ -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": "Preparare ogni immagine",
"stop": "Stop, primo membro principale",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Colaboradores | Documentação ProxMenux",
"description": "Reconhecimento às pessoas que tornam o ProxMenux possível: quem testa, revê e desenvolve cada versão.",
"description": "Por trás de cada versão há pessoas que desenvolvem, revêm, traduzem e testam o ProxMenux. Esta página agradece tanto o trabalho atual como a ajuda que tornou possíveis os primeiros passos do projeto.",
"ogTitle": "Colaboradores | Documentação ProxMenux",
"ogDescription": "Conheça os colaboradores por trás do ProxMenux."
"ogDescription": "Por trás de cada versão há pessoas que desenvolvem, revêm, traduzem e testam o ProxMenux. Esta página agradece tanto o trabalho atual como a ajuda que tornou possíveis os primeiros passos do projeto."
},
"header": {
"title": "Colaboradores",
"description": "O projeto ProxMenux cresce graças aos seus colaboradores. Esta página reconhece o seu trabalho: testar versões antes da publicação, detetar regressões, rever PR e ajudar a orientar novas funcionalidades.",
"description": "Por trás de cada versão há pessoas que desenvolvem, revêm, traduzem e testam o ProxMenux. Esta página agradece tanto o trabalho atual como a ajuda que tornou possíveis os primeiros passos do projeto.",
"section": "Sobre"
},
"beyond": {
"title": "Para além desta lista",
"body": "Muitas outras pessoas contribuem ao comunicar erros, propor funcionalidades em Discussions, testar versões beta e traduzir o projeto. A lista completa de colaboradores do código está no <extlink>gráfico de colaboradores do GitHub</extlink>. Esta página destaca quem participa mais ativamente nos testes e na revisão das versões do ProxMenux."
"active": {
"heading": "Desenvolvimento, revisão e colaboração contínua",
"intro": "Vaso73, f3rs3n e jcastro participam regularmente com melhorias, correções e revisões. O seu trabalho vai além de testar uma versão: também ajuda a construir e depurar as seguintes.",
"people": {
"Vaso73": "Melhorias e correções no OCI manager e no ProxMenux Monitor, além da tradução e revisão dos textos em eslovaco.",
"f3rs3n": "Correções e revisão do comportamento dos scripts e do Monitor, juntamente com melhorias contínuas da tradução italiana.",
"jcastro": "Desenvolvimento e depuração de funções OCI, cópias de segurança e Monitor, além da revisão de documentação e testes desde os primeiros passos do projeto."
}
},
"code": {
"heading": "Mais contribuições para o código",
"intro": "As pessoas seguintes também contribuíram com alterações ao código. Os links permitem conhecer o seu trabalho; o histórico do GitHub reúne as contribuições e as pull requests integradas.",
"viewWork": "Ver contribuições",
"history": "Histórico de contribuições",
"merged": "Ver todas as PR integradas"
},
"community": {
"heading": "Uma comunidade que também testa, traduz e documenta",
"body": "Nem todo o trabalho chega sob a forma de código. Reproduzir um erro, partilhar registos úteis, testar outro hardware, esclarecer uma explicação ou propor uma melhoria também ajuda o ProxMenux.",
"languages": "Um agradecimento especial a quem revê os textos na sua língua. As traduções dos menus, do Monitor e da documentação tornam o projeto acessível a mais pessoas e mais cómodo de utilizar."
},
"testers": {
"heading": "Testadores e revisores",
"intro": "Estas pessoas estiveram entre as primeiras a contribuir para o projeto. Os seus testes, relatos de problemas e sugestões de melhoria ajudaram o ProxMenux a tornar-se no que é hoje.",
"roles": {
"testing": "Teste",
"testingReviewer": "Testes e revisão"
},
"heading": "Obrigado pelos primeiros testes",
"intro": "Este reconhecimento continua a ter o seu lugar. Estas pessoas ajudaram a validar as primeiras versões, testaram o projeto nos seus equipamentos e partilharam erros e sugestões quando o ProxMenux começava a crescer.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Queres contribuir?",
"intro": "Todos os contributos são bem-vindos: código, testes, design, documentação ou simplesmente partilhar ideias:",
"tester": "<strong>Testes</strong> — experimente o <beta>canal beta</beta> e comunique o que funciona ou não antes da publicação das versões estáveis.",
"developer": "<strong>Desenvolvimento</strong> — Bash, Next.js (TypeScript) e algum Python para o ambiente virtual de tradução (venv). Os PR são bem-vindos no <gh>GitHub</gh>.",
"designer": "<strong>Designer</strong> — Melhorias de interface, ícones, capturas de tela para documentação.",
"ideas": "<strong>Ideias</strong> — abra um tópico em <disc>GitHub Discussions</disc> antes de criar uma issue para pedir uma funcionalidade."
"heading": "A tua contribuição também tem lugar",
"intro": "Podes ajudar com uma pequena correção, um teste específico ou a revisão de um texto. Não é preciso desenvolver uma funcionalidade completa.",
"ways": {
"code": {
"title": "Código e revisão",
"body": "Desenvolve funcionalidades, corrige erros ou revê uma PR. O guia explica como preparar e propor alterações."
},
"testing": {
"title": "Testes e diagnóstico",
"body": "Experimenta as versões beta e partilha passos para reproduzir um problema e registos que ajudem a compreendê-lo."
},
"translations": {
"title": "Traduções",
"body": "Revê as mensagens na tua língua e ajuda a mantê-las atualizadas quando se acrescentam funcionalidades."
},
"docs": {
"title": "Documentação e design",
"body": "Esclarece um guia, acrescenta uma captura ou melhora a interface para facilitar a utilização por outras pessoas."
}
},
"guide": "Guia de contribuição",
"discuss": "Falar com a comunidade"
},
"coc": {
"title": "Leia primeiro o Código de Conduta",
"body": "Antes de propor código ou comunicar problemas, leia o <coclink>Código de conduta e as boas práticas</coclink>. Explica as expectativas sobre a responsabilidade pelo código, a comunicação de vulnerabilidades e o âmbito dos PR."
"thanks": {
"title": "Obrigado por tornarem isto possível",
"body": "A quem aparece aqui e a quem ajuda numa issue, numa conversa ou num teste: obrigado pelo tempo dedicado a melhorar o ProxMenux."
}
}
@@ -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": "Repositório da imagem",
"converter": "Conversor",
+27 -27
View File
@@ -76,27 +76,41 @@
},
{
"id": "update",
"title": "Uma atualização transacional",
"title": "Como funciona uma atualização e o que acontece se falhar",
"blocks": [
{
"p": "A atualização é transacional: primeiro prepara-se e verifica-se a nova imagem; depois cria-se uma cópia de segurança e substitui-se o sistema de ficheiros da aplicação. A nova versão só é confirmada após passar a verificação de funcionamento. Se ocorrer uma falha após modificar o contentor, tenta-se restaurar a cópia anterior e verifica-se o 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": "Usuário",
"registry": "Registo de OCI",
"update": "Atualizar instância",
"resolve": "Resolver a etiqueta",
"verify": "Verificar o arquivo e executar as verificações prévias",
"backup": "Pare e faça backup do CT",
"import": "Importar o novo rootfs",
"reapply": "Aplicar o contrato novamente",
"healthy": "íntegro",
"failure": "falha",
"commit": "Contrato publicado com o novo digest",
"restored": "A instância anterior foi restaurada"
"registry": "Registo de imagens OCI",
"update": "Atualizar a aplicação",
"resolve": "Identificar a nova versão",
"image": "Descarregar a nova imagem",
"verify": "Verificar imagem e requisitos",
"backup": "Parar o contentor e criar a cópia de segurança",
"import": "Instalar o novo sistema de ficheiros",
"reapply": "Reaplicar a configuração guardada",
"start": "Iniciar e verificar a aplicação",
"checked": "Resultado da verificação de funcionamento",
"healthy": "A aplicação funciona",
"failure": "A atualização falha",
"commit": "Guardar a nova versão e configuração",
"updated": "Atualização concluída",
"rollback": "Restaurar e verificar a cópia anterior",
"recovered": "Recuperação verificada",
"restored": "Versão anterior restaurada",
"restoreFailed": "Recuperação não verificada",
"manual": "Recuperação pendente: verificar o erro"
}
}
},
{
"p": "Se a preparação ou as verificações prévias falharem, a atualização é interrompida antes de parar o contentor. Restaurar a cópia do contentor não repõe versões anteriores dos ficheiros nos diretórios partilhados do host."
},
{
"list": {
"items": [
@@ -240,13 +254,6 @@
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Diálogo que lista os contentores restaurados e oferece a sua recuperação",
"caption": "A recuperação oferecida quando Gerenciar aplicativos OCI instalados abre."
}
},
{
"table": {
"headers": [
@@ -335,13 +342,6 @@
"title": "Um contentor que volta",
"body": "Um contentor restaurado sobre si próprio a partir de uma cópia de segurança anterior, reposto num snapshot ou devolvido de outro nó transporta o contrato do estado em que se encontra. Se for selecionado para uma operação e o seu contrato diferir do deste host, a operação não começa e é oferecida a recuperação do contentor."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Resultado da recuperação com a rede privada, a ordem de início e os contentores registados",
"caption": "Resultado de uma recuperação, passo a passo."
}
}
]
},
+1 -1
View File
@@ -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 cada imagem",
"stop": "Parar, membro principal primeiro",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Prispievatelia | Dokumentácia ProxMenux",
"description": "Poďakovanie ľuďom, vďaka ktorým ProxMenux vzniká: testerom, kontrolórom a vývojárom, ktorí sa podieľajú na každom vydaní.",
"description": "Za každou verziou sú ľudia, ktorí ProxMenux vyvíjajú, kontrolujú, prekladajú a testujú. Táto stránka ďakuje dnešným prispievateľom aj tým, ktorí pomohli projektu pri prvých krokoch.",
"ogTitle": "Prispievatelia | Dokumentácia ProxMenux",
"ogDescription": "Zoznámte sa s prispievateľmi ProxMenux."
"ogDescription": "Za každou verziou sú ľudia, ktorí ProxMenux vyvíjajú, kontrolujú, prekladajú a testujú. Táto stránka ďakuje dnešným prispievateľom aj tým, ktorí pomohli projektu pri prvých krokoch."
},
"header": {
"title": "Prispievatelia",
"description": "Projekt ProxMenux rastie vďaka svojim prispievateľom. Táto stránka oceňuje ich prácu: testovanie zostáv pred vydaním, odhaľovanie regresií, kontrolu PR a formovanie nových funkcií.",
"description": "Za každou verziou sú ľudia, ktorí ProxMenux vyvíjajú, kontrolujú, prekladajú a testujú. Táto stránka ďakuje dnešným prispievateľom aj tým, ktorí pomohli projektu pri prvých krokoch.",
"section": "O projekte"
},
"beyond": {
"title": "Ďalší prispievatelia",
"body": "Mnohí ďalší ľudia prispievajú hlásením chýb, návrhmi funkcií v Discussions, beta testovaním a prekladmi. Úplný zoznam prispievateľov do kódu nájdete v <extlink>grafe prispievateľov na GitHube</extlink>. Táto stránka vyzdvihuje ľudí, ktorí sa najaktívnejšie zapájajú do testovania a kontroly vydaní ProxMenuxu."
"active": {
"heading": "Vývoj, kontrola a pravidelná spolupráca",
"intro": "Vaso73, f3rs3n a jcastro pravidelne prispievajú vylepšeniami, opravami a kontrolami. Ich práca presahuje testovanie verzie: pomáha aj vytvárať a odlaďovať tie nasledujúce.",
"people": {
"Vaso73": "Vylepšenia a opravy v OCI manager a ProxMenux Monitor, ako aj preklad a kontrola slovenských textov.",
"f3rs3n": "Opravy a kontrola správania skriptov a Monitora spolu s priebežným zlepšovaním talianskeho prekladu.",
"jcastro": "Vývoj a ladenie funkcií OCI, zálohovania a Monitora, ako aj kontrola dokumentácie a testovanie od začiatkov projektu."
}
},
"code": {
"heading": "Ďalšie príspevky do kódu",
"intro": "Aj nasledujúci ľudia prispeli zmenami kódu. Odkazy umožňujú spoznať ich prácu; história GitHubu zachytáva príspevky a začlenené pull requesty.",
"viewWork": "Zobraziť príspevky",
"history": "História príspevkov",
"merged": "Všetky začlenené PR"
},
"community": {
"heading": "Komunita, ktorá aj testuje, prekladá a dokumentuje",
"body": "Nie každá práca má podobu kódu. Zopakovanie chyby, užitočné protokoly, testovanie iného hardvéru, zrozumiteľnejšie vysvetlenie alebo návrh zlepšenia tiež pomáhajú ProxMenuxu.",
"languages": "Osobitná vďaka patrí ľuďom, ktorí kontrolujú texty vo svojom jazyku. Preklady ponúk, Monitora a dokumentácie sprístupňujú projekt ďalším ľuďom a uľahčujú jeho používanie."
},
"testers": {
"heading": "Testeri a kontrolóri",
"intro": "Títo ľudia patrili medzi prvých prispievateľov do projektu. Testovaním, hlásením problémov a návrhmi zlepšení pomohli ProxMenuxu vyrásť do dnešnej podoby.",
"roles": {
"testing": "Testovanie",
"testingReviewer": "Testovanie a kontrola"
},
"heading": "Vďaka za prvé testy",
"intro": "Toto poďakovanie má stále svoje miesto. Títo ľudia pomáhali overovať prvé verzie, testovali projekt na vlastnom vybavení a zdieľali chyby a návrhy, keď ProxMenux začínal rásť.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Chceš prispieť?",
"intro": "Akýkoľvek príspevok je vítaný – kód, testovanie, dizajn, dokumentácia alebo len zdieľanie nápadov:",
"tester": "<strong>Tester</strong> — vyskúšajte <beta>beta kanál</beta> a pred stabilným vydaním nahláste, čo funguje a čo nie.",
"developer": "<strong>Vývojár</strong> — Bash, Next.js (TypeScript) a trochu Pythonu pre virtuálne prostredie prekladov (venv). PR na <gh>GitHube</gh> sú vítané.",
"designer": "<strong>Dizajnér</strong> — vylepšenia používateľského rozhrania, ikony a snímky obrazovky pre dokumentáciu.",
"ideas": "<strong>Nápady</strong> — pred vytvorením požiadavky na novú funkciu otvorte tému v <disc>GitHub Discussions</disc>."
"heading": "Aj tvoj príspevok je vítaný",
"intro": "Pomôcť môžeš malou opravou, konkrétnym testom alebo kontrolou textu. Nemusíš vytvoriť celú funkciu.",
"ways": {
"code": {
"title": "Kód a kontrola",
"body": "Vyvíjaj funkcie, opravuj chyby alebo skontroluj PR. Príručka vysvetľuje, ako pripraviť a navrhnúť zmeny."
},
"testing": {
"title": "Testovanie a diagnostika",
"body": "Vyskúšaj beta verzie a zdieľaj postup na zopakovanie problému aj protokoly, ktoré pomôžu pochopiť ho."
},
"translations": {
"title": "Preklady",
"body": "Kontroluj správy vo svojom jazyku a pomôž ich udržiavať aktuálne pri pridávaní funkcií."
},
"docs": {
"title": "Dokumentácia a dizajn",
"body": "Spresni návod, pridaj snímku obrazovky alebo zlepši rozhranie, aby sa v ňom ostatní ľahšie vyznali."
}
},
"guide": "Príručka pre prispievateľov",
"discuss": "Diskutovať s komunitou"
},
"coc": {
"title": "Najprv si prečítajte kódex správania",
"body": "Pred odoslaním kódu alebo nahlásením problému si prečítajte <coclink>Pravidlá správania a osvedčené postupy</coclink>. Opisujú očakávania týkajúce sa zodpovednosti za kód, oznamovania bezpečnostných chýb a rozsahu PR."
"thanks": {
"title": "Ďakujeme, že to umožňujete",
"body": "Všetkým tu uvedeným aj tým, ktorí pomáhajú v issue, rozhovore či pri teste: ďakujeme za čas venovaný zlepšovaniu ProxMenuxu."
}
}
@@ -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": "Repozitár obrazu",
"converter": "Konvertor",
+27 -27
View File
@@ -76,27 +76,41 @@
},
{
"id": "update",
"title": "Transakčná aktualizácia",
"title": "Ako prebieha aktualizácia a čo sa stane pri zlyhaní",
"blocks": [
{
"p": "Aktualizácia je transakčná: najprv sa pripraví a overí nový obraz, potom sa vytvorí záloha a nahradí súborový systém aplikácie. Nová verzia sa potvrdí až po úspešnej kontrole funkčnosti. Ak po zmene kontajnera nastane chyba, vykoná sa pokus o obnovu predchádzajúcej zálohy a overí sa výsledok."
},
{
"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": "Používateľ",
"registry": "Register OCI",
"update": "Aktualizovať inštanciu",
"resolve": "Zistiť obraz podľa značky",
"verify": "Overiť archív a vykonať predbežné kontroly",
"backup": "Zastaviť a zálohovať CT",
"import": "Importovať nové rootfs",
"reapply": "Znova použiť kontrakt",
"healthy": "v poriadku",
"failure": "zlyhanie",
"commit": "Kontrakt zverejnený s novým digestom",
"restored": "Predchádzajúca inštancia obnovená"
"registry": "Register obrazov OCI",
"update": "Aktualizovať aplikáciu",
"resolve": "Určiť novú verziu",
"image": "Stiahnuť nový obraz",
"verify": "Overiť obraz a požiadavky",
"backup": "Zastaviť kontajner a vytvoriť zálohu",
"import": "Nainštalovať nový súborový systém",
"reapply": "Použiť uloženú konfiguráciu",
"start": "Spustiť a skontrolovať aplikáciu",
"checked": "Výsledok kontroly funkčnosti",
"healthy": "Aplikácia funguje",
"failure": "Aktualizácia zlyhá",
"commit": "Uložiť novú verziu a konfiguráciu",
"updated": "Aktualizácia dokončená",
"rollback": "Obnoviť a skontrolovať predchádzajúcu zálohu",
"recovered": "Obnova je overená",
"restored": "Predchádzajúca verzia obnovená",
"restoreFailed": "Obnova nie je overená",
"manual": "Obnova čaká: skontrolujte chybu"
}
}
},
{
"p": "Ak príprava alebo predbežné kontroly zlyhajú, aktualizácia sa preruší ešte pred zastavením kontajnera. Obnova zálohy kontajnera nevracia súbory v zdieľaných adresároch hostiteľa do predchádzajúceho stavu."
},
{
"list": {
"items": [
@@ -240,13 +254,6 @@
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Dialóg, ktorý uvádza obnovené kontajnery a ponúka ich obnoviť",
"caption": "Obnova ponúknutá po otvorení Spravovať nainštalované aplikácie OCI."
}
},
{
"table": {
"headers": [
@@ -335,13 +342,6 @@
"title": "Kontajner, ktorý sa vráti",
"body": "Kontajner obnovený s pôvodným ID zo staršej zálohy, vrátený do snímky alebo presunutý späť z iného uzla nesie kontrakt svojho aktuálneho stavu. Ak sa pri výbere na operáciu jeho kontrakt líši od kontraktu na tomto hostiteľovi, operácia sa nespustí a ponúkne sa obnova kontajnera."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Výsledok obnovy so súkromnou sieťou, poradím spúšťania a zaregistrovanými kontajnermi",
"caption": "Výsledok zotavenia, krok za krokom."
}
}
]
},
+1 -1
View File
@@ -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": "Pripravte každý obraz",
"stop": "Stop, hlavný člen prvý",
+50 -21
View File
@@ -1,38 +1,67 @@
{
"meta": {
"title": "Bidragsgivare | ProxMenux-dokumentation",
"description": "Ett erkännande till dem som gör ProxMenux möjligt: testare, granskare och utvecklare som bidrar till varje version.",
"description": "Bakom varje version finns människor som utvecklar, granskar, översätter och testar ProxMenux. Den här sidan tackar både dagens bidragsgivare och dem som hjälpte projektet att ta sina första steg.",
"ogTitle": "Bidragsgivare | ProxMenux-dokumentation",
"ogDescription": "Möt bidragsgivarna bakom ProxMenux."
"ogDescription": "Bakom varje version finns människor som utvecklar, granskar, översätter och testar ProxMenux. Den här sidan tackar både dagens bidragsgivare och dem som hjälpte projektet att ta sina första steg."
},
"header": {
"title": "Bidragsgivare",
"description": "ProxMenux växer tack vare sina bidragsgivare. Den här sidan uppmärksammar deras arbete: att testa versioner före publicering, hitta regressioner, granska PR:ar och påverka utvecklingen av nya funktioner.",
"description": "Bakom varje version finns människor som utvecklar, granskar, översätter och testar ProxMenux. Den här sidan tackar både dagens bidragsgivare och dem som hjälpte projektet att ta sina första steg.",
"section": "Om"
},
"beyond": {
"title": "Utöver denna lista",
"body": "Många fler bidrar genom felrapporter, funktionsförslag i Discussions, betatestning och översättningar. Den fullständiga listan över kodbidragsgivare finns i <extlink>GitHubs bidragsgivargraf</extlink>. Den här sidan lyfter fram dem som är mest aktiva med att testa och granska ProxMenux-versioner."
"active": {
"heading": "Utveckling, granskning och löpande samarbete",
"intro": "Vaso73, f3rs3n och jcastro bidrar regelbundet med förbättringar, rättningar och granskningar. Arbetet handlar om mer än att testa en version: de hjälper också till att bygga och felsöka nästa.",
"people": {
"Vaso73": "Förbättringar och rättningar i OCI manager och ProxMenux Monitor samt översättning och granskning av slovakiska texter.",
"f3rs3n": "Rättningar och granskning av skriptens och Monitors beteende tillsammans med löpande förbättringar av den italienska översättningen.",
"jcastro": "Utveckling och felsökning av OCI-, säkerhetskopierings- och Monitor-funktioner samt dokumentationsgranskning och tester sedan projektets början."
}
},
"code": {
"heading": "Fler bidrag till koden",
"intro": "Följande personer har också bidragit med kodändringar. Länkarna visar deras arbete; GitHubs historik samlar bidragen och de pull requests som har slagits samman.",
"viewWork": "Visa bidrag",
"history": "Bidragshistorik",
"merged": "Visa alla sammanslagna PR"
},
"community": {
"heading": "En gemenskap som också testar, översätter och dokumenterar",
"body": "Allt arbete är inte kod. Att återskapa ett fel, dela användbara loggar, testa annan hårdvara, förtydliga en förklaring eller föreslå en förbättring hjälper också ProxMenux framåt.",
"languages": "Ett särskilt tack till alla som granskar texter på sitt eget språk. Översättningar av menyerna, Monitor och dokumentationen gör projektet tillgängligt för fler och bekvämare att använda."
},
"testers": {
"heading": "Testare och granskare",
"intro": "De här personerna var bland de första att bidra till projektet. Deras tester, felrapporter och förbättringsförslag hjälpte ProxMenux att bli vad det är i dag.",
"roles": {
"testing": "Testning",
"testingReviewer": "Testning och granskning"
},
"heading": "Tack för de första testerna",
"intro": "Det här erkännandet har fortfarande sin plats. Dessa personer hjälpte till att validera tidiga versioner, testade projektet på sin egen utrustning och delade problem och förslag när ProxMenux började växa.",
"youtube": "YouTube"
},
"contribute": {
"heading": "Vill du bidra?",
"intro": "Alla bidrag är välkomna - kod, testning, design, dokumentation eller bara dela dina idéer:",
"tester": "<strong>Testare</strong> — prova <beta>betakanalen</beta> och rapportera vad som fungerar och vad som inte fungerar före de stabila versionerna.",
"developer": "<strong>Utvecklare</strong> — Bash, Next.js (TypeScript) och lite Python för översättningens virtuella miljö (venv). PR:ar välkomnas på <gh>GitHub</gh>.",
"designer": "<strong>Designer</strong> — UI förbättringar, ikoner, skärmdumpar för dokumentation.",
"ideas": "<strong>Idéer</strong> — öppna en tråd i <disc>GitHub Discussions</disc> innan du skapar ett ärende med ett funktionsförslag."
"heading": "Ditt bidrag är också välkommet",
"intro": "Du kan hjälpa till med en liten rättning, ett specifikt test eller en textgranskning. Du behöver inte utveckla en hel funktion.",
"ways": {
"code": {
"title": "Kod och granskning",
"body": "Utveckla funktioner, rätta fel eller granska en PR. Bidragsguiden förklarar hur du förbereder och föreslår ändringar."
},
"testing": {
"title": "Tester och diagnostik",
"body": "Prova betaversioner och dela steg för att återskapa problem samt loggar som hjälper andra att förstå dem."
},
"translations": {
"title": "Översättningar",
"body": "Granska meddelanden på ditt språk och hjälp till att hålla dem aktuella när nya funktioner läggs till."
},
"docs": {
"title": "Dokumentation och design",
"body": "Förtydliga en guide, lägg till en skärmbild eller förbättra gränssnittet så att andra lättare kan följa med."
}
},
"guide": "Bidragsguide",
"discuss": "Prata med gemenskapen"
},
"coc": {
"title": "Läs uppförandekoden först",
"body": "Läs <coclink>uppförandekoden och rekommenderade arbetssätt</coclink> innan du skickar in kod eller rapporterar problem. Där beskrivs förväntningar på kodansvar, rapportering av säkerhetsbrister och omfattningen av PR:ar."
"thanks": {
"title": "Tack för att ni gör det möjligt",
"body": "Till alla som nämns här och alla som hjälper till i en issue, ett samtal eller ett test: tack för tiden ni lägger på att förbättra ProxMenux."
}
}
@@ -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": "Avbildningens arkiv",
"converter": "Konverterare",
+27 -27
View File
@@ -76,27 +76,41 @@
},
{
"id": "update",
"title": "En transaktionell uppdatering",
"title": "Så fungerar en uppdatering och vad händer om den misslyckas",
"blocks": [
{
"p": "Uppdateringen är transaktionell: först förbereds och verifieras den nya avbildningen. Därefter skapas en säkerhetskopia och applikationens filsystem ersätts. Den nya versionen bekräftas först efter en godkänd funktionskontroll. Om något misslyckas efter att containern ändrats försöker systemet återställa den tidigare säkerhetskopian och verifierar resultatet."
},
{
"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": "Användare",
"registry": "OCI-registret",
"update": "Uppdatera instans",
"resolve": "Slå upp taggen",
"verify": "Verifiera arkivet och kör förkontroller",
"backup": "Stoppa och säkerhetskopiera CT:n",
"import": "Importera det nya rootfs",
"reapply": "Applicera kontraktet igen",
"healthy": "frisk",
"failure": "misslyckande",
"commit": "Kontraktet publiceras med den nya digesten",
"restored": "Tidigare instans återställd"
"registry": "OCI-avbildningsregister",
"update": "Uppdatera applikationen",
"resolve": "Identifiera den nya versionen",
"image": "Hämta den nya avbildningen",
"verify": "Verifiera avbildning och krav",
"backup": "Stoppa containern och säkerhetskopiera",
"import": "Installera det nya filsystemet",
"reapply": "Tillämpa den sparade konfigurationen",
"start": "Starta och kontrollera applikationen",
"checked": "Resultat av funktionskontrollen",
"healthy": "Applikationen fungerar",
"failure": "Uppdateringen misslyckas",
"commit": "Spara den nya versionen och konfigurationen",
"updated": "Uppdateringen slutförd",
"rollback": "Återställ och kontrollera tidigare säkerhetskopia",
"recovered": "Återställningen har verifierats",
"restored": "Tidigare version återställd",
"restoreFailed": "Återställningen har inte verifierats",
"manual": "Återställning väntar: granska felet"
}
}
},
{
"p": "Om förberedelser eller förhandskontroller misslyckas avbryts uppdateringen innan containern stoppas. Återställning av containerns säkerhetskopia återställer inte tidigare versioner av filer i värdens delade kataloger."
},
{
"list": {
"items": [
@@ -240,13 +254,6 @@
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Dialog som listar de restaurerade containrarna och erbjuder att återställa dem",
"caption": "Återställningen som erbjuds när Hantera installerade OCI-program öppnas."
}
},
{
"table": {
"headers": [
@@ -335,13 +342,6 @@
"title": "En container som kommer tillbaka",
"body": "En container som återlästs över sig själv från en äldre säkerhetskopia, återställts till en ögonblicksbild eller återvänt från en annan nod bär kontraktet för sitt nuvarande tillstånd. Om den väljs för en åtgärd och dess kontrakt skiljer sig från värdens startar åtgärden inte, och containern erbjuds för återställning."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Resultatet av återhämtningen med det privata nätverket, startordern och de registrerade containrarna",
"caption": "Resultatet av en återhämtning steg för steg."
}
}
]
},
+1 -1
View File
@@ -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": "Förbered varje avbildning",
"stop": "Sluta, huvudmedlem först",