diff --git a/web/messages/de/docs/monitor/access-auth.json b/web/messages/de/docs/monitor/access-auth.json
index 305456c1..ac45b7de 100644
--- a/web/messages/de/docs/monitor/access-auth.json
+++ b/web/messages/de/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Dashboard öffnen",
- "intro": "ProxMenux Monitor lauscht auf 0.0.0.0:8008. Drei übliche Zugriffswege:",
+ "intro": "ProxMenux Monitor lauscht auf TCP 8008 auf allen Schnittstellen (::, IPv4 und IPv6). Drei übliche Zugriffswege:",
"outro": "Direktzugriff entspricht der Standard-systemd-Unit. Reverse-Proxy und Secure Gateway werden unten beschrieben. Das Vertrauen in Client-IPs aus X-Forwarded-For erfordert PROXMENUX_TRUST_PROXY=1 und einen von Ihnen kontrollierten Proxy. X-Forwarded-Proto oder X-Forwarded-Host allein aktivieren das Proxy-Vertrauen nicht. Auf den Ports 80/443 verwendet das Frontend relative /api/*-URLs; auf jedem anderen Port ruft es Port 8008 unter demselben Hostnamen auf."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json - was es enthält und wie es geschützt ist",
"authJsonBody": "Die Authentifizierungsdaten liegen in /root/.config/proxmenux-monitor/auth.json, mit Modus 0600 und Eigentümer root. Die Datei enthält Hashes (PBKDF2) und geheimes Schlüsselmaterial (jwt_secret, totp_secret), niemals das Klartextpasswort. Sichern oder replizieren Sie den Host nur auf ein verschlüsseltes Ziel und nehmen Sie diese Datei niemals in die Versionsverwaltung auf.",
"rotateTitle": "Ein Wechsel von jwt_secret macht bestehende JWTs ungültig",
- "rotateBody": "Wird auth.json neu erstellt oder mit einem anderen Geheimnis wiederhergestellt, ändert sich jwt_secret. Bisherige Sitzungs- und API-Tokens scheitern dann mit „Invalid or expired token“. Die Oberfläche kennzeichnet betroffene Tokens mit Ungültig — neu erstellen. Widerrufen und ersetzen Sie sie auch in Home Assistant, Skripten und anderen Clients.",
+ "rotateBody": "Wird auth.json neu erstellt oder mit einem anderen Geheimnis wiederhergestellt, ändert sich jwt_secret. Bisherige Sitzungs- und API-Tokens scheitern dann mit „Invalid or expired token“. Die Oberfläche markiert betroffene API-Tokens rot, mit einem Badge, das zum Widerrufen und Neuerstellen auffordert. Danach benötigen auch Home Assistant, Skripte und andere externe Clients ein neues Token.",
"recoverTitle": "Wiederherstellen eines verlorenen Passworts",
"recoverIntro": "Es gibt keinen Online-Fluss für \"Passwort vergessen\" - von Grund auf, da das Dashboard auf dem eigenen Host des Betreibers läuft und der Wiederherstellungspfad Shell-Zugriff auf diesen Host ist. ProxMenux liefert einen geführten Reset im Konfigurationsmenü, sodass Sie auth.json nicht von Hand bearbeiten müssen:",
"survivesTitle": "Was den Reset überlebt",
@@ -284,14 +284,14 @@
"heading": "API-Token (langlebig)",
"intro": "Browsersitzungen laufen nach 24 Stunden ab. Für Homepage-Widgets, Home Assistant, Grafana oder Uptime Kuma erstellen Sie ein separates API-Token mit 365 Tagen Laufzeit. Es verwendet dasselbe Signaturgeheimnis; die Angabe token_name erlaubt die Zuordnung und den einzelnen Widerruf.",
"imageAlt": "API-Token-Panel zeigt die Token-Liste mit Name, Präfix, erstelltem Datum und Ablauf",
- "imageCaption": "Die API-Tokenliste unter Einstellungen — Name, Präfix (die letzten 4-Zeichen werden zur Identifizierung angezeigt), erstellt und Ablaufdatum, Widerrufsaktion.",
+ "imageCaption": "Die API-Tokenliste unter Admin → Sicherheit: Name, Präfix (die letzten 4 Zeichen werden zur Identifizierung angezeigt), Erstellungs- und Ablaufdatum, Widerrufsaktion.",
"generateTitle": "Generieren Sie ein Token",
"generateIntro": "Aus dem Dashboard:",
"generateSteps": [
- "Unter Sicherheit → API-Zugriffstokens öffnen.",
+ "Unter Registerkarte Sicherheit → Abschnitt API-Tokens öffnen.",
"Beschreibenden Namen angeben, z. B. „Home Assistant“.",
"Geben Sie Ihr Passwort erneut ein. Wenn 2FA eingeschaltet ist, auch der aktuelle 6-stellige Code.",
- "Token erstellen wählen. Es erscheint nur einmal; sofort kopieren."
+ "Neues Token erstellen wählen, danach Token erstellen. Es erscheint nur einmal; sofort kopieren."
],
"generateCli": "Aus der Kommandozeile:",
"useTitle": "Verwenden Sie ein Token",
@@ -310,7 +310,7 @@
"intro": "Zwei Wege zu TLS:",
"items": [
"Reverse-Proxy (empfohlen). Beenden Sie TLS auf Nginx / Caddy / Traefik und leiten Sie HTTP auf Port 8008 zum Flask-Prozess weiter. Snippets unten.",
- "Direktes HTTPS in der AppImage. Zertifikat über POST /api/ssl/configure einrichten (Oberfläche: Einstellungen → SSL). HTTPS verwendet gevent.pywsgi mit dem Standardhandler; flask-sock übernimmt WebSocket-Verbindungen für WSS. Zertifikatspfade stehen in der SSL-Konfiguration."
+ "Direktes HTTPS in der AppImage. Zertifikat über POST /api/ssl/configure einrichten (Oberfläche: Admin → Sicherheit → SSL / HTTPS). HTTPS verwendet gevent.pywsgi mit dem Standardhandler; flask-sock übernimmt WebSocket-Verbindungen für WSS. Zertifikatspfade stehen in der SSL-Konfiguration."
],
"calloutTitle": "Direkte HTTPS-Beschränkungen",
"calloutBody": "Der Monitor kann ein von Proxmox verwaltetes Zertifikat oder eigene Zertifikatsdateien verwenden. Er stellt selbst keine ACME-Zertifikate aus. Für automatische Ausstellung und Erneuerung Proxmox ACME oder einen Reverse-Proxy wie Caddy, Traefik oder Nginx verwenden; erneuerte Zertifikate müssen geladen werden."
diff --git a/web/messages/de/docs/monitor/ai-assistant.json b/web/messages/de/docs/monitor/ai-assistant.json
index 1294df39..b2bb8470 100644
--- a/web/messages/de/docs/monitor/ai-assistant.json
+++ b/web/messages/de/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "Informationsfenster mit sechs Karten, einer je Anbieter, und den unten beschriebenen Angaben.",
"groq": {
"heading": "Groq",
- "tagline": "Sehr schnelle, großzügige freie Stufe (30 req/min). Ideal zum Starten.",
+ "tagline": "Sehr schnell, mit großzügiger freier Stufe. Ein guter Einstieg.",
"items": [
"API-Schlüssel: console.groq.com/keys",
"Beispiele aus der mitgelieferten Modellliste: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (lokal)",
- "tagline": "Nutzt die Modelle Ihres konfigurierten Ollama-Servers. Lokale Modelle laufen dort; Ollama-Cloud-Modelle leiten Anfragen an einen Cloud-Anbieter weiter. Lokale Ausführung vermeidet gehostete API-Gebühren, verbraucht aber eigene Hardware und Strom.",
+ "tagline": "Nutzt Modelle auf Ihrem Ollama-Server. Vollständig lokal, privat und kostenlos im Betrieb.",
"items": [
"Kein API-Schlüssel. Setzen Sie das Ollama URL-Feld auf Ihren Server (Standard http://localhost:11434 oder welcher Host Ihre Ollama-Instanz ausführt).",
"Modelle: nicht gefiltert. Der Monitor liest die Modelle, die Sie auf der Ollama-Seite über ollama pull <model> gezogen haben. Der Dropdown wird von GET /api/tags auf Ihrem Ollama-Server ausgefüllt.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Detailebene pro Kanal",
- "intro": "Telegram, Discord, Gotify und E-Mail haben jeweils eine eigene Auswahl der Detailstufe. Drei Werte steuern im Standardprompt sowohl das Ausgabe-Token-Limit als auch die Detailvorgaben:",
+ "intro": "Jeder der sechs Kanäle (Telegram, Discord, Gotify, E-Mail, Pushover, Apprise) hat eine eigene Auswahl der Detailstufe. Drei Werte steuern im Standardprompt sowohl das Ausgabe-Token-Limit als auch die Detailvorgaben:",
"headerLevel": "Ebene",
"headerLabel": "UI-Kennzeichnung",
"headerCap": "Ausgabegrenze",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Standardwerte bei der ersten Installation:",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise: standard.",
"Email — detailed. E-Mail ist der Kanal, in dem Sie normalerweise das vollständige Bild für die Archivierung wünschen."
],
"emailTitle": "E-Mail-Detailebene fügt das Original hinzu",
diff --git a/web/messages/de/docs/monitor/api-reference.json b/web/messages/de/docs/monitor/api-reference.json
index 8581cd36..6039f582 100644
--- a/web/messages/de/docs/monitor/api-reference.json
+++ b/web/messages/de/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Erweiterte Systemdaten der Dashboard-Kopfzeile: Gesamtmetriken und Startzeitpunkt."
+ "use": "Schlanke Kopfzeileninfos: Hostname, Betriebszeit und zwischengespeicherter Gesundheitsstatus. Öffentlich, kein Token nötig."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Gefilterte Journaleinträge. Anfrage: ?level=&service=&limit=."
+ "use": "Gefilterte Journaleinträge. Anfrage: ?priority=&service=&limit=&since_days= (priority 0-7, since_days bis zu 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Interner Ereignisstrom - derselbe, der Benachrichtigungen füttert."
+ "use": "Aktuelle Proxmox-Cluster-Tasks und -Ereignisse aus pvesh get /cluster/tasks. Anfrage: ?limit= (Standard 50)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Erzeugt ein eigenes Ereignis. Anfrageinhalt: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Erzeugt ein eigenes Ereignis. Anfrageinhalt: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/de/docs/monitor/architecture.json b/web/messages/de/docs/monitor/architecture.json
index be93e6be..8c9ed1d0 100644
--- a/web/messages/de/docs/monitor/architecture.json
+++ b/web/messages/de/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root: Der Dienst verwendet Root-Rechte für Host-Operationen wie SMART, pvesh und ZFS-Verwaltung. Die Webterminal-Prozesse erben diese Rechte.",
"Restart=on-failure mit zehn Sekunden Wartezeit: Nach fehlerhaftem Ende startet der Dienst automatisch neu.",
- "After=network.target: ordnet den Start nach diesem Ziel ein; garantiert keine IP-Adresse, DNS oder externe Verbindung."
+ "After=network.target pve-cluster.service: ordnet den Start nach dem Netzwerk-Target und dem Proxmox-Cluster-Dateisystem ein; garantiert keine IP-Adresse, DNS oder externe Verbindung."
],
"inspectTitle": "Aktuelle Unit prüfen"
},
diff --git a/web/messages/de/docs/monitor/dashboard/hardware.json b/web/messages/de/docs/monitor/dashboard/hardware.json
index f45c1bd6..73fc464c 100644
--- a/web/messages/de/docs/monitor/dashboard/hardware.json
+++ b/web/messages/de/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "UPS-Status",
"subHeading": "(bedingt)",
- "body": "Erscheint bei konfiguriertem und erreichbarem NUT-Server (Network UPS Tools). Sichtbar sind Status (Netzbetrieb/Batteriebetrieb/Laden/Batterie schwach), Batterieladung, Restlaufzeit, Last, Eingangsspannung, Modell und Firmware. Dieselben Daten fließen in Sicherheit und Zertifikate der Zustandsüberwachung ein; Batteriebetrieb wird sofort gemeldet."
+ "body": "Erscheint bei konfiguriertem und erreichbarem NUT-Server (Network UPS Tools). Sichtbar sind Status (Netzbetrieb/Batteriebetrieb/Laden/Batterie schwach), Batterieladung, Restlaufzeit, Last, Eingangsspannung, Modell und Firmware."
},
"dataCollected": {
"heading": "Wie die Daten gesammelt werden",
diff --git a/web/messages/de/docs/monitor/dashboard/index.json b/web/messages/de/docs/monitor/dashboard/index.json
index 61d63b51..7c1c4db0 100644
--- a/web/messages/de/docs/monitor/dashboard/index.json
+++ b/web/messages/de/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminal",
- "owns": "Shell-Zugriff auf Host oder VM/CT im Browser mit xterm.js über WebSockets."
+ "owns": "Browser-Shell auf dem Proxmox-Host mit xterm.js über WebSockets. LXC-Konsolen öffnen sich im Tab VMs & LXCs."
},
{
"name": "Sicherheit",
diff --git a/web/messages/de/docs/monitor/dashboard/security.json b/web/messages/de/docs/monitor/dashboard/security.json
index 2ba938e6..6c3a62ed 100644
--- a/web/messages/de/docs/monitor/dashboard/security.json
+++ b/web/messages/de/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL / HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 auf /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/de/docs/monitor/dashboard/settings.json b/web/messages/de/docs/monitor/dashboard/settings.json
index 56d6cb32..6e0ae9d0 100644
--- a/web/messages/de/docs/monitor/dashboard/settings.json
+++ b/web/messages/de/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Netzwerkeinheiten",
"imageAlt": "Karte Netzwerkeinheiten mit der Anzeigeauswahl Bytes",
"imageCaption": "Wählen Sie zwischen Bits pro Sekunde und Bytes pro Sekunde für jede im Dashboard angezeigte Netzwerkrate.",
- "body": "Zeigt den Netzwerkdurchsatz in Bits pro Sekunde (Mbps/Gbps) oder Bytes pro Sekunde (MB/s/GB/s). Standard sind Bits wie bei Netzwerkkarten und Internetanbietern; Dateiübertragungen verwenden oft Bytes. Diagramme, Labels und Hinweise ändern sich sofort ohne Neuladen."
+ "body": "Zeigt den Netzwerkdurchsatz in Bytes pro Sekunde (MB/s/GB/s) oder Bits pro Sekunde (Mbps/Gbps). Standard sind Bytes wie bei den meisten Dateiübertragungswerkzeugen; Bits verwenden Netzwerkkartenhersteller und Internetanbieter. Die Auswahl wird im Browser gespeichert, jeder Browser behält also seine eigene. Diagramme, Labels und Hinweise ändern sich sofort ohne Neuladen."
},
"health": {
"heading": "Gesundheitsmonitor",
@@ -203,7 +203,7 @@
"heading": "LXC-Update-Erkennung",
"imageAlt": "LXC-Update-Erkennung mit Schalter zur Suche nach Paketupdates in laufenden Debian-, Ubuntu- und Alpine-Containern",
"imageCaption": "Schalter für regelmäßige Prüfungen mit apt list --upgradable / apk list -u in laufenden CTs. Standardmäßig aktiviert. Der zugehörige Schalter unter Benachrichtigungen → Dienste erscheint bei aktiver Erkennung.",
- "intro": "Der Schalter zwischen Schwellen und Benachrichtigungen steuert den LXC-Scan. Aktiv fragt er Paketmanager laufender CTs ab; Hardware zeigt Ergebnisse und lxc_updates_available erhält sie. Deaktiviert stoppt er seine pct exec-Aufrufe und entfernt LXC-Einträge aus managed_installs.json; /api/managed-installs meldet den Status dann ohne 24-Stunden-Wartezeit nicht mehr.",
+ "intro": "Der Schalter zwischen Schwellen und Benachrichtigungen steuert den LXC-Scan. Aktiv fragt er Paketmanager laufender CTs ab; VMs & LXCs zeigt Ergebnisse und lxc_updates_available erhält sie. Deaktiviert stoppt er seine pct exec-Aufrufe und entfernt LXC-Einträge aus managed_installs.json; /api/managed-installs meldet den Status dann ohne 24-Stunden-Wartezeit nicht mehr.",
"whatRunsTitle": "Was die Prüfung ausführt",
"whatRunsIntro": "Für jeden CT im Zustand running mit unterstütztem Paketmanager:",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Hier aktivieren Sie ProxMenux-Monitor-Benachrichtigungen und die KI-Umformulierung. Benachrichtigungen aktivieren startet den Hintergrundversand, registriert ein Proxmox-VE-Webhook-Ziel für dessen Ereignisse und öffnet die Kanaleinstellungen für Telegram, Discord, E-Mail, Gotify und weitere Dienste. Die KI-Umformulierung liegt im selben Bereich unter aufklappbaren erweiterten Einstellungen.",
"body2": "Eigene Seiten erklären die Optionen: Kanäle, Ereignisschalter, formatierte Nachrichten, Anzeigename, Versand mit Duplikatfilter, Wartezeiten, Bündelung und Ruhezeiten, PVE-Webhook, KI-Anbieter und Prompt-Modi:",
"items": [
- "Benachrichtigungen: Kanaleinrichtung (Telegram, Discord, Gotify, E-Mail mit Gmail-/Microsoft-App-Passwörtern, ntfy, Slack, Teams und allgemeiner Webhook), Ereigniskategorien, formatierte Nachrichten, Anzeigename, Versand, PVE-Webhook, Verlauf und API.",
+ "Benachrichtigungen: Kanaleinrichtung (Telegram, Discord, Gotify, E-Mail mit Gmail-/Microsoft-App-Passwörtern, Pushover und Apprise für ntfy, Slack, Teams und weitere Dienste), Ereigniskategorien, formatierte Nachrichten, Anzeigename, Versand, PVE-Webhook, Verlauf und API.",
"KI-Assistent: Anbieter (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), Modelle, Standard- oder eigene Prompts, Ausgabesprache, Detailgrad je Kanal und KI-Vorschläge."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Netzwerkeinheiten",
- "endpoint": "/api/settings",
- "source": "In der SQLite-Einstellungstabelle des Dashboards gespeichert."
+ "endpoint": "localStorage",
+ "source": "Browser-Einstellung proxmenux-network-unit."
},
{
"card": "Health-Monitor-Zeitdauern",
@@ -304,7 +304,7 @@
},
{
"card": "Speicher-/Schnittstellenausschlüsse",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "SQLite Tabellen excluded_storages und excluded_interfaces."
},
{
diff --git a/web/messages/de/docs/monitor/dashboard/storage.json b/web/messages/de/docs/monitor/dashboard/storage.json
index 3f75c928..0a3149a0 100644
--- a/web/messages/de/docs/monitor/dashboard/storage.json
+++ b/web/messages/de/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Unterstützt durch drei Quellen",
- "body": "Proxmox-Speicher stammen aus pvesm status, ZFS aus zpool status, physische Laufwerke aus lsblk + smartctl und NVMe-Felder aus nvme. Die Seite aktualisiert sich etwa alle 60 Sekunden; die Detailansicht fordert eine SMART-Abfrage an."
+ "body": "Proxmox-Speicher stammen aus pvesm status, ZFS aus zpool status, physische Laufwerke aus lsblk + smartctl und NVMe-Felder aus nvme. Die Seite aktualisiert sich etwa alle 30 Sekunden; die Detailansicht fordert eine SMART-Abfrage an."
},
"thresholds": {
"title": "Hier angewendete Statusfarben und -schwellen",
diff --git a/web/messages/de/docs/monitor/dashboard/system-logs.json b/web/messages/de/docs/monitor/dashboard/system-logs.json
index 71083e95..284c9c5b 100644
--- a/web/messages/de/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/de/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Einträge insgesamt — Anzahl der Protokolleinträge im aktiven Filterzeitraum.",
"Fehler — Anzahl der Einträge mit Schweregrad ≤ 3 (err / crit / alert / emerg).",
"Warnungen — Anzahl der Einträge mit Schweregrad 4 (warning).",
- "Sicherungen — Anzahl der vzdump-/PBS-Aufgabeneinträge im selben Zeitraum."
+ "Sicherungen: Anzahl der Backup-Archive auf den konfigurierten Backup-Speichern."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Protokolle",
"logsIntro": "Das Systemjournal wird auf dem Server mit journalctl abgerufen. Die Werkzeugleiste bietet folgende Filter :",
"logsFilters": [
- "Schweregrad — emerg / alert / crit / err / warning / notice / info / debug oder eine beliebige Kombination.",
- "Zeitbereich — zuletzt 5 min. / 15 min. / 1 h / 6 h / 24 h / 7 d / Custom.",
- "Freitextsuche — Teilzeichenfolge oder regulärer Ausdruck (journalctl --grep).",
- "Unit-Filter — auf eine bestimmte systemd-Unit beschränken (pveproxy.service, nginx.service, …)."
+ "Stufe: alle, Fehler, Warnung oder Info.",
+ "Zeitbereich: 1 Tag / 3 Tage / 1 Woche / 2 Wochen / 1 Monat oder eine benutzerdefinierte Anzahl von Tagen (bis zu 90).",
+ "Freitextsuche: Teilzeichenfolge ohne Beachtung der Groß-/Kleinschreibung über Nachricht, Dienst, PID, Hostname und Unit, im Browser angewendet.",
+ "Dienstfilter: auf einen Dienst beschränken (der Journal-SYSLOG_IDENTIFIER)."
],
"logsRowsAfter": "Jede Zeile zeigt Zeitstempel, Schweregradabzeichen, Quelleinheit und die Nachricht. Lange Nachrichten brechen mit einem \"mehr anzeigen\"-Schalter zusammen. Die Aktion Download bündelt den aktuellen Filter über GET /api/logs/download in einer einzigen .txt-Datei – nützlich, wenn Sie ein Stück Journal mit jemandem teilen möchten.",
"logDetailsModalTitle": "Dialog Protokolldetails",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Bei einer neuen Proxmox-Installation verwendet journald standardmäßig MaxLevelStore=warning und verwirft dadurch Info-Meldungen. Monitor erkennt dies beim Start und ergänzt eine Drop-in-Datei (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) mit dem Grenzwert info. So werden Informationsmeldungen und schwerwiegendere Meldungen gespeichert; debug ist darin nicht enthalten.",
"backupsTitle": "Sicherungen",
- "backupsBody": "Proxmox-Taskhistorie gefiltert auf Backup-bezogene Einträge. Eine Zeile pro Aufgabe (vzdump, PBS-Transfers, Garbage Collect, Verify) mit dem Status (OK / WARNINGS / ERROR), beteiligter Gast, Quellspeicher, Dauer und UPID. Klicken Sie auf eine Zeile, um das vollständige Aufgabenprotokoll über GET /api/task-log/<upid> zu laden - die gleichen Daten, die Proxmox über Datacenter → Tasks, die auf Backups beschränkt sind, freigibt.",
+ "backupsBody": "Die Backup-Archive auf jedem backupfähigen Speicher (dir, NFS, CIFS, PBS), gelesen mit pvesh get /nodes/localhost/storage/<id>/content. Karten oben zeigen die Anzahl der VMs und LXCs sowie die Gesamtgröße; darunter steht eine Zeile pro Archiv mit Typ, Speicher, Größe und Datum. Die Wiederherstellung erfolgt in der Proxmox-Weboberfläche.",
"notificationsTitle": "Benachrichtigungen",
- "notificationsBody1": "Alle von Monitor versendeten Benachrichtigungen: Telegram, Discord, E-Mail, Gotify, ntfy, Slack, Teams und Webhook. Jede Zeile zeigt Zeitstempel, Kanal, Ereignistyp, Schweregrad, erzeugten Titel und Nachrichtentext sowie bei aktivierter KI einen Schalter zum Vergleich der KI-Fassung mit dem Original.",
- "notificationsBody2": "Hier prüfen Sie, ob ein Kanal tatsächlich Nachrichten zustellt, und vergleichen die KI-Fassung mit der ursprünglichen Vorlage. Die Kanäle konfigurieren Sie auf der Detailseite Benachrichtigungen."
+ "notificationsBody1": "Proxmox-Benachrichtigungsaktivität: Journalzeilen von Proxmox-Diensten, die Benachrichtigungen, E-Mail, Webhooks oder Alarme erwähnen, die Ziele in /etc/pve/notifications.cfg und Backup-Aufgaben aus der Cluster-Aufgabenliste. Bei Zeilen von Backup-Aufgaben kann das vollständige Aufgabenprotokoll heruntergeladen werden. Der Verlauf dessen, was der Monitor selbst versendet hat, befindet sich unter Settings → Notifications → Notification history.",
+ "notificationsBody2": "Hier prüfen Sie, was das eigene Benachrichtigungssystem von Proxmox tut. Die Kanäle des Monitors konfigurieren Sie auf der Detailseite Benachrichtigungen."
},
"dataCollected": {
"heading": "Wie die Daten gesammelt werden",
@@ -64,7 +64,7 @@
{
"subtab": "Protokolle (Live-Filter)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> mit serverseitigen Filtern für Schweregrad, Unit und Suche."
+ "source": "journalctl mit serverseitig angewendeten Filtern für Priorität, Dienst und Tagesbereich; die Textsuche läuft im Browser."
},
{
"subtab": "Herunterladen",
@@ -74,17 +74,17 @@
{
"subtab": "Sicherungen",
"endpoint": "/api/backups",
- "source": "PVE-Taskhistorie gefiltert nach vzdump, PBS-Transfers, Garbage Collect, Verify."
+ "source": "Backup-Archive, aufgelistet aus jedem Backup-Speicher mit pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Details einer Sicherungsaufgabe",
+ "subtab": "Protokoll der Sicherungsaufgabe (Benachrichtigungen)",
"endpoint": "/api/task-log/<upid>",
"source": "Vollständiges Aufgabenprotokoll im Klartext aus /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "Meldeverlauf",
- "endpoint": "/api/notifications/history",
- "source": "Die SQLite-Tabelle notification_history wird von der Versandschleife gefüllt."
+ "subtab": "Benachrichtigungen",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep über Proxmox-Units, /etc/pve/notifications.cfg und Backup-Aufgaben aus pvesh get /cluster/tasks."
}
],
"apiIntro": "Live-Filter und Downloads sind auch über die API erreichbar:",
diff --git a/web/messages/de/docs/monitor/dashboard/system-overview.json b/web/messages/de/docs/monitor/dashboard/system-overview.json
index cfc6c595..50404c89 100644
--- a/web/messages/de/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/de/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Ringe, Balken und Minidiagramme verwenden dieselbe Einteilung: grün unter der Warnschwelle, bernsteinfarben zwischen Warn- und kritischer Schwelle, rot ab der kritischen Schwelle. Empfohlene Standardwerte von ProxMenux :",
"thresholdsItems": [
"CPU-Auslastung — Warnung 85 %, kritisch 95 %.",
- "Arbeitsspeicher — Warnung 85 %, kritisch 95 %. Swap löst ebenfalls ab 5 % Nutzung den kritischen Zustand aus; ein gesunder Proxmox-Host sollte Swap nur selten verwenden.",
+ "Arbeitsspeicher: Warnung 85 %, kritisch 95 %. Swap löst den kritischen Zustand nur aus, wenn die Swap-Nutzung über 80 % liegt und der verfügbare RAM unter 15 %.",
"CPU-Temperatur — Warnung 80 °C, kritisch 90 °C."
],
"thresholdsOutro": "Alle Werte sind pro Host konfigurierbar. Einstellungen → Grenzwerte der Zustandsüberwachung ist die zentrale Referenz und erklärt ihre Anpassung.",
@@ -58,7 +58,7 @@
"intro": "Die Karten CPU-Auslastung und Arbeitsspeicher öffnen eine sortierbare Liste der 25 führenden Prozesse: nach CPU-Auslastung beim Öffnen über CPU, nach residentem Speicher beim Öffnen über Arbeitsspeicher.",
"listTitle": "Der Listendialog",
"listItems": [
- "Automatische Aktualisierung — die Liste wird bei geöffnetem Dialog alle 5 Sekunden aktualisiert. Beim Schließen enden die Abfragen.",
+ "Automatische Aktualisierung — die Liste wird bei geöffnetem Dialog alle 3 Sekunden aktualisiert. Beim Schließen enden die Abfragen.",
"Filter — das Suchfeld grenzt die Liste nach Befehl, Benutzer oder PID ein.",
"Inline bar — die primäre metrische Spalte zeichnet einen kleinen Balken, der auf den höchsten Wert in der gefilterten Liste skaliert ist, so dass das Ranking auch dann sichtbar bleibt, wenn kein Prozess in der Nähe von 100 % liegt.",
"Mobiles Layout — unter 640 px werden PID und Benutzer ausgeblendet. Befehl, CPU % und Arbeitsspeicher passen so ohne horizontales Scrollen auf den Telefonbildschirm."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Mitte: Knotenmetrikdiagramme",
- "body1": "Unter den Karten zeigt NodeMetricsCharts CPU-, Arbeitsspeicher- und Datenträger-I/O-Verläufe aus dem RRD-Speicher von Proxmox über /api/node/metrics. Wählbar sind 1 Stunde / 24 Stunden / 7 Tage / 30 Tage / 1 Jahr. Bei größeren Zeiträumen sinkt die Datenauflösung, damit die Anzeige flüssig bleibt.",
+ "body1": "Unter den Karten zeigt NodeMetricsCharts CPU-, Arbeitsspeicher- und Datenträger-I/O-Verläufe aus dem RRD-Speicher von Proxmox über /api/node/metrics. Wählbar sind 1 Stunde / 24 Stunden / 7 Tage / 30 Tage. Bei größeren Zeiträumen sinkt die Datenauflösung, damit die Anzeige flüssig bleibt.",
"body2": "Dies sind die gleichen Graphen, die die Proxmox-Web-Benutzeroberfläche für einen Knoten darstellt, nur in das dunkle Thema des Monitors konsolidiert und mit den anderen Panels ausgerichtet."
},
"bottom": {
diff --git a/web/messages/de/docs/monitor/dashboard/vms-lxcs.json b/web/messages/de/docs/monitor/dashboard/vms-lxcs.json
index 53ab3b16..9a1346e2 100644
--- a/web/messages/de/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/de/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Zielanzeige — Speicherort (PBS-Cloud, PBS-Local, NFS-Backup, …), nach Zustand eingefärbt.",
"Größe — endgültige Größe der Sicherung auf dem Datenträger."
],
- "backupsOutro": "+ Sicherung erstellen startet eine Sicherung auf dem in Proxmox als „Backup target“ markierten Speicher. Die Wiederherstellung erfolgt in der Proxmox-Weboberfläche; Monitor zeigt aktuelle Sicherungen des Gasts und erstellt neue.",
+ "backupsOutro": "Die Schaltfläche + Sicherung erstellen oben rechts öffnet einen Dialog, in dem Sie vor dem Start eines vzdump Speicher, Modus (snapshot / suspend / stop), Schutz und Notizen wählen. Die Wiederherstellung erfolgt in der Proxmox-Weboberfläche; Monitor zeigt aktuelle Sicherungen des Gasts und erstellt neue.",
"firewallTitle": "Tab. 7 — Firewall",
"firewallIntro": "Liest das Proxmox-Firewallprotokoll des Gasts direkt vom Host, ohne Zusatzdienst oder regelmäßige Abfragen. Der Reiter ist immer sichtbar; der Inhalt hängt davon ab, ob die Firewall aktiv ist und Regeln tatsächlich protokollieren.",
"firewallItems": [
diff --git a/web/messages/de/docs/monitor/health-monitor.json b/web/messages/de/docs/monitor/health-monitor.json
index 6f3d16d5..3683cb55 100644
--- a/web/messages/de/docs/monitor/health-monitor.json
+++ b/web/messages/de/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "Die Statusanzeige folgt der schwerwiegendsten Kategorie",
"pillBody": "Die Farbe im Dashboard-Kopf folgt dem höchsten Schweregrad: CRITICAL → rot, sonst WARNING → gelb, sonst INFO → blau, sonst grün. Dieselbe Logik steuert den Punkt im Favicon und das PWA-Symbol.",
"updateNowTitle": "Schaltfläche Jetzt Aktualisieren im Overview-Header",
- "updateNowBody1": "Meldet Systemupdates ausstehende Updates, erscheint neben der Statusanzeige Jetzt aktualisieren. Der Dialog startet denselben Hostablauf wie ProxMenux → Settings post-install Proxmox → Proxmox System Update: Repository-Bereinigung, apt full-upgrade über update-pve-safe.sh, DKMS-Neubau verwalteter Treiber bei neuem Kernel, autoremove/autoclean und gegebenenfalls eine Neustartabfrage. Der Fortschritt wird laufend angezeigt.",
- "updateNowBody2": "Nach Abschluss ruft das Schließen des Dialogs GET /api/health/details?refresh=1 auf und verwirft damit den Cache dieses Endpunkts. Ausstehende Updates und Statusanzeige werden anhand des neuen Paketstands neu berechnet. Der Hinweis verschwindet ohne Warten auf den nächsten Zyklus. Auf einem aktuellen Host bleibt die Schaltfläche verborgen."
+ "updateNowBody1": "Meldet Systemupdates ausstehende Updates, erscheint neben der Statusanzeige Jetzt aktualisieren. Der Dialog startet denselben Hostablauf wie ProxMenux → Utilities and Tools → Proxmox System Update: Repository-Bereinigung, apt full-upgrade über update-pve-safe.sh, DKMS-Neubau verwalteter Treiber bei neuem Kernel, autoremove/autoclean und gegebenenfalls eine Neustartabfrage. Der Fortschritt wird laufend angezeigt.",
+ "updateNowBody2": "Nach Abschluss ruft das Schließen des Dialogs GET /api/health/full?refresh=1 auf und verwirft damit den Cache dieses Endpunkts. Ausstehende Updates und Statusanzeige werden anhand des neuen Paketstands neu berechnet. Der Hinweis verschwindet ohne Warten auf den nächsten Zyklus. Auf einem aktuellen Host bleibt die Schaltfläche verborgen."
},
"dismiss": {
"heading": "Warnungen bestätigen und die Unterdrückungsdauer",
diff --git a/web/messages/de/docs/monitor/index.json b/web/messages/de/docs/monitor/index.json
index 4039ab4a..1f77e4be 100644
--- a/web/messages/de/docs/monitor/index.json
+++ b/web/messages/de/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "REST API und Integrationen",
"intro": "REST-Endpunkte liefern Überwachungsdaten als JSON über HTTP/HTTPS für Homepage, Home Assistant, Uptime Kuma und eigene Skripte. Grafana kann den separaten Prometheus-Textexporter unter /api/prometheus nutzen. Anfragen sind mit curl möglich.",
- "tokens": "Langlebige API-Tokens (365 Tage) werden aus Einstellungen → API Zugriffstokens oder über POST /api/auth/generate-api-token generiert.",
+ "tokens": "Langlebige API-Tokens (365 Tage) werden aus Admin → Sicherheit → API-Tokens oder über POST /api/auth/generate-api-token generiert.",
"bearer": "Token werden als Authorization: Bearer … gesendet. Auch /api/health erwartet den Bearer-Header, daher benötigen Verfügbarkeitsprüfungen ein read_only-Token. Unter /api/auth/* liegen sowohl öffentliche Setup-/Login-/Statusrouten als auch geschützte Routen der Konto-/Tokenverwaltung; nicht alle sind anonym.",
"catalog": "Der vollständige Endpunktkatalog, Anleitungen zur Token-Rotation und Best Practices für die Sicherheit finden Sie in der API-Referenz; Vorgefertigte Beispiele für Homepage, Home Assistant, Grafana, Uptime Kuma und ein generisches cURL-Muster finden Sie in Integrationen."
},
"serviceControl": {
"heading": "Dienststeuerung",
- "intro": "Der Monitor wird wie jeder systemd-Dienst verwaltet. Zusätzlich gibt es zwei Einträge in der ProxMenux-Textoberfläche unter Einstellungen:",
+ "intro": "Der Monitor wird wie jeder systemd-Dienst verwaltet. Zusätzlich gibt es drei Einträge in der ProxMenux-Textoberfläche unter Einstellungen:",
"codeComment": "# Manuelle Steuerung",
"footer": "Siehe Einstellungen → ProxMenux Monitor für die Umschaltung im Menü und den Statusüberprüfungsablauf."
},
diff --git a/web/messages/de/docs/monitor/integrations.json b/web/messages/de/docs/monitor/integrations.json
index 72610b7c..53c67b05 100644
--- a/web/messages/de/docs/monitor/integrations.json
+++ b/web/messages/de/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Authentifizierung: Das Einzige, was jedes Rezept braucht",
"intro": "Die meisten von diesen Integrationen verwendeten Endpunkte werden authentifiziert. Sie haben zwei Möglichkeiten, diese Anforderung zu erfüllen.",
"optAtitle": "Option A — API-Token (für Integrationen empfohlen)",
- "optAbody1": "Öffnen Sie Einstellungen → Sicherheit → API-Token. Wählen Sie Token erzeugen, vergeben Sie einen Namen wie homepage, home-assistant oder prometheus und kopieren Sie das Token: Es erscheint nur einmal. Es läuft standardmäßig nach einem Jahr ab und ist einzeln widerrufbar. Nutzen Sie es für Clients außerhalb des Browsers.",
+ "optAbody1": "Öffnen Sie Admin → Sicherheit → API-Token. Wählen Sie Token erzeugen, vergeben Sie einen Namen wie homepage, home-assistant oder prometheus und kopieren Sie das Token: Es erscheint nur einmal. Es läuft standardmäßig nach einem Jahr ab und ist einzeln widerrufbar. Nutzen Sie es für Clients außerhalb des Browsers.",
"optAbody2": "Ab diesem Zeitpunkt ist jede Anfrage nur noch:",
"optBtitle": "Option B — Login-Flow (Benutzername + Passwort)",
"optBbody": "Nützlich für Skripte, die sich als menschlicher Benutzer authentifizieren. Das zurückgegebene Token ist kurzlebig; die meisten Integrationen sollten Option A bevorzugen.",
"outro": "Das TOTP-Feld ist nur bei aktivierter Zwei-Faktor-Authentifizierung nötig. Tokenwechsel, Widerruf, Passwortrichtlinien und Prüfprotokoll sind unter Zugriff und Authentifizierung beschrieben.",
"httpsTitle": "Verwendung von HTTPS anstelle von HTTP",
- "httpsIntro": "Jedes Rezept unten verwendet http:// in den URLs, um die Beispiele kurz zu halten. Wenn Sie TLS auf dem Monitor aktiviert haben (Settings → Security → SSL/HTTPS), tauschen Sie http:// in jeder URL gegen https:// aus – das ist die einzige Änderung. Zwei spezielle Anmerkungen zu bestimmten Werkzeugen:",
+ "httpsIntro": "Jedes Rezept unten verwendet http:// in den URLs, um die Beispiele kurz zu halten. Wenn Sie TLS auf dem Monitor aktiviert haben (Admin → Security → SSL / HTTPS), tauschen Sie http:// in jeder URL gegen https:// aus – das ist die einzige Änderung. Zwei spezielle Anmerkungen zu bestimmten Werkzeugen:",
"httpsItems": [
"Selbstsignierte Zertifikate. Die Home-Assistant-Integration rest: prüft TLS standardmäßig. Für ein selbstsigniertes Monitor-Zertifikat setzen Sie verify_ssl: false in jeden REST-Block neben scan_interval: oder nehmen die Monitor-CA in den Vertrauensspeicher auf. Entsprechendes gilt für andere Werkzeuge mit Zertifikatsprüfung.",
"Prometheus enthält unten bereits scheme: https. Aktivieren oder behalten Sie https, wenn TLS im Monitor aktiv ist."
@@ -43,7 +43,7 @@
"basicTitle": "Grundlegendes Widget — keine Authentifizierung",
"basicIntro": "Verwenden Sie dies, wenn sich ProxMenux Monitor in einem vertrauenswürdigen Netzwerk befindet und Sie die Authentifizierung auf der Monitorseite noch nicht aktiviert haben. Der einfachste mögliche services.yaml-Eintrag:",
"authedTitle": "Authentifiziertes Widget",
- "authedIntro": "Generieren Sie ein API-Token in Settings → Security → API Tokens auf dem Monitor, kopieren Sie es und fügen Sie es in den Authorization-Header unten ein - ersetzen Sie das Beispiel-Token, das nach Bearer angezeigt wird, durch das, das Sie gerade kopiert haben:",
+ "authedIntro": "Generieren Sie ein API-Token in Admin → Security → API Tokens auf dem Monitor, kopieren Sie es und fügen Sie es in den Authorization-Header unten ein - ersetzen Sie das Beispiel-Token, das nach Bearer angezeigt wird, durch das, das Sie gerade kopiert haben:",
"authedOutro": "Starten Sie die Homepage neu und die Karte leuchtet mit Live-Werten auf. Verwenden Sie das gleiche Token für alle Homepage-Widgets, die auf denselben ProxMenux Monitor-Host zeigen.",
"multiTitle": "Einrichtung von Multiwidgets — System, Speicher, Netzwerk",
"multiIntro": "Für mehr Details nutzen Sie drei Karten mit unterschiedlichen Endpunkten: Systemmetriken, Datenspeicher und Netzwerk. Für dieselbe Monitor-Instanz verwenden alle dasselbe Token.",
diff --git a/web/messages/de/docs/security/ssl-letsencrypt.json b/web/messages/de/docs/security/ssl-letsencrypt.json
index fecde538..85958539 100644
--- a/web/messages/de/docs/security/ssl-letsencrypt.json
+++ b/web/messages/de/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "Was diese Seite abdeckt",
- "body": "So wechseln Sie Monitor unter Einstellungen → Sicherheit von HTTP auf HTTPS, welche Dateien die Zertifikatsquellen verwenden, wie die Proxmox-Option mit Let’s Encrypt umgeht und wie Sie eigene Pfade für außerhalb von Proxmox verwaltete Zertifikate festlegen."
+ "body": "So wechseln Sie Monitor unter Admin → Sicherheit von HTTP auf HTTPS, welche Dateien die Zertifikatsquellen verwenden, wie die Proxmox-Option mit Let’s Encrypt umgeht und wie Sie eigene Pfade für außerhalb von Proxmox verwaltete Zertifikate festlegen."
},
"wheresetting": {
"heading": "Wo Sie die Einstellung finden",
- "body": "Öffnen Sie Monitor und gehen Sie zu Einstellungen → Sicherheit → HTTPS / SSL. Der Bereich zeigt HTTP oder HTTPS und bei noch deaktiviertem HTTPS die erkannten Zertifikatsquellen.",
- "imageAlt": "Einstellungen → Sicherheit → HTTPS / SSL mit deaktiviertem HTTPS, erkanntem Proxmox-Zertifikat (Inhaber, Aussteller, Ablauf) und der Option für ein eigenes Zertifikat",
- "caption": "Bereich Einstellungen → Sicherheit → HTTPS / SSL vor der Aktivierung. Monitor zeigt das von Proxmox verwendete Zertifikat und bietet es zur Auswahl mit einem Klick an."
+ "body": "Öffnen Sie Monitor und gehen Sie zu Admin → Sicherheit → SSL / HTTPS. Der Bereich zeigt HTTP oder HTTPS und bei noch deaktiviertem HTTPS die erkannten Zertifikatsquellen.",
+ "imageAlt": "Bereich Admin → Sicherheit → SSL / HTTPS mit deaktiviertem HTTPS, erkanntem Proxmox-Zertifikat (Inhaber, Aussteller, Ablauf) und der Option für ein eigenes Zertifikat",
+ "caption": "Bereich Admin → Sicherheit → SSL / HTTPS vor der Aktivierung. Monitor zeigt das von Proxmox verwendete Zertifikat und bietet es zur Auswahl mit einem Klick an."
},
"twoways": {
"heading": "Zwei Möglichkeiten, HTTPS zu aktivieren",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Schalten Sie den Monitor auf HTTPS",
- "bodyRich": "Sobald /etc/pve/local/pveproxy-ssl.pem von Let's Encrypt signiert ist, öffnen Sie Einstellungen → Sicherheit → HTTPS / SSL, prüfen als Aussteller Let's Encrypt statt der lokalen Proxmox-CA und wählen Proxmox-Zertifikat verwenden. Monitor startet neu und der nächste Aufruf nutzt HTTPS auf 8008 mit öffentlich vertrauenswürdiger Zertifikatskette. Spätere ACME-Erneuerungen werden bei der nächsten neuen TLS-Verbindung geprüft und ausgewählt, ohne regelmäßige Abfrage oder Dienstneustart zur Erneuerung. Zertifikat aktualisieren bleibt unter Sicherheit für Diagnose und Wiederherstellung verfügbar."
+ "bodyRich": "Sobald /etc/pve/local/pveproxy-ssl.pem von Let's Encrypt signiert ist, öffnen Sie Admin → Sicherheit → SSL / HTTPS, prüfen als Aussteller Let's Encrypt statt der lokalen Proxmox-CA und wählen Proxmox-Zertifikat verwenden. Monitor startet neu und der nächste Aufruf nutzt HTTPS auf 8008 mit öffentlich vertrauenswürdiger Zertifikatskette. Spätere ACME-Erneuerungen werden bei der nächsten neuen TLS-Verbindung geprüft und ausgewählt, ohne regelmäßige Abfrage oder Dienstneustart zur Erneuerung. Zertifikat aktualisieren bleibt unter Sicherheit für Diagnose und Wiederherstellung verfügbar."
},
"custom": {
"heading": "Benutzerdefiniertes Zertifikat — wann es sinnvoll ist",
diff --git a/web/messages/es/docs/monitor/access-auth.json b/web/messages/es/docs/monitor/access-auth.json
index 9c8ae824..97687270 100644
--- a/web/messages/es/docs/monitor/access-auth.json
+++ b/web/messages/es/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Cómo llegar al panel",
- "intro": "ProxMenux Monitor escucha en 0.0.0.0:8008. Hay tres formas habituales de llegar a él:",
+ "intro": "ProxMenux Monitor escucha en el TCP 8008 en todas las interfaces (::, IPv4 e IPv6). Hay tres formas habituales de llegar a él:",
"outro": "El acceso directo corresponde a la unidad systemd predeterminada. El proxy inverso y Secure Gateway se describen más abajo. Para confiar en la IP de X-Forwarded-For se requiere PROXMENUX_TRUST_PROXY=1 y un proxy que controles. La presencia de X-Forwarded-Proto o X-Forwarded-Host no activa esa confianza. En los puertos 80/443 el frontend usa URL relativas /api/*; en cualquier otro puerto llama al puerto 8008 del mismo nombre de host."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json — qué contiene y cómo se protege",
"authJsonBody": "Todo lo que ProxMenux Monitor necesita para autenticarte vive en un único archivo: /root/.config/proxmenux-monitor/auth.json, modo 0600, propietario root. El archivo guarda hashes (PBKDF2) y material de firma (jwt_secret, totp_secret) — nunca una contraseña en texto plano. Trátalo como cualquier otro secreto de solo-root: si haces backup o replicas el host, cifra el destino y nunca lo subas a control de versiones.",
"rotateTitle": "Rotar jwt_secret invalida todos los JWTs existentes",
- "rotateBody": "Si auth.json se regenera (borrado manual, reinstalación, restauración desde un backup con un secret distinto) el jwt_secret cambia y cada JWT previamente emitido — tanto sesiones interactivas como API tokens de larga duración — falla la verificación con \"Invalid or expired token\". La UI marca los API tokens afectados con un badge Invalid — regenerate para que el usuario sepa que tiene que revocarlos y volver a emitirlos; Home Assistant / scripts / cualquier cliente externo necesita un token fresco después de eso.",
+ "rotateBody": "Si auth.json se regenera (borrado manual, reinstalación, restauración desde un backup con un secret distinto) el jwt_secret cambia y cada JWT previamente emitido — tanto sesiones interactivas como API tokens de larga duración — falla la verificación con \"Invalid or expired token\". La UI marca los API tokens afectados en rojo, con un badge que indica que hay que revocarlos y generar otros nuevos; Home Assistant / scripts / cualquier cliente externo necesita un token fresco después de eso.",
"recoverTitle": "Recuperar una contraseña perdida",
"recoverIntro": "No hay un flujo online de \"olvidé mi contraseña\" — por diseño, ya que el panel corre en el propio host del usuario y el camino de recuperación es acceso shell a ese host. ProxMenux trae un reset guiado dentro del menú de configuración para que no tengas que editar a mano auth.json:",
"survivesTitle": "Qué sobrevive al reset",
@@ -284,14 +284,14 @@
"heading": "API tokens (larga duración)",
"intro": "Las sesiones de navegador caducan tras 24 horas. Para integraciones desatendidas (widgets de Homepage, sensores de Home Assistant, scrapers de Grafana, probes de Uptime Kuma…) generas un API token aparte que vive 365 días. El token es un JWT firmado con el mismo secret que el token de sesión, pero su claim token_name facilita rastrearlo y revocarlo individualmente.",
"imageAlt": "Panel de API tokens mostrando la lista de tokens con nombre, prefijo, fecha de creación y caducidad",
- "imageCaption": "La lista de API tokens bajo Settings — nombre, prefijo (se muestran los últimos 4 caracteres para identificación), fechas de creación y caducidad, acción de revocar.",
+ "imageCaption": "La lista de API tokens bajo Admin → Security — nombre, prefijo (se muestran los últimos 4 caracteres para identificación), fechas de creación y caducidad, acción de revocar.",
"generateTitle": "Generar un token",
"generateIntro": "Desde el panel:",
"generateSteps": [
- "Abre Seguridad → Tokens de acceso API.",
+ "Abre la sección Seguridad → API Tokens.",
"Escribe un nombre descriptivo (p. ej. \"Home Assistant\").",
"Vuelve a introducir tu contraseña. Si el 2FA está activado, también el código actual de 6 dígitos.",
- "Pulsa Generar token. Se muestra una sola vez: cópialo al momento."
+ "Pulsa Generar nuevo token y después Generar token. Se muestra una sola vez: cópialo al momento."
],
"generateCli": "Desde la línea de comandos:",
"useTitle": "Usar un token",
@@ -310,7 +310,7 @@
"intro": "Dos rutas hacia TLS:",
"items": [
"Reverse proxy (recomendado). Termina TLS en Nginx / Caddy / Traefik y reenvía HTTP en el puerto 8008 al proceso Flask. Snippets más abajo.",
- "HTTPS directo en AppImage. Configura un certificado con POST /api/ssl/configure (interfaz: Ajustes → SSL). HTTPS usa gevent.pywsgi con su manejador estándar; flask-sock gestiona la conexión WebSocket para WSS. Las rutas de los certificados se guardan en la configuración SSL."
+ "HTTPS directo en AppImage. Configura un certificado con POST /api/ssl/configure (interfaz: Admin → Security → SSL / HTTPS). HTTPS usa gevent.pywsgi con su manejador estándar; flask-sock gestiona la conexión WebSocket para WSS. Las rutas de los certificados se guardan en la configuración SSL."
],
"calloutTitle": "Limitaciones del HTTPS directo",
"calloutBody": "Monitor puede usar un certificado gestionado por Proxmox o archivos de certificados propios. No emite certificados ACME. Para emitirlos y renovarlos automáticamente, usa ACME de Proxmox o un proxy inverso como Caddy, Traefik o Nginx y asegúrate de cargar los certificados renovados."
diff --git a/web/messages/es/docs/monitor/ai-assistant.json b/web/messages/es/docs/monitor/ai-assistant.json
index fc338758..55ce80f3 100644
--- a/web/messages/es/docs/monitor/ai-assistant.json
+++ b/web/messages/es/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "El modal in-app — seis tarjetas, una por proveedor, con las mismas descripciones documentadas abajo.",
"groq": {
"heading": "Groq",
- "tagline": "Muy rápido, nivel gratuito generoso (30 req/min). Ideal para empezar.",
+ "tagline": "Muy rápido, con un nivel gratuito generoso. Un buen punto de partida.",
"items": [
"Clave API: console.groq.com/keys",
"Ejemplos de la lista de modelos incluida: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (local)",
- "tagline": "Usa los modelos expuestos por el servidor Ollama configurado. Los modelos locales se ejecutan allí; los modelos cloud de Ollama envían las peticiones a un proveedor externo. La ejecución local evita cargos de API alojada, pero utiliza tu hardware y electricidad.",
+ "tagline": "Usa los modelos de tu servidor Ollama. Totalmente local, privado y gratuito de ejecutar.",
"items": [
"Sin API key. Configura el campo Ollama URL a tu servidor (por defecto http://localhost:11434 o el host que ejecute tu instancia de Ollama).",
"Modelos: no filtrados. El Monitor lee los modelos que hayas descargado en el lado de Ollama vía ollama pull <model>. El dropdown se llena desde GET /api/tags en tu servidor Ollama.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Nivel de detalle por canal",
- "intro": "Cada uno de los cuatro canales (Telegram, Discord, Gotify, Email) tiene su propio dropdown de nivel de detalle. Hay tres valores disponibles, mapeados a topes específicos de tokens de salida y a instrucciones específicas en el prompt por defecto:",
+ "intro": "Cada uno de los seis canales (Telegram, Discord, Gotify, Email, Pushover, Apprise) tiene su propio dropdown de nivel de detalle. Hay tres valores disponibles, mapeados a topes específicos de tokens de salida y a instrucciones específicas en el prompt por defecto:",
"headerLevel": "Nivel",
"headerLabel": "Etiqueta UI",
"headerCap": "Tope de salida",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Valores por defecto que el Monitor aplica en la primera instalación:",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise — standard.",
"Email — detailed. Email es el canal donde típicamente quieres la foto completa para archivo."
],
"emailTitle": "El nivel de detalle de Email añade el original",
diff --git a/web/messages/es/docs/monitor/api-reference.json b/web/messages/es/docs/monitor/api-reference.json
index 480e144f..8b756459 100644
--- a/web/messages/es/docs/monitor/api-reference.json
+++ b/web/messages/es/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Datos ampliados usados por la cabecera del panel: métricas generales y hora de arranque."
+ "use": "Información ligera de cabecera: hostname, uptime y estado de salud en caché. Público, no necesita token."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Entradas del journal filtradas. Query: ?level=&service=&limit=."
+ "use": "Entradas del journal filtradas. Query: ?priority=&service=&limit=&since_days= (priority 0-7, since_days hasta 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Stream interno de eventos — el mismo que alimenta las notificaciones."
+ "use": "Tareas y eventos recientes del cluster de Proxmox desde pvesh get /cluster/tasks. Query: ?limit= (por defecto 50)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Emite un evento personalizado. Cuerpo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Emite un evento personalizado. Cuerpo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/es/docs/monitor/architecture.json b/web/messages/es/docs/monitor/architecture.json
index 7dd9fce6..281239fa 100644
--- a/web/messages/es/docs/monitor/architecture.json
+++ b/web/messages/es/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root: el servicio usa privilegios root para operaciones del host como SMART, pvesh y gestión ZFS. Los procesos del terminal heredan esos permisos.",
"Restart=on-failure con espera de 10 segundos: se reinicia automáticamente tras una salida con error.",
- "After=network.target: ordena el inicio después de ese objetivo; no garantiza IP asignada, DNS ni conectividad externa."
+ "After=network.target pve-cluster.service: ordena el inicio después del objetivo de red y del sistema de ficheros del cluster de Proxmox; no garantiza IP asignada, DNS ni conectividad externa."
],
"inspectTitle": "Consultar la unidad actual"
},
diff --git a/web/messages/es/docs/monitor/dashboard/hardware.json b/web/messages/es/docs/monitor/dashboard/hardware.json
index b1104104..51716b21 100644
--- a/web/messages/es/docs/monitor/dashboard/hardware.json
+++ b/web/messages/es/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "Estado del SAI",
"subHeading": "(condicional)",
- "body": "Aparece si hay un servidor NUT (Network UPS Tools) configurado y accesible. Muestra estado (en línea / batería / cargando / batería baja), carga de batería, autonomía estimada, porcentaje de carga soportada, tensión de entrada, modelo y firmware. Alimenta también Seguridad y certificados del monitor de salud: el paso a batería se señala inmediatamente."
+ "body": "Aparece si hay un servidor NUT (Network UPS Tools) configurado y accesible. Muestra estado (en línea / batería / cargando / batería baja), carga de batería, autonomía estimada, porcentaje de carga soportada, tensión de entrada, modelo y firmware."
},
"dataCollected": {
"heading": "Cómo se recopilan los datos",
diff --git a/web/messages/es/docs/monitor/dashboard/index.json b/web/messages/es/docs/monitor/dashboard/index.json
index 71a9733c..8e9ef43d 100644
--- a/web/messages/es/docs/monitor/dashboard/index.json
+++ b/web/messages/es/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminal",
- "owns": "Shell del host o de cualquier VM/CT en el navegador, con xterm.js sobre WebSockets."
+ "owns": "Shell del navegador en el host Proxmox, con xterm.js sobre WebSockets. Las consolas LXC se abren desde la pestaña VMs & LXCs."
},
{
"name": "Seguridad",
diff --git a/web/messages/es/docs/monitor/dashboard/security.json b/web/messages/es/docs/monitor/dashboard/security.json
index 7a09c303..c7f3939e 100644
--- a/web/messages/es/docs/monitor/dashboard/security.json
+++ b/web/messages/es/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL/HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 sobre /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/es/docs/monitor/dashboard/settings.json b/web/messages/es/docs/monitor/dashboard/settings.json
index c4d91dbc..7bf1e5c1 100644
--- a/web/messages/es/docs/monitor/dashboard/settings.json
+++ b/web/messages/es/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Unidades de red",
"imageAlt": "Tarjeta Unidades de red con el selector de visualización en Bytes",
"imageCaption": "Elige bits por segundo o bytes por segundo para todas las velocidades de red del panel.",
- "body": "Muestra la velocidad de red en bits por segundo (Mbps/Gbps) o bytes por segundo (MB/s/GB/s). Por defecto se usan bits, como en las especificaciones de interfaces y proveedores; las transferencias de archivos suelen usar bytes. El cambio se aplica de inmediato a gráficos, etiquetas y ayudas, sin recargar."
+ "body": "Muestra la velocidad de red en bits por segundo (Mbps/Gbps) o bytes por segundo (MB/s/GB/s). Por defecto se usan bytes, como en la mayoría de herramientas de transferencia de archivos; los bits son lo que usan fabricantes de interfaces y proveedores. La elección se guarda en el navegador, así que cada navegador conserva la suya. El cambio se aplica de inmediato a gráficos, etiquetas y ayudas, sin recargar."
},
"health": {
"heading": "Monitor de salud",
@@ -203,7 +203,7 @@
"heading": "Detección de actualización de LXC",
"imageAlt": "Tarjeta de detección de actualizaciones LXC con interruptor para buscar paquetes pendientes en contenedores Debian, Ubuntu y Alpine en ejecución",
"imageCaption": "Interruptor del análisis periódico con apt list --upgradable / apk list -u en los CT en ejecución. Viene activado. El interruptor de aviso en Notificaciones → Servicios aparece mientras la detección está activa.",
- "intro": "El interruptor entre Umbrales y Notificaciones controla el análisis LXC. Al activarlo, consulta los gestores de paquetes de CT en ejecución; los resultados aparecen en Hardware y alimentan lxc_updates_available. Al desactivarlo, cesan sus llamadas pct exec y se eliminan las entradas LXC de managed_installs.json, por lo que /api/managed-installs deja de mostrar ese estado sin esperar 24 h.",
+ "intro": "El interruptor entre Umbrales y Notificaciones controla el análisis LXC. Al activarlo, consulta los gestores de paquetes de CT en ejecución; los resultados aparecen en VMs & LXCs y alimentan lxc_updates_available. Al desactivarlo, cesan sus llamadas pct exec y se eliminan las entradas LXC de managed_installs.json, por lo que /api/managed-installs deja de mostrar ese estado sin esperar 24 h.",
"whatRunsTitle": "Qué ejecuta el análisis",
"whatRunsIntro": "Para cada CT en estado running con un gestor de paquetes compatible:",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Aquí se activan las notificaciones de ProxMenux Monitor y la reformulación con IA. Activar notificaciones inicia el proceso de envío en segundo plano, registra un destino webhook de Proxmox VE para incorporar sus eventos y abre el formulario de canales: Telegram, Discord, correo, Gotify y otros. La reformulación con IA está en una sección avanzada desplegable del mismo panel.",
"body2": "Sus opciones se explican en páginas propias: canales, controles por evento, mensajes enriquecidos, nombre visible, envío (duplicados, espera, agrupación y horario de silencio), webhook PVE, proveedores de IA y modos de instrucciones:",
"items": [
- "Notificaciones: configuración de canales (Telegram, Discord, Gotify, correo y contraseñas de aplicación de Gmail / Microsoft, ntfy, Slack, Teams y webhook genérico), categorías por evento, mensajes enriquecidos, nombre visible, envío, webhook PVE, historial y API.",
+ "Notificaciones: configuración de canales (Telegram, Discord, Gotify, correo y contraseñas de aplicación de Gmail / Microsoft, Pushover y Apprise para ntfy, Slack, Teams y otros servicios), categorías por evento, mensajes enriquecidos, nombre visible, envío, webhook PVE, historial y API.",
"Asistente de IA: proveedores (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modelos, instrucciones predeterminadas o personalizadas, idioma de salida, detalle por canal y sugerencias de IA."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Unidades de red",
- "endpoint": "/api/settings",
- "source": "Guardado en la tabla de ajustes SQLite del panel."
+ "endpoint": "localStorage",
+ "source": "Preferencia del navegador proxmenux-network-unit."
},
{
"card": "Duraciones de Health Monitor",
@@ -304,7 +304,7 @@
},
{
"card": "Exclusiones de almacenamiento / interfaz",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "Tablas SQLite excluded_storages y excluded_interfaces."
},
{
diff --git a/web/messages/es/docs/monitor/dashboard/storage.json b/web/messages/es/docs/monitor/dashboard/storage.json
index 7bb4c4ef..660f95d3 100644
--- a/web/messages/es/docs/monitor/dashboard/storage.json
+++ b/web/messages/es/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Respaldado por tres fuentes",
- "body": "Los almacenamientos Proxmox proceden de pvesm status; ZFS, de zpool status; los discos físicos, de lsblk + smartctl, y nvme para campos específicos. La pestaña se actualiza aproximadamente cada 60 segundos; abrir el detalle solicita una lectura SMART."
+ "body": "Los almacenamientos Proxmox proceden de pvesm status; ZFS, de zpool status; los discos físicos, de lsblk + smartctl, y nvme para campos específicos. La pestaña se actualiza aproximadamente cada 30 segundos; abrir el detalle solicita una lectura SMART."
},
"thresholds": {
"title": "Colores de estado y umbrales aplicados aquí",
diff --git a/web/messages/es/docs/monitor/dashboard/system-logs.json b/web/messages/es/docs/monitor/dashboard/system-logs.json
index 7372eee7..abd74eeb 100644
--- a/web/messages/es/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/es/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Entradas totales: número de registros dentro del intervalo del filtro activo.",
"Errores: número de entradas con severidad ≤ 3 (err / crit / alert / emerg).",
"Advertencias: número de entradas con severidad 4 (warning).",
- "Backups: número de entradas de tareas vzdump / PBS en el mismo intervalo."
+ "Backups: número de archivos de backup en los almacenamientos de backup configurados."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Registros",
"logsIntro": "El journal del sistema, obtenido en el servidor con journalctl. La barra de herramientas ofrece estos filtros:",
"logsFilters": [
- "Severidad: emerg / alert / crit / err / warning / notice / info / debug o cualquier combinación.",
- "Rango temporal — últimos 5 min / 15 min / 1 h / 6 h / 24 h / 7 d / personalizado.",
- "Búsqueda de texto libre: subcadena o expresión regular (journalctl --grep).",
- "Filtro de unidad: restringe a una unidad systemd concreta (pveproxy.service, nginx.service, …)."
+ "Nivel: all, error, warning o info.",
+ "Rango temporal: 1 día / 3 días / 1 semana / 2 semanas / 1 mes, o un número personalizado de días (hasta 90).",
+ "Búsqueda de texto libre: subcadena sin distinguir mayúsculas de minúsculas sobre mensaje, servicio, PID, hostname y unidad, aplicada en el navegador.",
+ "Filtro de servicio: restringe a un servicio (el SYSLOG_IDENTIFIER del journal)."
],
"logsRowsAfter": "Cada fila muestra timestamp, insignia de severidad, unidad de origen y el mensaje. Los mensajes largos se colapsan con un conmutador \"mostrar más\". La acción Download empaqueta el filtro actual en un único archivo .txt vía GET /api/logs/download — útil cuando quieres compartir un trozo del journal con alguien.",
"logDetailsModalTitle": "Modal Log Details",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "MaxLevelStore de journald",
"maxLevelStoreBody": "En una instalación nueva de Proxmox, journald usa por defecto MaxLevelStore=warning, que descarta los mensajes info. Monitor lo detecta al arrancar y añade un archivo de configuración complementario (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) con el umbral info para conservar los mensajes informativos y los de mayor gravedad. Esto no incluye debug.",
"backupsTitle": "Backups",
- "backupsBody": "Historial de tareas de Proxmox filtrado a las entradas relacionadas con backup. Una fila por tarea (vzdump, transferencias PBS, Garbage Collect, Verify) con el estado (OK / WARNINGS / ERROR), el guest implicado, el almacenamiento de origen, la duración y el UPID. Pulsa una fila para cargar el log completo de la tarea vía GET /api/task-log/<upid> — los mismos datos que Proxmox expone a través de Datacenter → Tasks, acotado a backups.",
+ "backupsBody": "Los archivos de backup de cada almacenamiento con capacidad de backup (dir, NFS, CIFS, PBS), leídos con pvesh get /nodes/localhost/storage/<id>/content. Las tarjetas de arriba muestran el número de VMs y LXC y el tamaño total; debajo, una fila por archivo con tipo, almacenamiento, tamaño y fecha. La restauración se hace en la interfaz web de Proxmox.",
"notificationsTitle": "Notificaciones",
- "notificationsBody1": "Todas las notificaciones enviadas por Monitor: Telegram, Discord, correo electrónico, Gotify, ntfy, Slack, Teams y webhook. Cada fila muestra fecha y hora, canal, tipo de evento, severidad, título y cuerpo generados y, si la IA está activa, un selector para comparar su reescritura con el original.",
- "notificationsBody2": "Usa esta pestaña para verificar la entrega de un canal y comparar la reescritura de IA con la plantilla base. Los canales se configuran en la página detallada de Notificaciones."
+ "notificationsBody1": "Actividad de notificaciones de Proxmox: líneas del journal de servicios de Proxmox que mencionan notificaciones, correo, webhooks o alertas, los destinos de /etc/pve/notifications.cfg y las tareas de backup de la lista de tareas del cluster. Las filas de tareas de backup permiten descargar el log completo de la tarea. El historial de lo que el propio Monitor envió está en Settings → Notifications → Notification history.",
+ "notificationsBody2": "Usa esta pestaña para comprobar qué está haciendo el propio sistema de notificaciones de Proxmox. Los canales del Monitor se configuran en la página detallada de Notificaciones."
},
"dataCollected": {
"heading": "Cómo se recopilan los datos",
@@ -64,7 +64,7 @@
{
"subtab": "Logs (filtro en vivo)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> con filtros de severidad, unidad y búsqueda aplicados en el servidor."
+ "source": "journalctl con filtros de prioridad, servicio y rango de días aplicados en el servidor; la búsqueda de texto se ejecuta en el navegador."
},
{
"subtab": "Descargar",
@@ -74,17 +74,17 @@
{
"subtab": "Backups",
"endpoint": "/api/backups",
- "source": "Historial de tareas PVE filtrado por vzdump, transferencias PBS, Garbage Collect, Verify."
+ "source": "Archivos de backup listados desde cada almacenamiento de backup con pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Detalles de una tarea de backup",
+ "subtab": "Log de tareas de backup (Notificaciones)",
"endpoint": "/api/task-log/<upid>",
"source": "Log completo de la tarea en texto plano leído de /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "Historial de notificaciones",
- "endpoint": "/api/notifications/history",
- "source": "Tabla SQLite notification_history, alimentada por el bucle de envío."
+ "subtab": "Notificaciones",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep sobre unidades de Proxmox, /etc/pve/notifications.cfg y tareas de backup de pvesh get /cluster/tasks."
}
],
"apiIntro": "Tanto el filtro en vivo como las descargas también son accesibles vía API:",
diff --git a/web/messages/es/docs/monitor/dashboard/system-overview.json b/web/messages/es/docs/monitor/dashboard/system-overview.json
index 90d47653..d7e9f185 100644
--- a/web/messages/es/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/es/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Cada anillo, barra y minigráfico usa la misma escala: verde por debajo de Advertencia, ámbar entre Advertencia y Crítico, rojo desde Crítico. Valores recomendados incluidos con ProxMenux:",
"thresholdsItems": [
"Uso de CPU: advertencia 85 %, crítico 95 %.",
- "Memoria: advertencia 85 %, crítico 95 %. Swap también activa Crítico al 5 % de uso; un host Proxmox sano debería usarlo rara vez.",
+ "Memoria: advertencia 85 %, crítico 95 %. Swap activa Crítico solo cuando el uso de swap supera el 80 % y la RAM disponible está por debajo del 15 %.",
"Temperatura de CPU: advertencia 80 °C, crítico 90 °C."
],
"thresholdsOutro": "Los valores se configuran por host; Ajustes → Umbrales del monitor de salud documenta y centraliza su ajuste.",
@@ -58,7 +58,7 @@
"intro": "Las tarjetas Uso de CPU y Memoria son pulsables. Abren una lista ordenable con los 25 procesos principales, por uso de CPU desde la primera tarjeta o por memoria residente desde la segunda.",
"listTitle": "El diálogo con la lista",
"listItems": [
- "Actualización automática: la lista se actualiza cada 5 segundos mientras está abierta y deja de consultar datos al cerrar.",
+ "Actualización automática: la lista se actualiza cada 3 segundos mientras está abierta y deja de consultar datos al cerrar.",
"Filtro: el buscador acota la lista por comando, usuario o PID.",
"Barra en línea — la columna de la métrica principal dibuja una barra pequeña escalada al mayor valor de la lista filtrada, para que el orden siga siendo visible aunque ningún proceso esté cerca del 100 %.",
"Layout móvil — por debajo de 640 px las columnas PID y User se ocultan para que Command, CPU % y Memory sigan cabiendo en la pantalla de un teléfono sin scroll horizontal."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Medio: gráficas de métricas del nodo",
- "body1": "Bajo las tarjetas está NodeMetricsCharts, con gráficas históricas de CPU, memoria y E/S de disco del almacén RRD de Proxmox mediante /api/node/metrics. El selector permite 1 hora / 24 horas / 7 días / 30 días / 1 año; la resolución baja al ampliar el intervalo para mantener la fluidez.",
+ "body1": "Bajo las tarjetas está NodeMetricsCharts, con gráficas históricas de CPU, memoria y E/S de disco del almacén RRD de Proxmox mediante /api/node/metrics. El selector permite 1 hora / 24 horas / 7 días / 30 días; la resolución baja al ampliar el intervalo para mantener la fluidez.",
"body2": "Son las mismas gráficas que la UI web de Proxmox renderiza para un nodo, simplemente consolidadas en el tema oscuro del Monitor y alineadas con el resto de paneles."
},
"bottom": {
diff --git a/web/messages/es/docs/monitor/dashboard/vms-lxcs.json b/web/messages/es/docs/monitor/dashboard/vms-lxcs.json
index c8ee65c2..986e3eda 100644
--- a/web/messages/es/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/es/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Etiqueta de destino — el almacenamiento donde vive (PBS-Cloud, PBS-Local, NFS-Backup, …) coloreada por estado.",
"Tamaño: tamaño final en disco del backup."
],
- "backupsOutro": "+ Crear backup inicia un backup en el almacenamiento marcado «Backup target» en Proxmox. Para restaurar usa la interfaz web de Proxmox; Monitor muestra los backups recientes del invitado y permite crearlos.",
+ "backupsOutro": "+ Crear backup abre un diálogo para elegir el almacenamiento, el modo (snapshot / suspend / stop), la protección y las notas antes de iniciar un vzdump. Para restaurar usa la interfaz web de Proxmox; Monitor muestra los backups recientes del invitado y permite crearlos.",
"firewallTitle": "Pestaña 7 — Cortafuegos",
"firewallIntro": "Lee el registro del cortafuegos de cada invitado directamente del host, sin servicio extra ni consultas periódicas. La pestaña siempre aparece; el contenido depende de que el cortafuegos esté activado y de que alguna regla registre paquetes.",
"firewallItems": [
diff --git a/web/messages/es/docs/monitor/health-monitor.json b/web/messages/es/docs/monitor/health-monitor.json
index 7e3a2071..a2ca5bb3 100644
--- a/web/messages/es/docs/monitor/health-monitor.json
+++ b/web/messages/es/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "El indicador refleja la categoría más grave",
"pillBody": "El color de la cabecera del panel es la severidad más alta entre las diez categorías: cualquier CRITICAL → rojo, si no cualquier WARNING → amarillo, si no cualquier INFO → azul, si no verde. La misma lógica dirige el punto del favicon y el badge del PWA.",
"updateNowTitle": "Botón Update Now en la cabecera de Overview",
- "updateNowBody1": "Cuando la categoría Actualizaciones del sistema reporta una o más actualizaciones pendientes, la cabecera de Overview renderiza un botón Update Now al lado de la pildora de salud. El botón abre una modal que ejecuta el mismo flujo del lado del host que ProxMenux → Settings post-install Proxmox → Proxmox System Update: higiene de repos, apt full-upgrade vía el worker seguro update-pve-safe.sh, recompilación DKMS automática de los drivers gestionados por ProxMenux cuando aterriza un kernel nuevo, autoremove / autoclean y prompt de reinicio si el kernel cambió. Las líneas de progreso van llegando a la modal según las va imprimiendo el worker.",
- "updateNowBody2": "Al terminar la ejecución, cerrar la modal llama a GET /api/health/details?refresh=1, que invalida la caché del endpoint de health antes de servir. La fila de actualizaciones pendientes y la severidad de la pildora se recomputan al momento a partir del nuevo estado de paquetes, así que el badge desaparece sin esperar al siguiente ciclo de cinco minutos. Cuando el host ya está al día el botón queda oculto — sin ruido visual en un sistema sano."
+ "updateNowBody1": "Cuando la categoría Actualizaciones del sistema reporta una o más actualizaciones pendientes, la cabecera de Overview renderiza un botón Update Now al lado de la pildora de salud. El botón abre una modal que ejecuta el mismo flujo del lado del host que ProxMenux → Utilities and Tools → Proxmox System Update: higiene de repos, apt full-upgrade vía el worker seguro update-pve-safe.sh, recompilación DKMS automática de los drivers gestionados por ProxMenux cuando aterriza un kernel nuevo, autoremove / autoclean y prompt de reinicio si el kernel cambió. Las líneas de progreso van llegando a la modal según las va imprimiendo el worker.",
+ "updateNowBody2": "Al terminar la ejecución, cerrar la modal llama a GET /api/health/full?refresh=1, que invalida la caché del endpoint de health antes de servir. La fila de actualizaciones pendientes y la severidad de la pildora se recomputan al momento a partir del nuevo estado de paquetes, así que el badge desaparece sin esperar al siguiente ciclo de cinco minutos. Cuando el host ya está al día el botón queda oculto — sin ruido visual en un sistema sano."
},
"dismiss": {
"heading": "Hacer dismiss de alertas y la Suppression Duration",
diff --git a/web/messages/es/docs/monitor/index.json b/web/messages/es/docs/monitor/index.json
index 6d56db73..1e213067 100644
--- a/web/messages/es/docs/monitor/index.json
+++ b/web/messages/es/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "API REST e integraciones",
"intro": "Los endpoints REST ofrecen datos de monitorización JSON por HTTP/HTTPS para widgets Homepage, sensores Home Assistant, pruebas Uptime Kuma y scripts. Grafana puede usar el exportador de texto Prometheus en /api/prometheus. Las peticiones se pueden hacer con curl.",
- "tokens": "Los tokens API de larga duración (365 días) se generan en Configuración → Tokens de acceso API o mediante POST /api/auth/generate-api-token.",
+ "tokens": "Los tokens API de larga duración (365 días) se generan en Admin → Security → API Tokens o mediante POST /api/auth/generate-api-token.",
"bearer": "Envía tokens con Authorization: Bearer …. /api/health también espera la cabecera Bearer, así que las pruebas de disponibilidad necesitan un token read_only. Bajo /api/auth/* hay rutas públicas de configuración/inicio/estado y rutas protegidas de cuentas y tokens; no todas son anónimas.",
"catalog": "El catálogo de endpoints, rotación de tokens y prácticas de seguridad están en Referencia de la API. Los ejemplos para Homepage, Home Assistant, Grafana, Uptime Kuma y cURL están en Integraciones."
},
"serviceControl": {
"heading": "Control del servicio",
- "intro": "Monitor se gestiona como cualquier servicio systemd. También tiene dos entradas en la interfaz de texto ProxMenux bajo Configuración:",
+ "intro": "Monitor se gestiona como cualquier servicio systemd. También tiene tres entradas en la interfaz de texto ProxMenux bajo Configuración:",
"codeComment": "# Control manual",
"footer": "Consulta Configuración → ProxMenux Monitor para activar/desactivar el servicio y verificar su estado."
},
diff --git a/web/messages/es/docs/monitor/integrations.json b/web/messages/es/docs/monitor/integrations.json
index c31f56c6..64eef249 100644
--- a/web/messages/es/docs/monitor/integrations.json
+++ b/web/messages/es/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Autenticación: lo único que cada guía necesita",
"intro": "La mayoría de los endpoints usados por estas integraciones están autenticados. Tienes dos formas de satisfacer ese requisito.",
"optAtitle": "Opción A — API token (recomendado para integraciones)",
- "optAbody1": "Entra en Ajustes → Seguridad → Tokens API. Pulsa Generar token, ponle un nombre, como homepage, home-assistant o prometheus, y cópialo: se muestra una sola vez. Caduca al año por defecto y puede revocarse individualmente. Úsalo para los clientes externos al navegador.",
+ "optAbody1": "Entra en Admin → Security → API Tokens. Pulsa Generar token, ponle un nombre, como homepage, home-assistant o prometheus, y cópialo: se muestra una sola vez. Caduca al año por defecto y puede revocarse individualmente. Úsalo para los clientes externos al navegador.",
"optAbody2": "A partir de ahí cada petición es simplemente:",
"optBtitle": "Opción B — flujo de login (usuario + contraseña)",
"optBbody": "Útil para scripts que se autentican como un usuario humano. El token devuelto es de corta duración; la mayoría de integraciones deberían preferir la Opción A.",
"outro": "El campo TOTP solo hace falta con la autenticación en dos pasos activada. La rotación y revocación de tokens, la política de contraseñas y el registro de auditoría se explican en Acceso y autenticación.",
"httpsTitle": "Usando HTTPS en lugar de HTTP",
- "httpsIntro": "Cada guía de abajo usa http:// en las URLs para mantener los ejemplos cortos. Si has activado TLS en el Monitor (Settings → Security → SSL/HTTPS), cambia http:// por https:// en cada URL — ese es el único cambio. Dos notas específicas para ciertas herramientas:",
+ "httpsIntro": "Cada guía de abajo usa http:// en las URLs para mantener los ejemplos cortos. Si has activado TLS en el Monitor (Admin → Security → SSL / HTTPS), cambia http:// por https:// en cada URL — ese es el único cambio. Dos notas específicas para ciertas herramientas:",
"httpsItems": [
"Certificados autofirmados. La integración rest: de Home Assistant verifica TLS por defecto. Si el Monitor está usando su propio cert autofirmado, añade verify_ssl: false a cada bloque REST (junto a scan_interval:), o importa la CA del Monitor al trust store de HA. Lo mismo para cualquier herramienta que rechace certs no confiables.",
"Prometheus ya tiene scheme: https listo en la configuración de scrape de abajo; descomenta / déjalo como https si TLS está activado en el Monitor."
@@ -43,7 +43,7 @@
"basicTitle": "Widget básico — sin autenticación",
"basicIntro": "Usa esto cuando ProxMenux Monitor esté en una red de confianza y aún no hayas activado la autenticación en el lado del Monitor. La entrada más simple posible en services.yaml:",
"authedTitle": "Widget autenticado",
- "authedIntro": "Genera un API token en Settings → Security → API Tokens en el Monitor, cópialo y pégalo en la cabecera Authorization de abajo — reemplaza el token de ejemplo mostrado tras Bearer con el que acabas de copiar:",
+ "authedIntro": "Genera un API token en Admin → Security → API Tokens en el Monitor, cópialo y pégalo en la cabecera Authorization de abajo — reemplaza el token de ejemplo mostrado tras Bearer con el que acabas de copiar:",
"authedOutro": "Reinicia Homepage y la tarjeta se enciende con valores en vivo. Reutiliza el mismo token en todos los widgets Homepage que apunten al mismo host de ProxMenux Monitor.",
"multiTitle": "Setup multi-widget — sistema, almacenamiento, red",
"multiIntro": "Para una vista más rica, renderiza tres tarjetas separadas respaldadas por distintos endpoints — una para métricas del sistema, una para almacenamiento, una para red. Usa el mismo token en cada tarjeta; es la misma instancia del Monitor.",
diff --git a/web/messages/es/docs/security/ssl-letsencrypt.json b/web/messages/es/docs/security/ssl-letsencrypt.json
index f7710e7a..a83d4ee4 100644
--- a/web/messages/es/docs/security/ssl-letsencrypt.json
+++ b/web/messages/es/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "Qué cubre esta página",
- "body": "Cómo cambiar el Monitor de HTTP a HTTPS en el panel Settings → Security, a qué apunta realmente cada fuente de certificado en disco, cómo se comporta la opción de Proxmox cuando el host tiene un certificado Let's Encrypt y cómo establecer rutas personalizadas si gestionas certificados fuera de Proxmox."
+ "body": "Cómo cambiar el Monitor de HTTP a HTTPS en el panel Admin → Security, a qué apunta realmente cada fuente de certificado en disco, cómo se comporta la opción de Proxmox cuando el host tiene un certificado Let's Encrypt y cómo establecer rutas personalizadas si gestionas certificados fuera de Proxmox."
},
"wheresetting": {
"heading": "Ubicación del ajuste",
- "body": "Abre Monitor y ve a Ajustes → Seguridad → HTTPS / SSL. El panel muestra HTTP o HTTPS y, si HTTPS no está activo, las fuentes de certificados detectadas.",
- "imageAlt": "Panel Settings → Security → HTTPS / SSL en el Monitor mostrando el estado HTTPS desactivado, el certificado de Proxmox autodetectado (subject, issuer, expiry) y la opción Use Custom Certificate",
- "caption": "Panel Ajustes → Seguridad → HTTPS / SSL antes de activar HTTPS. Monitor muestra el certificado que usa Proxmox y permite elegirlo con un clic."
+ "body": "Abre Monitor y ve a Admin → Security → SSL / HTTPS. El panel muestra HTTP o HTTPS y, si HTTPS no está activo, las fuentes de certificados detectadas.",
+ "imageAlt": "Panel Admin → Security → SSL / HTTPS en el Monitor mostrando el estado HTTPS desactivado, el certificado de Proxmox autodetectado (subject, issuer, expiry) y la opción Use Custom Certificate",
+ "caption": "Panel Admin → Security → SSL / HTTPS antes de activar HTTPS. Monitor muestra el certificado que usa Proxmox y permite elegirlo con un clic."
},
"twoways": {
"heading": "Dos formas de habilitar HTTPS",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Cambiar el Monitor a HTTPS",
- "bodyRich": "Una vez que /etc/pve/local/pveproxy-ssl.pem está firmado por Let's Encrypt, abre Ajustes → Seguridad → HTTPS / SSL, comprueba que el emisor sea Let's Encrypt y no la CA local de Proxmox, y pulsa Usar certificado de Proxmox. Monitor se reinicia y la siguiente carga usa HTTPS en 8008 con una cadena de confianza pública. Las renovaciones ACME posteriores se validan y seleccionan en la siguiente conexión TLS nueva, sin sondeo periódico ni reinicio del servicio por renovación. Actualizar certificado sigue disponible en Seguridad como acción explícita de diagnóstico y recuperación."
+ "bodyRich": "Una vez que /etc/pve/local/pveproxy-ssl.pem está firmado por Let's Encrypt, abre Admin → Security → SSL / HTTPS, comprueba que el emisor sea Let's Encrypt y no la CA local de Proxmox, y pulsa Usar certificado de Proxmox. Monitor se reinicia y la siguiente carga usa HTTPS en 8008 con una cadena de confianza pública. Las renovaciones ACME posteriores se validan y seleccionan en la siguiente conexión TLS nueva, sin sondeo periódico ni reinicio del servicio por renovación. Actualizar certificado sigue disponible en Seguridad como acción explícita de diagnóstico y recuperación."
},
"custom": {
"heading": "Certificado personalizado — cuándo usarlo",
diff --git a/web/messages/fr/docs/monitor/access-auth.json b/web/messages/fr/docs/monitor/access-auth.json
index 8932f21e..06fa3d85 100644
--- a/web/messages/fr/docs/monitor/access-auth.json
+++ b/web/messages/fr/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Atteindre le tableau de bord",
- "intro": "Le ProxMenux Monitor se lie au 0.0.0.0:8008. Il y a trois façons communes d'y parvenir:",
+ "intro": "Le ProxMenux Monitor écoute sur le TCP 8008 sur toutes les interfaces (::, IPv4 et IPv6). Il y a trois façons communes d’y accéder :",
"outro": "L’accès direct correspond à l’unité systemd par défaut. Le proxy inverse et Secure Gateway sont décrits ci-dessous. La confiance accordée aux IP clientes de X-Forwarded-For nécessite PROXMENUX_TRUST_PROXY=1 et un proxy que vous contrôlez. La seule présence de X-Forwarded-Proto ou X-Forwarded-Host n’active pas la confiance envers le proxy. Sur les ports 80/443, le frontend utilise des URL relatives /api/* ; sur tout autre port, il appelle le port 8008 du même nom d’hôte."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json — ce qu'il contient et comment il est protégé",
"authJsonBody": "Les données d’authentification se trouvent dans /root/.config/proxmenux-monitor/auth.json, mode 0600, propriétaire root. Le fichier contient des hachages PBKDF2 et des secrets cryptographiques (jwt_secret, totp_secret), jamais le mot de passe en clair. Chiffrez les destinations de sauvegarde ou de réplication et n’ajoutez jamais ce fichier au contrôle de version.",
"rotateTitle": "La rotation de jwt_secret invalide tous les JWT existants",
- "rotateBody": "Si auth.json est recréé ou restauré avec un autre secret, jwt_secret change. Les anciens JWT de session et d’API échouent alors avec « Invalid or expired token ». L’interface affiche Invalide — régénérer pour les jetons concernés. Révoquez-les et remplacez-les aussi dans Home Assistant, les scripts et les autres clients.",
+ "rotateBody": "Si auth.json est recréé ou restauré avec un autre secret, jwt_secret change. Les anciens JWT de session et d’API échouent alors avec « Invalid or expired token ». L’interface marque en rouge les jetons d’API concernés, avec un badge indiquant de les révoquer et d’en générer de nouveaux. Remplacez-les aussi dans Home Assistant, les scripts et les autres clients.",
"recoverTitle": "Récupération d'un mot de passe perdu",
"recoverIntro": "Il n'y a pas de flux \"mot de passe oublié\" en ligne — par conception, puisque le tableau de bord fonctionne sur le propre hôte de l'opérateur et le chemin de récupération est l'accès shell à cet hôte. ProxMenux envoie une réinitialisation guidée dans le menu de configuration afin que vous n'ayez pas à éditer manuellement auth.json:",
"survivesTitle": "Ce qui survit à la réinitialisation",
@@ -284,14 +284,14 @@
"heading": "Jetons API de longue durée",
"intro": "Les sessions expirent après 24 heures. Pour Homepage, Home Assistant, Grafana ou Uptime Kuma, créez un jeton API valable 365 jours. Ce JWT utilise le même secret de signature ; le champ token_name permet de le suivre et de le révoquer individuellement.",
"imageAlt": "Panneau de jetons API montrant la liste de jetons avec nom, préfixe, date de création et expiration",
- "imageCaption": "Liste des jetons dans les paramètres : nom, préfixe avec quatre derniers caractères d’identification, dates de création et d’expiration, action de révocation.",
+ "imageCaption": "Liste des jetons d’API sous Admin → Sécurité : nom, préfixe avec quatre derniers caractères d’identification, dates de création et d’expiration, action de révocation.",
"generateTitle": "Générer un jeton",
"generateIntro": "Dans le tableau de bord:",
"generateSteps": [
- "Ouvrez Sécurité → Jetons d’accès API.",
+ "Ouvrez l’onglet Sécurité → section Jetons d’API.",
"Tapez un nom descriptif (p.ex. \"Home Assistant\").",
"Entrez de nouveau votre mot de passe. Si 2FA est activé, aussi le code à chiffres 6 actuel.",
- "Cliquez sur Générer le jeton. Il s’affiche une seule fois : copiez-le immédiatement."
+ "Cliquez sur Générer un nouveau jeton, puis sur Générer le jeton. Il s’affiche une seule fois : copiez-le immédiatement."
],
"generateCli": "Depuis la ligne de commande :",
"useTitle": "Utiliser un jeton",
@@ -310,7 +310,7 @@
"intro": "Deux chemins vers TLS:",
"items": [
"Proxy inverse recommandé. Terminez TLS sur Nginx / Caddy / Traefik et transmettez HTTP au processus Flask sur le port 8008. Exemples ci-dessous.",
- "HTTPS direct dans l’AppImage. Configurez un certificat via POST /api/ssl/configure (interface : Paramètres → SSL). HTTPS utilise gevent.pywsgi avec son gestionnaire standard ; flask-sock gère WebSocket pour WSS. Les chemins des certificats sont enregistrés dans la configuration SSL."
+ "HTTPS direct dans l’AppImage. Configurez un certificat via POST /api/ssl/configure (interface : Admin → Sécurité → SSL / HTTPS). HTTPS utilise gevent.pywsgi avec son gestionnaire standard ; flask-sock gère WebSocket pour WSS. Les chemins des certificats sont enregistrés dans la configuration SSL."
],
"calloutTitle": "Limites directes de HTTPS",
"calloutBody": "Monitor peut utiliser un certificat géré par Proxmox ou des fichiers personnalisés. Il n’émet pas lui-même de certificats ACME. Pour l’émission et le renouvellement automatiques, utilisez Proxmox ACME ou un proxy inverse Caddy, Traefik ou Nginx et veillez au chargement des certificats renouvelés."
diff --git a/web/messages/fr/docs/monitor/ai-assistant.json b/web/messages/fr/docs/monitor/ai-assistant.json
index 41862525..79c34a55 100644
--- a/web/messages/fr/docs/monitor/ai-assistant.json
+++ b/web/messages/fr/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "La fenêtre de l’application : six fiches, une par fournisseur, avec les descriptions ci-dessous.",
"groq": {
"heading": "Groq",
- "tagline": "Très rapide, généreux niveau libre (30 req/min). Idéal pour commencer.",
+ "tagline": "Très rapide, avec un généreux niveau gratuit. Un bon point de départ.",
"items": [
"Clé API : console.groq.com/keys",
"Exemples de la liste de modèles fournie : allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (local)",
- "tagline": "Utilise les modèles du serveur Ollama configuré. Les modèles locaux s’exécutent sur ce serveur ; les modèles cloud transmettent les requêtes à un fournisseur externe. L’exécution locale évite les frais d’API hébergée, mais utilise votre matériel et votre électricité.",
+ "tagline": "Utilise les modèles de votre serveur Ollama. Entièrement local, privé et gratuit à exécuter.",
"items": [
"Pas de clé API. Définissez le champ Ollama URL sur votre serveur (par défaut http://localhost:11434 ou quel que soit l'hôte exécute votre instance Ollama).",
"Modèles: non filtré. Le moniteur lit les modèles que vous avez tirés sur le côté Ollama via ollama pull <model>. Le menu déroulant est peuplé de GET /api/tags sur votre serveur Ollama.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Niveau de détail par canal",
- "intro": "Telegram, Discord, Gotify et e-mail ont chacun un choix de détail. Trois valeurs déterminent le plafond de tokens et les instructions du mode par défaut :",
+ "intro": "Chacun des six canaux (Telegram, Discord, Gotify, e-mail, Pushover, Apprise) a son propre choix de détail. Trois valeurs déterminent le plafond de tokens et les instructions du mode par défaut :",
"headerLevel": "Niveau",
"headerLabel": "Étiquette UI",
"headerCap": "Limite de production",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Valeurs par défaut à la première installation :",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise — standard.",
"Courriel — detailed. Le courriel est le canal où vous voulez généralement l'image complète pour l'archivage."
],
"emailTitle": "Le niveau de détail du courriel ajoute l'original",
diff --git a/web/messages/fr/docs/monitor/api-reference.json b/web/messages/fr/docs/monitor/api-reference.json
index c11019c5..6e4dddd6 100644
--- a/web/messages/fr/docs/monitor/api-reference.json
+++ b/web/messages/fr/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Données système étendues de l’en-tête : métriques générales et heure de démarrage."
+ "use": "Informations d’en-tête légères : nom d’hôte, durée de fonctionnement et état de santé en cache. Public, aucun jeton requis."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Entrées de journaux filtrées. Demande: ?level=&service=&limit=."
+ "use": "Entrées de journaux filtrées. Demande : ?priority=&service=&limit=&since_days= (priority 0-7, since_days jusqu’à 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Flux d'événements internes — le même qui alimente les notifications."
+ "use": "Tâches et événements récents du cluster Proxmox issus de pvesh get /cluster/tasks. Demande : ?limit= (50 par défaut)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Émet un événement personnalisé. Corps : '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Émet un événement personnalisé. Corps : '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/fr/docs/monitor/architecture.json b/web/messages/fr/docs/monitor/architecture.json
index 71a14829..6873337a 100644
--- a/web/messages/fr/docs/monitor/architecture.json
+++ b/web/messages/fr/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root : le service utilise les privilèges root pour SMART, pvesh et la gestion ZFS. Les processus du terminal web héritent de ces droits.",
"Restart=on-failure avec attente de dix secondes : le service redémarre automatiquement après un échec.",
- "After=network.target : ordonne le démarrage après cette cible ; ne garantit ni adresse IP, ni DNS, ni connexion externe."
+ "After=network.target pve-cluster.service : ordonne le démarrage après la cible réseau et le système de fichiers du cluster Proxmox ; ne garantit ni adresse IP attribuée, ni DNS, ni connexion externe."
],
"inspectTitle": "Inspecter l’unité actuelle"
},
diff --git a/web/messages/fr/docs/monitor/dashboard/hardware.json b/web/messages/fr/docs/monitor/dashboard/hardware.json
index 86a0428e..d5d7e1ff 100644
--- a/web/messages/fr/docs/monitor/dashboard/hardware.json
+++ b/web/messages/fr/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "Statut UPS",
"subHeading": "(conditionnel)",
- "body": "Apparaît avec un serveur NUT (Network UPS Tools) configuré et joignable. Affiche état (secteur / batterie / charge / batterie faible), niveau de batterie, autonomie estimée, taux de charge de l'onduleur, tension d'entrée, modèle et firmware. Les données alimentent aussi Sécurité et certificats du moniteur de santé : le passage sur batterie est immédiatement signalé."
+ "body": "Apparaît avec un serveur NUT (Network UPS Tools) configuré et joignable. Affiche état (secteur / batterie / charge / batterie faible), niveau de batterie, autonomie estimée, taux de charge de l’onduleur, tension d’entrée, modèle et firmware."
},
"dataCollected": {
"heading": "Comment les données sont collectées",
diff --git a/web/messages/fr/docs/monitor/dashboard/index.json b/web/messages/fr/docs/monitor/dashboard/index.json
index 4884cc4c..fa275d57 100644
--- a/web/messages/fr/docs/monitor/dashboard/index.json
+++ b/web/messages/fr/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminal",
- "owns": "Shell vers l'hôte ou toute VM/CT dans le navigateur, avec xterm.js via WebSockets."
+ "owns": "Shell dans le navigateur sur l’hôte Proxmox, avec xterm.js via WebSockets. Les consoles LXC s’ouvrent depuis l’onglet VMs & LXCs."
},
{
"name": "Sécurité",
diff --git a/web/messages/fr/docs/monitor/dashboard/security.json b/web/messages/fr/docs/monitor/dashboard/security.json
index 26511643..8449dba8 100644
--- a/web/messages/fr/docs/monitor/dashboard/security.json
+++ b/web/messages/fr/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL/HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 sur /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/fr/docs/monitor/dashboard/settings.json b/web/messages/fr/docs/monitor/dashboard/settings.json
index ee877c2b..cf0166e4 100644
--- a/web/messages/fr/docs/monitor/dashboard/settings.json
+++ b/web/messages/fr/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Unités réseau",
"imageAlt": "Carte Unités réseau avec le sélecteur d’affichage sur Octets",
"imageCaption": "Choisissez les bits ou les octets par seconde pour toutes les vitesses réseau du tableau de bord.",
- "body": "Affiche le débit en bits par seconde (Mbps/Gbps) ou octets par seconde (MB/s/GB/s). Les bits sont utilisés par défaut comme dans les spécifications réseau ; les transferts de fichiers utilisent souvent les octets. Graphiques, étiquettes et infobulles changent immédiatement sans rechargement."
+ "body": "Affiche le débit réseau dans tout le tableau de bord en bits par seconde (Mbps / Gbps) ou octets par seconde (MB/s / GB/s). Les octets sont utilisés par défaut, comme dans la plupart des outils de transfert de fichiers ; les bits sont ceux dont les fabricants de cartes réseau et les FAI étiquettent leurs produits. Le choix est enregistré dans le navigateur, chacun conserve donc le sien. Graphiques, étiquettes et infobulles qui affichent un débit réseau changent immédiatement sans rechargement."
},
"health": {
"heading": "Moniteur de santé",
@@ -203,7 +203,7 @@
"heading": "Détection de mise à jour LXC",
"imageAlt": "Carte de détection des mises à jour LXC avec interrupteur pour les paquets en attente des conteneurs Debian, Ubuntu et Alpine actifs",
"imageCaption": "Interrupteur de l’analyse périodique par apt list --upgradable / apk list -u dans les CT actifs. Activé par défaut. Le réglage associé dans Notifications → Services apparaît lorsque la détection est active.",
- "intro": "L’interrupteur entre Seuils et Notifications contrôle l’analyse LXC. Activé, il interroge les gestionnaires de paquets des CT actifs ; Matériel affiche les résultats et alimente lxc_updates_available. Désactivé, il arrête ses appels pct exec et supprime les entrées LXC de managed_installs.json ; /api/managed-installs cesse d’afficher cet état sans attendre 24 h.",
+ "intro": "L’interrupteur entre Seuils et Notifications contrôle l’analyse LXC. Activé, il interroge les gestionnaires de paquets des CT actifs ; l’onglet VMs & LXCs affiche les résultats et alimente lxc_updates_available. Désactivé, il arrête ses appels pct exec et supprime les entrées LXC de managed_installs.json ; /api/managed-installs cesse d’afficher cet état sans attendre 24 h.",
"whatRunsTitle": "Ce que l’analyse exécute",
"whatRunsIntro": "Pour chaque CT à l’état running avec un gestionnaire de paquets pris en charge :",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Cette section active les notifications de ProxMenux Monitor et la reformulation par IA. Activer les notifications démarre l’envoi en arrière-plan, enregistre une cible webhook Proxmox VE pour intégrer ses événements et ouvre le formulaire des canaux : Telegram, Discord, courriel, Gotify et autres. La reformulation par IA figure dans une section avancée repliable du même panneau.",
"body2": "Des pages dédiées expliquent les options : canaux, événements, messages enrichis, nom affiché, envoi avec dédoublonnage, temporisation, regroupement et heures silencieuses, webhook PVE, fournisseurs d’IA et modes d’instructions :",
"items": [
- "Notifications : configuration des canaux (Telegram, Discord, Gotify, courriel et mots de passe d’application Gmail / Microsoft, ntfy, Slack, Teams et webhook générique), catégories d’événements, messages enrichis, nom affiché, envoi, webhook PVE, historique et API.",
+ "Notifications : configuration des canaux (Telegram, Discord, Gotify, courriel et mots de passe d’application Gmail / Microsoft, Pushover, et Apprise pour ntfy, Slack, Teams et d’autres services), catégories d’événements, messages enrichis, nom affiché, envoi, webhook PVE, historique et API.",
"Assistant IA : fournisseurs (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modèles, instructions par défaut ou personnalisées, langue de sortie, niveau de détail par canal et suggestions d’IA."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Unités réseau",
- "endpoint": "/api/settings",
- "source": "Enregistré dans la table SQLite des paramètres du tableau de bord."
+ "endpoint": "localStorage",
+ "source": "Préférence du navigateur proxmenux-network-unit."
},
{
"card": "Durées du Health Monitor",
@@ -304,7 +304,7 @@
},
{
"card": "Exclusions de stockage / interface",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "Tables SQLite excluded_storages et excluded_interfaces."
},
{
diff --git a/web/messages/fr/docs/monitor/dashboard/storage.json b/web/messages/fr/docs/monitor/dashboard/storage.json
index 7f5304ca..10662a9c 100644
--- a/web/messages/fr/docs/monitor/dashboard/storage.json
+++ b/web/messages/fr/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Soutenu par trois sources",
- "body": "Les stockages Proxmox viennent de pvesm status, ZFS de zpool status, les disques de lsblk + smartctl et les champs NVMe de nvme. L’onglet s’actualise environ toutes les 60 secondes ; ouvrir le détail demande une lecture SMART."
+ "body": "Les stockages Proxmox viennent de pvesm status, ZFS de zpool status, les disques de lsblk + smartctl et les champs NVMe de nvme. L’onglet s’actualise environ toutes les 30 secondes ; ouvrir le détail demande une lecture SMART."
},
"thresholds": {
"title": "Couleurs et seuils appliqués ici",
diff --git a/web/messages/fr/docs/monitor/dashboard/system-logs.json b/web/messages/fr/docs/monitor/dashboard/system-logs.json
index 80cf6b27..b9c9684a 100644
--- a/web/messages/fr/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/fr/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Total des entrées — nombre de lignes dans la période du filtre actif.",
"Erreurs — nombre de lignes de gravité ≤ 3 (err / crit / alert / emerg).",
"Avertissements — nombre de lignes de gravité 4 (warning).",
- "Sauvegardes — nombre de tâches vzdump / PBS dans la même période."
+ "Sauvegardes : nombre d’archives de sauvegarde sur les stockages de sauvegarde configurés."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Journaux",
"logsIntro": "Le journal système, obtenu sur le serveur avec journalctl. Filtres disponibles dans la barre d'outils :",
"logsFilters": [
- "Gravité — emerg / alert / crit / err / warning / notice / info / debug, ou toute combinaison.",
- "Délais — dernier 5 min/ 15 min/ 1 h/ 6 h/ 24 h/ 7 d/sur mesure.",
- "Recherche libre — sous-chaîne ou expression régulière (journalctl --grep).",
- "Filtre par unité — limite les résultats à une unité systemd donnée (pveproxy.service, nginx.service, …)."
+ "Niveau : tous, error, warning ou info.",
+ "Délais : 1 jour / 3 jours / 1 semaine / 2 semaines / 1 mois, ou un nombre de jours sur mesure (jusqu’à 90).",
+ "Recherche libre : sous-chaîne insensible à la casse dans le message, le service, le PID, le nom d’hôte et l’unité, appliquée dans le navigateur.",
+ "Filtre par service : limite les résultats à un service (le SYSLOG_IDENTIFIER du journal)."
],
"logsRowsAfter": "Chaque ligne affiche l'horodatage, le badge de gravité, l'unité source et le message. Les longs messages s'effondrent avec un \"show more\" bascule. L'action Download regroupe le filtre actuel dans un seul fichier .txt via GET /api/logs/download — utile quand vous voulez partager une tranche de journal avec quelqu'un.",
"logDetailsModalTitle": "Fenêtre Détails du journal",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Sur une nouvelle installation Proxmox, journald utilise par défaut MaxLevelStore=warning, ce qui écarte les messages info. Monitor le détecte au démarrage et ajoute un fichier de configuration complémentaire (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) avec le seuil info, pour conserver les messages informatifs et plus graves. Cela ne comprend pas debug.",
"backupsTitle": "Sauvegardes",
- "backupsBody": "Historique des tâches Proxmox limité aux sauvegardes. Une ligne par tâche (vzdump, transferts PBS, récupération de mémoire inutilisée, vérification), avec état (OK / WARNINGS / ERROR), invité concerné, stockage source, durée et UPID. Cliquez sur une ligne pour charger le journal complet via GET /api/task-log/<upid> : les mêmes données que dans Datacenter → Tâches, limitées aux sauvegardes.",
+ "backupsBody": "Les archives de sauvegarde de chaque stockage compatible avec les sauvegardes (dir, NFS, CIFS, PBS), lues avec pvesh get /nodes/localhost/storage/<id>/content. Les cartes en haut indiquent le nombre de VM et de LXC et la taille totale ; en dessous, une ligne par archive avec type, stockage, taille et date. La restauration se fait dans l’interface web de Proxmox.",
"notificationsTitle": "Notifications",
- "notificationsBody1": "Toutes les notifications envoyées par Monitor : Telegram, Discord, e-mail, Gotify, ntfy, Slack, Teams et webhook. Chaque ligne indique l'horodatage, le canal, le type d'événement, la gravité, le titre et le corps générés et, si l'IA est activée, un bouton pour comparer sa reformulation à l'original.",
- "notificationsBody2": "Cet onglet permet de vérifier la bonne livraison par un canal et de comparer la reformulation de l'IA au texte du modèle. Les canaux se configurent sur la page détaillée Notifications."
+ "notificationsBody1": "Activité des notifications Proxmox : lignes de journal des services Proxmox qui mentionnent des notifications, des e-mails, des webhooks ou des alertes, les cibles de /etc/pve/notifications.cfg et les tâches de sauvegarde de la liste des tâches du cluster. Les lignes de tâche de sauvegarde permettent de télécharger le journal complet de la tâche. L’historique de ce que Monitor lui-même a envoyé se trouve dans Settings → Notifications → Notification history.",
+ "notificationsBody2": "Cet onglet permet de vérifier ce que fait le système de notification propre à Proxmox. Les canaux de Monitor se configurent sur la page détaillée Notifications."
},
"dataCollected": {
"heading": "Comment les données sont collectées",
@@ -64,7 +64,7 @@
{
"subtab": "Journaux (filtre en direct)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> avec filtres de gravité, unité et recherche appliqués sur le serveur."
+ "source": "journalctl avec des filtres de priorité, de service et de plage de jours appliqués sur le serveur ; la recherche de texte s’exécute dans le navigateur."
},
{
"subtab": "Télécharger",
@@ -74,17 +74,17 @@
{
"subtab": "Sauvegardes",
"endpoint": "/api/backups",
- "source": "Historique des tâches PVE filtré sur vzdump, les transferts PBS, la récupération de mémoire inutilisée et la vérification."
+ "source": "Archives de sauvegarde listées depuis chaque stockage de sauvegarde avec pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Détails d'une tâche de sauvegarde",
+ "subtab": "Journal d’une tâche de sauvegarde (Notifications)",
"endpoint": "/api/task-log/<upid>",
"source": "Journal complet des tâches en texte clair lu à partir de /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "Historique des notifications",
- "endpoint": "/api/notifications/history",
- "source": "Table SQLite notification_history alimentée par la boucle d'envoi."
+ "subtab": "Notifications",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep sur les unités Proxmox, /etc/pve/notifications.cfg et les tâches de sauvegarde de pvesh get /cluster/tasks."
}
],
"apiIntro": "Le filtre en direct et les téléchargements sont aussi accessibles via l'API :",
diff --git a/web/messages/fr/docs/monitor/dashboard/system-overview.json b/web/messages/fr/docs/monitor/dashboard/system-overview.json
index 5f6424a5..3022d2ba 100644
--- a/web/messages/fr/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/fr/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Anneaux, barres et mini-courbes suivent la même échelle : vert sous le seuil Avertissement, ambre entre Avertissement et Critique, rouge à partir de Critique. Valeurs recommandées fournies avec ProxMenux :",
"thresholdsItems": [
"Utilisation CPU — avertissement 85 %, critique 95 %.",
- "Mémoire — avertissement 85 %, critique 95 %. Le swap déclenche aussi le niveau Critique à 5 % d'utilisation ; un hôte Proxmox sain devrait rarement y recourir.",
+ "Mémoire : avertissement 85 %, critique 95 %. Le swap ne déclenche le niveau Critique que lorsque son utilisation dépasse 80 % et que la RAM disponible est inférieure à 15 %.",
"Température CPU — avertissement 80 °C, critique 90 °C."
],
"thresholdsOutro": "Les valeurs sont configurables par hôte. Paramètres → Seuils du moniteur de santé centralise leur réglage et explique comment les adapter.",
@@ -58,7 +58,7 @@
"intro": "Les cartes CPU et Mémoire ouvrent une liste triable des 25 processus les plus consommateurs : par utilisation CPU depuis la carte CPU, ou par mémoire résidente depuis la carte Mémoire.",
"listTitle": "La boîte de dialogue liste",
"listItems": [
- "Actualisation automatique — la liste se met à jour toutes les 5 secondes tant que la fenêtre est ouverte ; les requêtes cessent à sa fermeture.",
+ "Actualisation automatique — la liste se met à jour toutes les 3 secondes tant que la fenêtre est ouverte ; les requêtes cessent à sa fermeture.",
"Filtre — la recherche limite la liste par commande, utilisateur ou PID.",
"Barre en ligne — la colonne métrique primaire dessine une petite barre à l'échelle de la valeur la plus élevée de la liste filtrée, de sorte que le classement reste visible même si aucun processus n'est proche de 100 %.",
"Disposition mobile — sous 640 px, les colonnes PID et Utilisateur sont masquées pour garder Commande, CPU % et Mémoire sans défilement horizontal."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Centre : graphiques des métriques du nœud",
- "body1": "Sous les cartes, NodeMetricsCharts affiche les historiques CPU, mémoire et E/S disque du stockage RRD de Proxmox via /api/node/metrics. Le sélecteur propose 1 heure / 24 heures / 7 jours / 30 jours / 1 an. La résolution diminue pour les grandes périodes afin de conserver un affichage fluide.",
+ "body1": "Sous les cartes, NodeMetricsCharts affiche les historiques CPU, mémoire et E/S disque du stockage RRD de Proxmox via /api/node/metrics. Le sélecteur propose 1 heure / 24 heures / 7 jours / 30 jours. La résolution diminue pour les grandes périodes afin de conserver un affichage fluide.",
"body2": "Les mêmes graphiques que l'interface web Proxmox pour un nœud, intégrés au thème sombre de Monitor et alignés avec les autres panneaux."
},
"bottom": {
diff --git a/web/messages/fr/docs/monitor/dashboard/vms-lxcs.json b/web/messages/fr/docs/monitor/dashboard/vms-lxcs.json
index febe9371..e1e2baf1 100644
--- a/web/messages/fr/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/fr/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Destination — stockage (PBS-Cloud, PBS-Local, NFS-Backup, …), coloré selon son état.",
"Taille — taille finale sur disque de la sauvegarde."
],
- "backupsOutro": "+ Créer une sauvegarde lance une sauvegarde sur le stockage marqué « Backup target » dans Proxmox. La restauration se fait dans l'interface web Proxmox ; Monitor montre les sauvegardes récentes de l'invité et permet d'en créer.",
+ "backupsOutro": "Le bouton + Créer une sauvegarde en haut à droite ouvre une fenêtre pour choisir le stockage, le mode (snapshot / suspend / stop), la protection et les notes avant de lancer un vzdump. La restauration se fait dans l’interface web Proxmox ; Monitor montre les sauvegardes récentes de l’invité, pas le processus de récupération.",
"firewallTitle": "Onglet 7 — Pare-feu",
"firewallIntro": "Lit le journal du pare-feu Proxmox de l'invité directement sur l'hôte, sans service ni requêtes périodiques supplémentaires. L'onglet est toujours présent ; son contenu dépend de l'activation du pare-feu et de la journalisation effective d'une règle.",
"firewallItems": [
diff --git a/web/messages/fr/docs/monitor/health-monitor.json b/web/messages/fr/docs/monitor/health-monitor.json
index 2e3654cd..eb2dadc0 100644
--- a/web/messages/fr/docs/monitor/health-monitor.json
+++ b/web/messages/fr/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "L’indicateur reflète la catégorie la plus grave",
"pillBody": "La couleur de l’en-tête reflète la gravité maximale : CRITICAL → rouge, sinon WARNING → jaune, sinon INFO → bleu, sinon vert. Le point de la favicon et le badge PWA suivent la même logique.",
"updateNowTitle": "Bouton Mettre à jour maintenant dans l’en-tête de l’aperçu",
- "updateNowBody1": "Si Mises à jour système signale des mises à jour en attente, Mettre à jour maintenant apparaît près de l’indicateur. La fenêtre lance la procédure de ProxMenux → Settings post-install Proxmox → Proxmox System Update : nettoyage des dépôts, apt full-upgrade via update-pve-safe.sh, reconstruction DKMS des pilotes gérés lors d’un nouveau noyau, autoremove/autoclean et proposition de redémarrage si nécessaire. La progression s’affiche en direct.",
- "updateNowBody2": "À la fin, fermer la fenêtre appelle GET /api/health/details?refresh=1 et invalide le cache du point d’accès. Les mises à jour en attente et la gravité sont recalculées depuis le nouvel état des paquets ; le badge disparaît sans attendre le prochain cycle. Le bouton est masqué si l’hôte est déjà à jour."
+ "updateNowBody1": "Si Mises à jour système signale des mises à jour en attente, Mettre à jour maintenant apparaît près de l’indicateur. La fenêtre lance la procédure de ProxMenux → Utilities and Tools → Proxmox System Update : nettoyage des dépôts, apt full-upgrade via update-pve-safe.sh, reconstruction DKMS des pilotes gérés lors d’un nouveau noyau, autoremove/autoclean et proposition de redémarrage si le noyau a changé. La progression s’affiche en direct.",
+ "updateNowBody2": "À la fin, fermer la fenêtre appelle GET /api/health/full?refresh=1 et invalide le cache du point d’accès. Les mises à jour en attente et la gravité sont recalculées depuis le nouvel état des paquets ; le badge disparaît sans attendre le prochain cycle. Le bouton est masqué si l’hôte est déjà à jour."
},
"dismiss": {
"heading": "Masquer les alertes et choisir la durée de mise en sourdine",
diff --git a/web/messages/fr/docs/monitor/index.json b/web/messages/fr/docs/monitor/index.json
index be430c57..9aa90901 100644
--- a/web/messages/fr/docs/monitor/index.json
+++ b/web/messages/fr/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "REST API et intégrations",
"intro": "Les points d’accès REST exposent les mesures en JSON par HTTP/HTTPS pour Homepage, Home Assistant, Uptime Kuma et les scripts. Grafana peut utiliser l’exporteur texte Prometheus séparé sur /api/prometheus. Les requêtes peuvent être faites avec curl.",
- "tokens": "Les jetons API à longue durée de vie (365 jours) sont générés à partir de Paramètres → API Tokens ou via POST /api/auth/generate-api-token.",
+ "tokens": "Les jetons API à longue durée de vie (365 jours) sont générés à partir de Admin → Sécurité → Jetons API ou via POST /api/auth/generate-api-token.",
"bearer": "Envoyez les jetons via Authorization: Bearer …. /api/health attend aussi l’en-tête Bearer : les sondes de disponibilité ont donc besoin d’un jeton read_only. Sous /api/auth/* se trouvent à la fois des routes publiques de configuration/connexion/état et des routes protégées de gestion du compte et des jetons ; elles ne sont pas toutes anonymes.",
"catalog": "Le catalogue complet des points d'accès, les conseils de rotation des jetons et les bonnes pratiques de sécurité se trouvent dans la référence API. Des exemples pour Homepage, Home Assistant, Grafana et Uptime Kuma, ainsi qu'un modèle générique cURL, sont proposés dans les intégrations."
},
"serviceControl": {
"heading": "Contrôle des services",
- "intro": "Au jour le jour, le moniteur est géré exactement comme tout autre service systemd. Il est également exposé comme deux entrées à l'intérieur du ProxMenux TUI sous Paramètres:",
+ "intro": "Au jour le jour, le moniteur est géré exactement comme tout autre service systemd. Il est également exposé comme trois entrées à l’intérieur du ProxMenux TUI sous Paramètres :",
"codeComment": "# Contrôle manuel",
"footer": "Voir Paramètres → ProxMenux Monitor pour activer/désactiver le service dans le menu et vérifier son état."
},
diff --git a/web/messages/fr/docs/monitor/integrations.json b/web/messages/fr/docs/monitor/integrations.json
index dc4373ac..497bbbf7 100644
--- a/web/messages/fr/docs/monitor/integrations.json
+++ b/web/messages/fr/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Authentification: la seule chose dont chaque recette ait besoin",
"intro": "La plupart de ces points d’accès exigent une authentification. Deux méthodes sont proposées.",
"optAtitle": "Option A — Jeton API (recommandé pour les intégrations)",
- "optAbody1": "Ouvrez Paramètres → Sécurité → Jetons API. Choisissez Générer un jeton, nommez-le par exemple homepage, home-assistant ou prometheus, puis copiez-le : il n’est affiché qu’une fois. Sa durée par défaut est d’un an et il peut être révoqué individuellement. Utilisez-le pour les clients autres que le navigateur.",
+ "optAbody1": "Ouvrez Admin → Sécurité → Jetons API. Choisissez Générer un jeton, nommez-le par exemple homepage, home-assistant ou prometheus, puis copiez-le : il n’est affiché qu’une fois. Sa durée par défaut est d’un an et il peut être révoqué individuellement. Utilisez-le pour les clients autres que le navigateur.",
"optAbody2": "À partir de ce moment, chaque demande est juste:",
"optBtitle": "Option B — flux de connexion (nom d'utilisateur + mot de passe)",
"optBbody": "Utile pour les scripts qui authentifient en tant qu'utilisateur humain. Le jeton retourné est de courte durée; la plupart des intégrations devraient préférer l'option A.",
"outro": "Le champ TOTP n’est requis que si la double authentification est activée. Le renouvellement et la révocation des jetons, les règles de mot de passe et le journal d’audit figurent dans Accès et authentification.",
"httpsTitle": "Utiliser HTTPS au lieu de HTTP",
- "httpsIntro": "Chaque recette ci-dessous utilise http:// dans les URLs pour garder les exemples courts. Si vous avez activé TLS sur le moniteur (Paramètres → Sécurité → SSL/HTTPS), échangez http:// contre https:// dans chaque URL — c'est le seul changement. Deux notes spécifiques à certains outils:",
+ "httpsIntro": "Chaque recette ci-dessous utilise http:// dans les URLs pour garder les exemples courts. Si vous avez activé TLS sur le moniteur (Admin → Sécurité → SSL / HTTPS), échangez http:// contre https:// dans chaque URL — c’est le seul changement. Deux notes spécifiques à certains outils :",
"httpsItems": [
"Certificats autosignés. L’intégration Home Assistant rest: vérifie TLS par défaut. Pour le certificat autosigné du Monitor, ajoutez verify_ssl: false à chaque bloc REST près de scan_interval:, ou ajoutez son AC au magasin de certificats approuvés. Même principe pour les autres outils qui vérifient les certificats.",
"Prometheus dispose déjà de scheme: https dans l’exemple ci-dessous. Activez ou conservez https si TLS est activé sur le Monitor."
@@ -43,7 +43,7 @@
"basicTitle": "Widget de base — pas d'authentification",
"basicIntro": "Utilisez ceci lorsque ProxMenux Monitor est sur un réseau de confiance et que vous n'avez pas encore activé l'authentification du côté Monitor. L'entrée la plus simple possible services.yaml:",
"authedTitle": "Widget authentifié",
- "authedIntro": "Générez un jeton API dans Paramètres → Sécurité → API Jetons sur le moniteur, copiez-le et collez-le dans l'en-tête Authorization ci-dessous — remplacez le jeton d'exemple affiché après Bearer par celui que vous venez de copier:",
+ "authedIntro": "Générez un jeton API dans Admin → Sécurité → Jetons API sur le moniteur, copiez-le et collez-le dans l’en-tête Authorization ci-dessous — remplacez le jeton d’exemple affiché après Bearer par celui que vous venez de copier :",
"authedOutro": "Redémarrez Homepage pour afficher les valeurs actualisées. Réutilisez le même jeton pour les widgets qui interrogent la même instance du Monitor.",
"multiTitle": "Configuration multi-widget — système, stockage, réseau",
"multiIntro": "Pour plus de détails, créez trois cartes utilisant des points d’accès distincts : système, stockage et réseau. Elles utilisent le même jeton pour cette instance du Monitor.",
diff --git a/web/messages/fr/docs/security/ssl-letsencrypt.json b/web/messages/fr/docs/security/ssl-letsencrypt.json
index 7ee2fe14..0abfbed9 100644
--- a/web/messages/fr/docs/security/ssl-letsencrypt.json
+++ b/web/messages/fr/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "Ce que cette page couvre",
- "body": "Comment changer le moniteur de HTTP à HTTPS dans le panneau Paramètres → Sécurité, ce que chaque source de certificat pointe en fait sur le disque, comment l'option Proxmox se comporte quand l'hôte a un cert Let's Encrypt et comment définir des chemins personnalisés si vous gérez des certs en dehors de Proxmox."
+ "body": "Comment changer le moniteur de HTTP à HTTPS dans le panneau Admin → Sécurité, ce que chaque source de certificat pointe en fait sur le disque, comment l’option Proxmox se comporte quand l’hôte a un cert Let’s Encrypt et comment définir des chemins personnalisés si vous gérez des certs en dehors de Proxmox."
},
"wheresetting": {
"heading": "Emplacement du réglage",
- "body": "Ouvrez Monitor et allez dans Paramètres → Sécurité → HTTPS / SSL. Le panneau affiche HTTP ou HTTPS et, si HTTPS est désactivé, les sources de certificats détectées.",
- "imageAlt": "Paramètres → Sécurité → Panneau HTTPS / SSL dans le moniteur montrant l'état HTTPS-off, le certificat Proxmox détecté automatiquement (sujet, émetteur, expiration) et l'option Utiliser un certificat personnalisé",
- "caption": "Panneau Paramètres → Sécurité → HTTPS / SSL avant activation. Monitor affiche le certificat utilisé par Proxmox et permet de le choisir en un clic."
+ "body": "Ouvrez Monitor et allez dans Admin → Sécurité → SSL / HTTPS. Le panneau affiche HTTP ou HTTPS et, si HTTPS est désactivé, les sources de certificats détectées.",
+ "imageAlt": "Panneau Admin → Sécurité → SSL / HTTPS dans le moniteur montrant l’état HTTPS-off, le certificat Proxmox détecté automatiquement (sujet, émetteur, expiration) et l’option Utiliser un certificat personnalisé",
+ "caption": "Panneau Admin → Sécurité → SSL / HTTPS avant activation. Monitor affiche le certificat utilisé par Proxmox et permet de le choisir en un clic."
},
"twoways": {
"heading": "Deux façons d'activer HTTPS",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Changez le moniteur en HTTPS",
- "bodyRich": "Une fois /etc/pve/local/pveproxy-ssl.pem signé par Let's Encrypt, ouvrez Paramètres → Sécurité → HTTPS / SSL, vérifiez que l'émetteur est Let's Encrypt et non l'AC locale de Proxmox, puis cliquez sur Utiliser le certificat Proxmox. Monitor redémarre et le prochain chargement utilise HTTPS sur 8008 avec une chaîne de confiance publique. Les renouvellements ACME suivants sont validés et sélectionnés à la prochaine nouvelle connexion TLS, sans interrogation périodique ni redémarrage à chaque renouvellement. Actualiser le certificat reste disponible dans Sécurité pour le diagnostic et la récupération."
+ "bodyRich": "Une fois /etc/pve/local/pveproxy-ssl.pem signé par Let’s Encrypt, ouvrez Admin → Sécurité → SSL / HTTPS, vérifiez que l’émetteur est Let’s Encrypt et non l’AC locale de Proxmox, puis cliquez sur Utiliser le certificat Proxmox. Monitor redémarre et le prochain chargement utilise HTTPS sur 8008 avec une chaîne de confiance publique. Les renouvellements ACME suivants sont validés et sélectionnés à la prochaine nouvelle connexion TLS, sans interrogation périodique ni redémarrage à chaque renouvellement. Actualiser le certificat reste disponible dans Sécurité pour le diagnostic et la récupération."
},
"custom": {
"heading": "Certificat personnalisé — quand l'utiliser",
diff --git a/web/messages/it/docs/monitor/access-auth.json b/web/messages/it/docs/monitor/access-auth.json
index 59d77edd..6fb2d3fe 100644
--- a/web/messages/it/docs/monitor/access-auth.json
+++ b/web/messages/it/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Raggiungere la dashboard",
- "intro": "ProxMenux Monitor si lega a 0.0.0.0:8008. Ci sono tre modi comuni per raggiungerlo:",
+ "intro": "ProxMenux Monitor è in ascolto sulla porta TCP 8008 su tutte le interfacce (::, IPv4 e IPv6). Ci sono tre modi comuni per raggiungerlo:",
"outro": "L’accesso diretto corrisponde all’unità systemd predefinita. Proxy inverso e Secure Gateway sono descritti più avanti. Per fidarsi degli IP client in X-Forwarded-For servono PROXMENUX_TRUST_PROXY=1 e un proxy sotto il tuo controllo. La sola presenza di X-Forwarded-Proto o X-Forwarded-Host non attiva la fiducia nel proxy. Sulle porte 80/443 il frontend usa URL /api/* relativi; su qualsiasi altra porta chiama la porta 8008 sullo stesso nome host."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json — ciò che contiene e come è protetto",
"authJsonBody": "I dati di autenticazione sono in /root/.config/proxmenux-monitor/auth.json, modalità 0600, proprietario root. Contiene hash PBKDF2 e segreti crittografici (jwt_secret, totp_secret), mai la password in chiaro. Cifra le destinazioni di backup o replica e non inserire questo file nel controllo di versione.",
"rotateTitle": "La rotazione di jwt_secret invalida tutti i JWT esistenti",
- "rotateBody": "Se auth.json viene ricreato o ripristinato con un segreto diverso, cambia jwt_secret. I vecchi JWT di sessione e API falliscono con \"Invalid or expired token\". L’interfaccia li segnala come Non valido — rigenerare. Revocali e sostituiscili anche in Home Assistant, script e altri client.",
+ "rotateBody": "Se auth.json viene ricreato o ripristinato con un segreto diverso, cambia jwt_secret. I vecchi JWT di sessione e API falliscono con \"Invalid or expired token\". L’interfaccia segna in rosso i token API interessati, con un badge che indica di revocarli e generarne di nuovi. Sostituiscili anche in Home Assistant, script e altri client.",
"recoverTitle": "Recuperare una password persa",
"recoverIntro": "Il recupero della password richiede accesso alla shell dell’host. ProxMenux offre una reimpostazione guidata nel menu di configurazione, senza modificare manualmente auth.json:",
"survivesTitle": "Cosa sopravvive al reset",
@@ -284,14 +284,14 @@
"heading": "Token API di lunga durata",
"intro": "Le sessioni scadono dopo 24 ore. Per Homepage, Home Assistant, Grafana o Uptime Kuma crea un token API valido 365 giorni. Il JWT usa lo stesso segreto di firma; il campo token_name permette di identificarlo e revocarlo singolarmente.",
"imageAlt": "Pannello di token API con nome, prefisso, data e scadenza",
- "imageCaption": "Elenco token nelle impostazioni: nome, prefisso con ultimi quattro caratteri di identificazione, date di creazione e scadenza, revoca.",
+ "imageCaption": "Elenco token in Admin → Security: nome, prefisso con ultimi quattro caratteri di identificazione, date di creazione e scadenza, revoca.",
"generateTitle": "Generare un token",
"generateIntro": "Dal cruscotto:",
"generateSteps": [
- "Apri Sicurezza → Token di accesso API.",
+ "Apri la sezione scheda Security → API Tokens.",
"Assegna un nome descrittivo, ad esempio \"Home Assistant\".",
"Reinserisci la password e, con 2FA attivo, il codice attuale a sei cifre.",
- "Premi Genera token. Compare una sola volta: copialo subito."
+ "Premi Generate new token, poi Generate token. Compare una sola volta: copialo subito."
],
"generateCli": "Dalla riga di comando:",
"useTitle": "Usare un token",
@@ -310,7 +310,7 @@
"intro": "Due percorsi per TLS:",
"items": [
"Proxy inverso consigliato. Termina TLS su Nginx / Caddy / Traefik e inoltra HTTP al processo Flask sulla porta 8008. Esempi sotto.",
- "HTTPS diretto nell’AppImage. Configura un certificato con POST /api/ssl/configure (interfaccia: Impostazioni → SSL). HTTPS usa gevent.pywsgi con il gestore standard; flask-sock gestisce WebSocket per WSS. I percorsi sono salvati nella configurazione SSL."
+ "HTTPS diretto nell’AppImage. Configura un certificato con POST /api/ssl/configure (interfaccia: Admin → Security → SSL / HTTPS). HTTPS usa gevent.pywsgi con il gestore standard; flask-sock gestisce WebSocket per WSS. I percorsi sono salvati nella configurazione SSL."
],
"calloutTitle": "Limitazioni dirette HTTPS",
"calloutBody": "Monitor può usare un certificato gestito da Proxmox o file personalizzati. Non emette certificati ACME. Per emissione e rinnovo automatici usa Proxmox ACME o un proxy Caddy, Traefik o Nginx e assicurati che i certificati rinnovati vengano caricati."
diff --git a/web/messages/it/docs/monitor/ai-assistant.json b/web/messages/it/docs/monitor/ai-assistant.json
index 7e793add..118bf8a9 100644
--- a/web/messages/it/docs/monitor/ai-assistant.json
+++ b/web/messages/it/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "In-app modal — sei carte, una per fornitore, con le stesse descrizioni documentate di seguito.",
"groq": {
"heading": "Groq",
- "tagline": "Molto veloce, generoso tier libero (30 req/min). Ideale per iniziare.",
+ "tagline": "Molto veloce, con un generoso tier gratuito. Un buon punto di partenza.",
"items": [
"Chiave API: console.groq.com/keys",
"Esempi dall’elenco di modelli incluso: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (locale)",
- "tagline": "Usa i modelli esposti dal server Ollama configurato. I modelli locali vengono eseguiti lì; i modelli cloud inoltrano le richieste a un provider esterno. L’esecuzione locale evita costi di API ospitate, ma usa hardware ed elettricità tuoi.",
+ "tagline": "Usa i modelli sul tuo server Ollama. Completamente locale, privato e gratuito.",
"items": [
"Nessuna chiave API. Impostare il campo Ollama URL sul server (default http://localhost:11434 o qualsiasi host esegue l'istanza Ollama).",
"Modelli non filtrati. Monitor legge i modelli scaricati con ollama pull <model>. L’elenco viene caricato da GET /api/tags sul server Ollama.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Livello di dettaglio per canale",
- "intro": "Telegram, Discord, Gotify ed e-mail hanno ciascuno una scelta del dettaglio. Tre valori regolano i limiti dei token e le istruzioni del prompt predefinito:",
+ "intro": "Ciascuno dei sei canali (Telegram, Discord, Gotify, e-mail, Pushover, Apprise) ha una propria scelta del dettaglio. Tre valori regolano i limiti dei token e le istruzioni del prompt predefinito:",
"headerLevel": "Livello",
"headerLabel": "Etichetta UI",
"headerCap": "Limite di uscita",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Impostazioni predefinite alla prima installazione:",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise — standard.",
"Email — detailed. Email è il canale in cui si desidera in genere l'immagine completa per l'archiviazione."
],
"emailTitle": "Il livello di dettaglio e-mail aggiunge l'originale",
diff --git a/web/messages/it/docs/monitor/api-reference.json b/web/messages/it/docs/monitor/api-reference.json
index a4789f6b..2ed9b70b 100644
--- a/web/messages/it/docs/monitor/api-reference.json
+++ b/web/messages/it/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Dati di sistema estesi usati nell’intestazione: metriche generali e ora di avvio."
+ "use": "Informazioni leggere di intestazione: hostname, uptime e stato di integrità in cache. Pubblico, nessun token necessario."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Le voci del diario filtrate. Query: ?level=&service=&limit=."
+ "use": "Le voci del diario filtrate. Query: ?priority=&service=&limit=&since_days= (priority 0-7, since_days fino a 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Flusso di eventi interno — lo stesso che alimenta le notifiche."
+ "use": "Attività ed eventi recenti del cluster Proxmox da pvesh get /cluster/tasks. Query: ?limit= (predefinito 50)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Genera un evento personalizzato. Corpo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Genera un evento personalizzato. Corpo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/it/docs/monitor/architecture.json b/web/messages/it/docs/monitor/architecture.json
index b69a24ae..14bbc263 100644
--- a/web/messages/it/docs/monitor/architecture.json
+++ b/web/messages/it/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root: il servizio usa privilegi root per SMART, pvesh e gestione ZFS. I processi del terminale web ereditano questi permessi.",
"Restart=on-failure con attesa di dieci secondi: il servizio riparte automaticamente dopo un’uscita con errore.",
- "After=network.target: ordina l’avvio dopo quel target; non garantisce IP assegnato, DNS o connettività esterna."
+ "After=network.target pve-cluster.service: ordina l’avvio dopo il target di rete e il filesystem del cluster Proxmox; non garantisce IP assegnato, DNS o connettività esterna."
],
"inspectTitle": "Esaminare l’unità attuale"
},
diff --git a/web/messages/it/docs/monitor/dashboard/hardware.json b/web/messages/it/docs/monitor/dashboard/hardware.json
index 039d5771..8b89e2a4 100644
--- a/web/messages/it/docs/monitor/dashboard/hardware.json
+++ b/web/messages/it/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "Stato UPS",
"subHeading": "(condizionale)",
- "body": "Appare con un server NUT (Network UPS Tools) configurato e raggiungibile. Mostra stato (rete / batteria / ricarica / batteria scarica), carica della batteria, autonomia stimata, percentuale di carico, tensione di ingresso, modello e firmware. I dati alimentano anche Sicurezza e certificati del monitor di integrità: il passaggio a batteria viene segnalato subito."
+ "body": "Appare con un server NUT (Network UPS Tools) configurato e raggiungibile. Mostra stato (rete / batteria / ricarica / batteria scarica), carica della batteria, autonomia stimata, percentuale di carico, tensione di ingresso, modello e firmware."
},
"dataCollected": {
"heading": "Come vengono raccolti i dati",
diff --git a/web/messages/it/docs/monitor/dashboard/index.json b/web/messages/it/docs/monitor/dashboard/index.json
index 8345b722..3447d82c 100644
--- a/web/messages/it/docs/monitor/dashboard/index.json
+++ b/web/messages/it/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminale",
- "owns": "Shell dell'host o di qualsiasi VM/CT nel browser, con xterm.js tramite WebSocket."
+ "owns": "Shell nel browser sull’host Proxmox, con xterm.js tramite WebSocket. Le console LXC si aprono dalla scheda VMs & LXCs."
},
{
"name": "Sicurezza",
diff --git a/web/messages/it/docs/monitor/dashboard/security.json b/web/messages/it/docs/monitor/dashboard/security.json
index 067c9ca9..efcbe9ec 100644
--- a/web/messages/it/docs/monitor/dashboard/security.json
+++ b/web/messages/it/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL/HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 su /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/it/docs/monitor/dashboard/settings.json b/web/messages/it/docs/monitor/dashboard/settings.json
index 4abed2a5..f7fa32b1 100644
--- a/web/messages/it/docs/monitor/dashboard/settings.json
+++ b/web/messages/it/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Unità rete",
"imageAlt": "Scheda Unità di rete con il selettore di visualizzazione su Byte",
"imageCaption": "Scegli tra bit al secondo e byte al secondo per ogni velocità di rete visualizzata nel cruscotto.",
- "body": "Mostra la velocità in bit al secondo (Mbps/Gbps) o byte al secondo (MB/s/GB/s). I bit sono predefiniti, come nelle specifiche di schede e provider; i trasferimenti di file usano spesso byte. Grafici, etichette e suggerimenti cambiano subito senza ricaricare."
+ "body": "Scegli come viene mostrata la velocità di rete nella dashboard: bit al secondo (Mbps / Gbps) o byte al secondo (MB/s / GB/s). I byte sono il valore predefinito, come nella maggior parte degli strumenti di trasferimento file; i bit sono quelli con cui produttori di schede e provider etichettano i prodotti. La scelta è salvata nel browser, quindi ogni browser mantiene la propria. Grafici, etichette e suggerimenti cambiano subito senza ricaricare."
},
"health": {
"heading": "Monitoraggio integrità",
@@ -203,7 +203,7 @@
"heading": "Rilevamento aggiornamenti LXC",
"imageAlt": "Scheda di rilevamento aggiornamenti LXC con interruttore per cercare pacchetti in attesa nei container Debian, Ubuntu e Alpine attivi",
"imageCaption": "Interruttore dell’analisi periodica con apt list --upgradable / apk list -u nei CT attivi. È acceso per impostazione predefinita. L’opzione in Notifiche → Servizi appare mentre il rilevamento è attivo.",
- "intro": "L’interruttore tra Soglie e Notifiche controlla l’analisi LXC. Attivo, interroga i gestori di pacchetti dei CT in esecuzione; Hardware mostra i risultati e alimenta lxc_updates_available. Disattivo, ferma le chiamate pct exec e rimuove le voci LXC da managed_installs.json; /api/managed-installs smette di riportare lo stato senza attendere 24 ore.",
+ "intro": "L’interruttore tra Soglie e Notifiche controlla l’analisi LXC. Attivo, interroga i gestori di pacchetti dei CT in esecuzione; i risultati compaiono nei conteggi della scheda VMs & LXCs e alimentano lxc_updates_available. Disattivo, ferma le chiamate pct exec e rimuove subito le voci LXC da managed_installs.json; la dashboard e /api/managed-installs smettono di riportare lo stato senza attendere il ciclo di 24 ore.",
"whatRunsTitle": "Cosa esegue l’analisi",
"whatRunsIntro": "Per ogni CT in stato running con un gestore di pacchetti supportato:",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Qui si attivano le notifiche di ProxMenux Monitor e la riformulazione con IA. Attiva notifiche avvia l’invio in background, registra una destinazione webhook Proxmox VE per riceverne gli eventi e apre i canali: Telegram, Discord, email, Gotify e altri. La riformulazione con IA è in una sezione avanzata espandibile dello stesso pannello.",
"body2": "Le opzioni sono spiegate in pagine dedicate: canali, controlli per evento, messaggi formattati, nome visualizzato, invio con deduplicazione, attesa, raggruppamento e ore silenziose, webhook PVE, provider IA e modalità delle istruzioni:",
"items": [
- "Notifiche: configurazione dei canali (Telegram, Discord, Gotify, email e password per app Gmail / Microsoft, ntfy, Slack, Teams e webhook generico), categorie di eventi, messaggi formattati, nome visualizzato, invio, webhook PVE, cronologia e API.",
+ "Notifiche: configurazione dei canali (Telegram, Discord, Gotify, email e password per app Gmail / Microsoft, Pushover e Apprise per ntfy, Slack, Teams e altri servizi), categorie di eventi, messaggi formattati, nome visualizzato, invio, webhook PVE, cronologia e API.",
"Assistente IA: provider (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modelli, istruzioni predefinite o personalizzate, lingua di uscita, dettaglio per canale e suggerimenti IA."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Unità rete",
- "endpoint": "/api/settings",
- "source": "Salvato nella tabella SQLite delle impostazioni del pannello."
+ "endpoint": "localStorage",
+ "source": "Preferenza del browser proxmenux-network-unit."
},
{
"card": "Durate di Health Monitor",
@@ -304,7 +304,7 @@
},
{
"card": "Esclusioni di storage/interfaccia",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "Tabelle SQLite excluded_storages e excluded_interfaces."
},
{
diff --git a/web/messages/it/docs/monitor/dashboard/storage.json b/web/messages/it/docs/monitor/dashboard/storage.json
index 2f6754d4..2f9f984d 100644
--- a/web/messages/it/docs/monitor/dashboard/storage.json
+++ b/web/messages/it/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Supportato da tre fonti",
- "body": "Gli storage Proxmox provengono da pvesm status, ZFS da zpool status, i dischi da lsblk + smartctl e i campi NVMe da nvme. La scheda si aggiorna circa ogni 60 secondi; aprire il dettaglio richiede una lettura SMART."
+ "body": "Gli storage Proxmox provengono da pvesm status, ZFS da zpool status, i dischi da lsblk + smartctl e i campi NVMe da nvme. La scheda si aggiorna circa ogni 30 secondi; aprire il dettaglio richiede una lettura SMART."
},
"thresholds": {
"title": "Colori e soglie di stato applicate qui",
diff --git a/web/messages/it/docs/monitor/dashboard/system-logs.json b/web/messages/it/docs/monitor/dashboard/system-logs.json
index 056b6ced..2d791087 100644
--- a/web/messages/it/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/it/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Voci totali — numero di record nel periodo del filtro attivo.",
"Errori — numero di voci con gravità ≤ 3 (err / crit / alert / emerg).",
"Avvisi — numero di voci con gravità 4 (warning).",
- "Backup — numero di voci di attività vzdump / PBS nello stesso periodo."
+ "Backup: numero di archivi di backup negli storage di backup configurati."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Log",
"logsIntro": "Il journal di sistema, letto sul server con journalctl. Filtri disponibili nella barra degli strumenti:",
"logsFilters": [
- "Gravità — emerg / alert / crit / err / warning / notice / info / debug, o qualsiasi combinazione.",
- "Time range — ultima 5 min / 15 min / 1 h / 6 h / 24 h / 7 d / personalizzato.",
- "Ricerca libera — sottostringa o espressione regolare (journalctl --grep).",
- "Filtro per unità — limita a una specifica unità systemd (pveproxy.service, nginx.service, …)."
+ "Livello: all, error, warning o info.",
+ "Intervallo di tempo: 1 giorno / 3 giorni / 1 settimana / 2 settimane / 1 mese, oppure un numero personalizzato di giorni (fino a 90).",
+ "Ricerca libera: sottostringa senza distinzione tra maiuscole e minuscole su messaggio, servizio, PID, hostname e unità, applicata nel browser.",
+ "Filtro per servizio: limita a un servizio (il SYSLOG_IDENTIFIER del journal)."
],
"logsRowsAfter": "Ogni riga mostra timestamp, tasso di gravità, unità sorgente e il messaggio. I messaggi lunghi crollano con un \"mostra di più\". L'azione Download raggruppa il filtro corrente in un unico file .txt tramite GET /api/logs/download — utile quando si desidera condividere una fetta di giornale con qualcuno.",
"logDetailsModalTitle": "Finestra Dettagli del log",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Su una nuova installazione Proxmox, journald usa per impostazione predefinita MaxLevelStore=warning, scartando i messaggi info. Monitor lo rileva all'avvio e aggiunge una configurazione complementare (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) con soglia info, per conservare messaggi informativi e più gravi. Questo non include debug.",
"backupsTitle": "Backup",
- "backupsBody": "Cronologia delle attività Proxmox limitata ai backup. Una riga per attività (vzdump, trasferimenti PBS, Garbage Collect, Verify), con stato (OK / WARNINGS / ERROR), guest interessato, storage di origine, durata e UPID. Fai clic su una riga per caricare il log completo tramite GET /api/task-log/<upid>: gli stessi dati esposti da Proxmox in Datacenter → Tasks, limitati ai backup.",
+ "backupsBody": "Gli archivi di backup su ogni storage che supporta i backup (dir, NFS, CIFS, PBS), letti con pvesh get /nodes/localhost/storage/<id>/content. Le schede in alto mostrano il numero di VM e LXC e la dimensione totale; sotto, una riga per archivio con tipo, storage, dimensione e data. Il ripristino si esegue nell’interfaccia web di Proxmox.",
"notificationsTitle": "Notifiche",
- "notificationsBody1": "Tutte le notifiche inviate da Monitor: Telegram, Discord, e-mail, Gotify, ntfy, Slack, Teams e webhook. Ogni riga mostra data e ora, canale, tipo di evento, gravità, titolo e corpo generati e, se l'IA è attiva, un comando per confrontare la sua riscrittura con l'originale.",
- "notificationsBody2": "Usa questa scheda per verificare che un canale recapiti le notifiche e confrontare la riscrittura AI con il modello di base. I canali si configurano nella pagina dettagliata Notifiche."
+ "notificationsBody1": "Attività di notifica di Proxmox: righe del journal dei servizi Proxmox che citano notifiche, e-mail, webhook o avvisi, le destinazioni in /etc/pve/notifications.cfg e le attività di backup dall’elenco delle attività del cluster. Le righe delle attività di backup permettono di scaricare il log completo. La cronologia di ciò che Monitor stesso ha inviato si trova in Settings → Notifications → Notification history.",
+ "notificationsBody2": "Usa questa scheda per verificare cosa fa il sistema di notifiche di Proxmox. I canali di Monitor si configurano nella pagina dettagliata Notifiche."
},
"dataCollected": {
"heading": "Come vengono raccolti i dati",
@@ -64,7 +64,7 @@
{
"subtab": "Registri (filtro in tempo reale)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> con filtri per gravità, unità e ricerca applicati sul server."
+ "source": "journalctl con filtri per priorità, servizio e intervallo di giorni applicati sul server; la ricerca testuale viene eseguita nel browser."
},
{
"subtab": "Scarica",
@@ -74,17 +74,17 @@
{
"subtab": "Backup",
"endpoint": "/api/backups",
- "source": "Cronologia delle attività PVE filtrata per vzdump, trasferimenti PBS, Garbage Collect e Verify."
+ "source": "Archivi di backup elencati da ogni storage di backup con pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Dettagli di un'attività di backup",
+ "subtab": "Log delle attività di backup (Notifications)",
"endpoint": "/api/task-log/<upid>",
"source": "Log completo dell'attività in testo semplice, letto da /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "Cronologia delle notifiche",
- "endpoint": "/api/notifications/history",
- "source": "Tabella SQLite notification_history alimentata dal ciclo di invio."
+ "subtab": "Notifiche",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep sulle unità Proxmox, /etc/pve/notifications.cfg e le attività di backup da pvesh get /cluster/tasks."
}
],
"apiIntro": "Il filtro in tempo reale e i download sono accessibili anche tramite API:",
diff --git a/web/messages/it/docs/monitor/dashboard/system-overview.json b/web/messages/it/docs/monitor/dashboard/system-overview.json
index a2ed2e0d..974c64fc 100644
--- a/web/messages/it/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/it/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Anelli, barre e minigrafici usano la stessa scala: verde sotto Avviso, ambra tra Avviso e Critico, rosso da Critico in poi. Valori predefiniti consigliati inclusi in ProxMenux:",
"thresholdsItems": [
"Utilizzo CPU — avviso 85 %, critico 95 %.",
- "Memoria — avviso 85 %, critico 95 %. Anche lo swap attiva Critico al 5 % di utilizzo; un host Proxmox sano dovrebbe usarlo raramente.",
+ "Memoria: avviso 85 %, critico 95 %. Lo swap attiva Critico solo quando l’uso dello swap supera l’80 % e la RAM disponibile è inferiore al 15 %.",
"Temperatura CPU — avviso 80 °C, critico 90 °C."
],
"thresholdsOutro": "Ogni valore è configurabile per host. Impostazioni → Soglie del monitor di integrità centralizza le impostazioni e spiega come regolarle.",
@@ -58,7 +58,7 @@
"intro": "Le schede Utilizzo CPU e Memoria aprono un elenco ordinabile dei 25 processi principali: per utilizzo CPU dalla scheda CPU e per memoria residente dalla scheda Memoria.",
"listTitle": "La finestra di dialogo elenco",
"listItems": [
- "Aggiornamento automatico — l'elenco si aggiorna ogni 5 secondi finché la finestra è aperta e interrompe le richieste alla chiusura.",
+ "Aggiornamento automatico — l'elenco si aggiorna ogni 3 secondi finché la finestra è aperta e interrompe le richieste alla chiusura.",
"Filtro — la ricerca limita l'elenco per comando, utente o PID.",
"Barra nella riga — la colonna della metrica principale disegna una piccola barra scalata al massimo valore nell'elenco filtrato. La graduatoria resta evidente anche se nessun processo si avvicina al 100 %.",
"Disposizione mobile — sotto 640 px le colonne PID e Utente si nascondono, così Comando, CPU % e Memoria restano visibili senza scorrimento orizzontale."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Centro: grafici delle metriche del nodo",
- "body1": "Sotto le schede, NodeMetricsCharts mostra grafici storici di CPU, memoria e I/O disco dal database RRD di Proxmox tramite /api/node/metrics. Il selettore offre 1 ora / 24 ore / 7 giorni / 30 giorni / 1 anno. La risoluzione diminuisce con periodi più ampi per mantenere fluido il grafico.",
+ "body1": "Sotto le schede, NodeMetricsCharts mostra grafici storici di CPU, memoria e I/O disco dal database RRD di Proxmox tramite /api/node/metrics. Il selettore offre 1 ora / 24 ore / 7 giorni / 30 giorni. La risoluzione diminuisce con periodi più ampi per mantenere fluido il grafico.",
"body2": "Sono gli stessi grafici dell'interfaccia web Proxmox per un nodo, integrati nel tema scuro di Monitor e allineati agli altri pannelli."
},
"bottom": {
diff --git a/web/messages/it/docs/monitor/dashboard/vms-lxcs.json b/web/messages/it/docs/monitor/dashboard/vms-lxcs.json
index 4cd27750..327511a0 100644
--- a/web/messages/it/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/it/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Destinazione — storage (PBS-Cloud, PBS-Local, NFS-Backup, …), colorato secondo lo stato.",
"Dimensione — dimensione finale del backup su disco."
],
- "backupsOutro": "+ Crea backup avvia un backup sullo storage indicato come “Backup target” in Proxmox. Il ripristino si esegue nell'interfaccia web Proxmox; Monitor mostra i backup recenti del guest e permette di crearne.",
+ "backupsOutro": "Il pulsante + Create Backup in alto a destra apre una finestra per scegliere storage, modalità (snapshot / suspend / stop), protezione e note prima di avviare un vzdump. Il ripristino si esegue nell'interfaccia web Proxmox; Monitor mostra la vista “questo guest ha un backup recente?”, non il flusso di recupero.",
"firewallTitle": "Scheda 7 — Firewall",
"firewallIntro": "Legge il log firewall Proxmox del guest direttamente dall'host, senza servizi aggiuntivi né richieste periodiche. La scheda è sempre presente; il contenuto dipende dalla attivazione del firewall e dalla registrazione dei pacchetti da parte di una regola.",
"firewallItems": [
diff --git a/web/messages/it/docs/monitor/health-monitor.json b/web/messages/it/docs/monitor/health-monitor.json
index c80eaf14..352b68ac 100644
--- a/web/messages/it/docs/monitor/health-monitor.json
+++ b/web/messages/it/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "L’indicatore riflette la categoria più grave",
"pillBody": "Il colore dell’intestazione riflette la gravità massima: CRITICAL → rosso, altrimenti WARNING → giallo, altrimenti INFO → blu, altrimenti verde. La stessa logica controlla il punto della favicon e il badge PWA.",
"updateNowTitle": "Pulsante Aggiorna ora nell’intestazione della panoramica",
- "updateNowBody1": "Se Aggiornamenti di sistema segnala aggiornamenti in attesa, appare Aggiorna ora accanto all’indicatore. La finestra esegue la procedura di ProxMenux → Settings post-install Proxmox → Proxmox System Update: pulizia dei repository, apt full-upgrade tramite update-pve-safe.sh, ricompilazione DKMS dei driver gestiti con un nuovo kernel, autoremove/autoclean e richiesta di riavvio se cambia il kernel. La finestra mostra l’avanzamento in tempo reale.",
- "updateNowBody2": "Al termine, chiudere la finestra richiama GET /api/health/details?refresh=1 e invalida la cache dell’endpoint. Aggiornamenti in attesa e gravità vengono ricalcolati dal nuovo stato dei pacchetti: il badge scompare senza attendere il ciclo successivo. Se l’host è già aggiornato, il pulsante resta nascosto."
+ "updateNowBody1": "Se Aggiornamenti di sistema segnala aggiornamenti in attesa, appare Aggiorna ora accanto all’indicatore. La finestra esegue la procedura di ProxMenux → Utilities and Tools → Proxmox System Update: pulizia dei repository, apt full-upgrade tramite update-pve-safe.sh, ricompilazione DKMS dei driver gestiti con un nuovo kernel, autoremove/autoclean e richiesta di riavvio se cambia il kernel. La finestra mostra l’avanzamento in tempo reale.",
+ "updateNowBody2": "Al termine, chiudere la finestra richiama GET /api/health/full?refresh=1 e invalida la cache dell’endpoint. Aggiornamenti in attesa e gravità vengono ricalcolati dal nuovo stato dei pacchetti: il badge scompare senza attendere il ciclo successivo. Se l’host è già aggiornato, il pulsante resta nascosto."
},
"dismiss": {
"heading": "Silenziare gli avvisi e scegliere la durata",
diff --git a/web/messages/it/docs/monitor/index.json b/web/messages/it/docs/monitor/index.json
index e26ca62a..9bf59788 100644
--- a/web/messages/it/docs/monitor/index.json
+++ b/web/messages/it/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "REST API e integrazioni",
"intro": "Gli endpoint REST espongono dati di monitoraggio JSON via HTTP/HTTPS per Homepage, Home Assistant, Uptime Kuma e script. Grafana può usare l’esportatore testuale Prometheus separato su /api/prometheus. Le richieste possono usare curl.",
- "tokens": "I token API a lunga durata (365 giorni) vengono generati in Impostazioni → Token di accesso API o tramite POST /api/auth/generate-api-token.",
+ "tokens": "I token API a lunga durata (365 giorni) vengono generati in Admin → Security → API Tokens o tramite POST /api/auth/generate-api-token.",
"bearer": "Invia i token con Authorization: Bearer …. Anche /api/health richiede l’intestazione Bearer, quindi i controlli di disponibilità necessitano di un token read_only. Sotto /api/auth/* ci sono sia rotte pubbliche di configurazione/login/stato sia rotte protette per account e token; non sono tutte anonime.",
"catalog": "Catalogo degli endpoint, rotazione dei token e sicurezza sono nel Riferimento API; esempi per Homepage, Home Assistant, Grafana, Uptime Kuma e cURL sono in Integrazioni."
},
"serviceControl": {
"heading": "Controllo del servizio",
- "intro": "Giorno per giorno, il Monitor è gestito esattamente come qualsiasi altro servizio systemd. Viene inoltre esposto come due voci all'interno della TUI ProxMenux in Impostazioni:",
+ "intro": "Giorno per giorno, il Monitor è gestito esattamente come qualsiasi altro servizio systemd. Viene inoltre esposto come tre voci all'interno della TUI ProxMenux in Impostazioni:",
"codeComment": "# Controllo manuale",
"footer": "Vedi Impostazioni → ProxMenux Monitor per l'attivazione/disattivazione del menu e il flusso di verifica dello stato."
},
diff --git a/web/messages/it/docs/monitor/integrations.json b/web/messages/it/docs/monitor/integrations.json
index 563e98f9..f43e1931 100644
--- a/web/messages/it/docs/monitor/integrations.json
+++ b/web/messages/it/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Autenticazione: l'unica cosa che ogni ricetta ha bisogno",
"intro": "La maggior parte degli endpoint utilizzati da queste integrazioni sono autenticati. Hai due modi per soddisfare questo requisito.",
"optAtitle": "Opzione A — Token API (consigliato per le integrazioni)",
- "optAbody1": "Apri Impostazioni → Sicurezza → Token API. Premi Genera token, assegna un nome come homepage, home-assistant o prometheus e copialo: appare una sola volta. Scade dopo un anno per impostazione predefinita ed è revocabile singolarmente. Usalo per i client esterni al browser.",
+ "optAbody1": "Apri la dashboard e vai in Admin → Security → API Tokens. Premi Generate token, assegna un nome come homepage, home-assistant o prometheus e copialo: appare una sola volta. Scade dopo un anno per impostazione predefinita ed è revocabile singolarmente. Usalo per i client esterni al browser.",
"optAbody2": "Da quel punto ogni richiesta è solo:",
"optBtitle": "Opzione B — flusso di login (username + password)",
"optBbody": "Utile per script che si autenticano come un utente. Il token restituito dura poco; per la maggior parte delle integrazioni scegli l’opzione A.",
"outro": "Il campo TOTP è obbligatorio solo se sull’account è attiva la 2FA. Rotazione e revoca dei token, criteri delle password e registro di controllo sono descritti in Accesso e autenticazione.",
"httpsTitle": "Utilizzando HTTPS invece di HTTP",
- "httpsIntro": "Gli esempi usano http:// per brevità. Se hai attivato TLS sul Monitor (Impostazioni → Sicurezza → SSL/HTTPS), sostituisci http:// con https:// in ogni URL. Due note per alcuni strumenti:",
+ "httpsIntro": "Gli esempi usano http:// per brevità. Se hai attivato TLS sul Monitor (Admin → Security → SSL / HTTPS), sostituisci http:// con https:// in ogni URL. Due note per alcuni strumenti:",
"httpsItems": [
"Certificati autofirmati. L’integrazione Home Assistant rest: verifica TLS per impostazione predefinita. Per un certificato autofirmato del Monitor aggiungi verify_ssl: false a ogni blocco REST accanto a scan_interval:, oppure importa la CA del Monitor tra i certificati attendibili. Lo stesso vale per altri strumenti che verificano i certificati.",
"Prometheus include già scheme: https nell’esempio sotto. Attiva o mantieni https se TLS è attivo sul Monitor."
@@ -43,7 +43,7 @@
"basicTitle": "widget di base — nessuna autenticazione",
"basicIntro": "Utilizzare questo quando ProxMenux Monitor è su una rete di fiducia e non hai ancora abilitato l'autenticazione sul lato Monitor. La voce services.yaml più semplice:",
"authedTitle": "widget autenticato",
- "authedIntro": "Generare un token API in Impostazioni → Sicurezza → Token API sul Monitor, copiarlo e incollarlo nell'intestazione Authorization di seguito — sostituire il token di esempio mostrato dopo Bearer con quello appena copiato:",
+ "authedIntro": "Generare un token API in Admin → Security → API Tokens sul Monitor, copiarlo e incollarlo nell'intestazione Authorization di seguito — sostituire il token di esempio mostrato dopo Bearer con quello appena copiato:",
"authedOutro": "Riavvia Homepage per visualizzare i valori aggiornati. Riutilizza lo stesso token nei widget che interrogano la stessa istanza del Monitor.",
"multiTitle": "Configurazione multi-widget — sistema, archiviazione, rete",
"multiIntro": "Per più dettagli crea tre schede con endpoint diversi: sistema, archiviazione e rete. Usa lo stesso token per questa istanza del Monitor.",
diff --git a/web/messages/it/docs/security/ssl-letsencrypt.json b/web/messages/it/docs/security/ssl-letsencrypt.json
index 19f7938b..14a1895a 100644
--- a/web/messages/it/docs/security/ssl-letsencrypt.json
+++ b/web/messages/it/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "Che cosa questa pagina copre",
- "body": "Come cambiare il Monitor da HTTP a HTTPS nel pannello Impostazioni → Sicurezza, ciò che ogni fonte di certificato indica effettivamente sul disco, come l'opzione Proxmox si comporta quando l'host ha un cert Let's Encrypt e come impostare percorsi personalizzati se si gestisce certs al di fuori di Proxmox."
+ "body": "Come cambiare il Monitor da HTTP a HTTPS nel pannello Admin → Security, ciò che ogni fonte di certificato indica effettivamente sul disco, come l'opzione Proxmox si comporta quando l'host ha un cert Let's Encrypt e come impostare percorsi personalizzati se si gestisce certs al di fuori di Proxmox."
},
"wheresetting": {
"heading": "Dove si trova l'impostazione",
- "body": "Apri Monitor e vai in Impostazioni → Sicurezza → HTTPS / SSL. Il pannello mostra HTTP o HTTPS e, se HTTPS non è attivo, le fonti di certificato rilevate.",
- "imageAlt": "Impostazioni → Sicurezza → HTTPS / Pannello SSL nel Monitor che mostra lo stato HTTPS-off, il certificato Proxmox auto-determinato (soggetto, emittente, scadenza) e l'opzione Usa Certificato personalizzato",
- "caption": "Pannello Impostazioni → Sicurezza → HTTPS / SSL prima dell'attivazione. Monitor mostra il certificato usato da Proxmox e permette di sceglierlo con un clic."
+ "body": "Apri Monitor e vai in Admin → Security → SSL / HTTPS. Il pannello mostra HTTP o HTTPS e, se HTTPS non è attivo, le fonti di certificato rilevate.",
+ "imageAlt": "Pannello Admin → Security → SSL / HTTPS nel Monitor che mostra lo stato HTTPS-off, il certificato Proxmox auto-determinato (soggetto, emittente, scadenza) e l'opzione Usa Certificato personalizzato",
+ "caption": "Pannello Admin → Security → SSL / HTTPS prima dell'attivazione. Monitor mostra il certificato usato da Proxmox e permette di sceglierlo con un clic."
},
"twoways": {
"heading": "Due modi per abilitare HTTPS",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Passare il Monitor a HTTPS",
- "bodyRich": "Quando /etc/pve/local/pveproxy-ssl.pem è firmato da Let's Encrypt, apri Impostazioni → Sicurezza → HTTPS / SSL, verifica che l'emittente sia Let's Encrypt e non la CA locale Proxmox, poi fai clic su Usa certificato Proxmox. Monitor si riavvia e il caricamento successivo usa HTTPS su 8008 con una catena pubblicamente attendibile. I rinnovi ACME successivi sono convalidati e selezionati alla prossima nuova connessione TLS, senza controlli periodici né riavvio al rinnovo. Aggiorna certificato rimane disponibile in Sicurezza per diagnosi e recupero."
+ "bodyRich": "Quando /etc/pve/local/pveproxy-ssl.pem è firmato da Let's Encrypt, apri Admin → Security → SSL / HTTPS, verifica che l'emittente sia Let's Encrypt e non la CA locale Proxmox, poi fai clic su Usa certificato Proxmox. Monitor si riavvia e il caricamento successivo usa HTTPS su 8008 con una catena pubblicamente attendibile. I rinnovi ACME successivi sono convalidati e selezionati alla prossima nuova connessione TLS, senza controlli periodici né riavvio al rinnovo. Aggiorna certificato rimane disponibile in Sicurezza per diagnosi e recupero."
},
"custom": {
"heading": "Certificato personalizzato — quando utilizzarlo",
diff --git a/web/messages/pt/docs/monitor/access-auth.json b/web/messages/pt/docs/monitor/access-auth.json
index 371da883..9c370300 100644
--- a/web/messages/pt/docs/monitor/access-auth.json
+++ b/web/messages/pt/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Alcançar o painel",
- "intro": "ProxMenux Monitor liga-se a 0.0.0.0:8008. Há três maneiras comuns de alcançá-lo:",
+ "intro": "O ProxMenux Monitor escuta no TCP 8008 em todas as interfaces (::, IPv4 e IPv6). Há três maneiras comuns de alcançá-lo:",
"outro": "O acesso direto corresponde à unidade systemd predefinida. O proxy inverso e o Secure Gateway são descritos abaixo. Confiar nos IP de cliente em X-Forwarded-For exige PROXMENUX_TRUST_PROXY=1 e um proxy sob o seu controlo. A simples presença de X-Forwarded-Proto ou X-Forwarded-Host não ativa a confiança no proxy. Nas portas 80/443, o frontend usa URL /api/* relativos; em qualquer outra porta, chama a porta 8008 no mesmo nome de anfitrião."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json — o que contém e como está protegido",
"authJsonBody": "Os dados de autenticação ficam em /root/.config/proxmenux-monitor/auth.json, modo 0600, proprietário root. Contém hashes PBKDF2 e segredos criptográficos (jwt_secret, totp_secret), nunca a palavra-passe em claro. Cifre os destinos de cópia ou replicação e nunca inclua este ficheiro no controlo de versões.",
"rotateTitle": "A rotação do jwt_secret invalida todos os JWTs existentes",
- "rotateBody": "Se auth.json for recriado ou restaurado com outro segredo, jwt_secret muda. Os JWT antigos de sessão e API falham com \"Invalid or expired token\". A interface assinala-os com Inválido — gerar novamente. Revogue e substitua os tokens também no Home Assistant, scripts e outros clientes.",
+ "rotateBody": "Se auth.json for recriado ou restaurado com outro segredo, jwt_secret muda. Os JWT antigos de sessão e API falham com \"Invalid or expired token\". A interface assinala os tokens de API afetados a vermelho, com um selo que indica para os revogar e gerar novos. Home Assistant, scripts e outros clientes externos precisam de um token novo depois disso.",
"recoverTitle": "Recuperar uma senha perdida",
"recoverIntro": "Não há fluxo online de \"esquecimento de senha\" — por design, já que o painel é executado no próprio host do operador e o caminho de recuperação é o acesso de shell a esse host. ProxMenux envia uma reinicialização guiada dentro do menu de configuração para que você não tenha que editar manualmente auth.json:",
"survivesTitle": "O que sobrevive ao reset",
@@ -284,14 +284,14 @@
"heading": "Tokens API de longa duração",
"intro": "As sessões expiram após 24 horas. Para Homepage, Home Assistant, Grafana ou Uptime Kuma, crie um token API válido por 365 dias. O JWT usa o mesmo segredo; o campo token_name permite identificá-lo e revogá-lo individualmente.",
"imageAlt": "Painel de tokens API com nome, prefixo, data de criação e validade",
- "imageCaption": "Lista nas definições: nome, prefixo com os quatro últimos caracteres de identificação, datas de criação e validade, ação de revogação.",
+ "imageCaption": "Lista em Admin → Security: nome, prefixo com os quatro últimos caracteres de identificação, datas de criação e validade, ação de revogação.",
"generateTitle": "Gerar um token",
"generateIntro": "Do painel:",
"generateSteps": [
- "Abra Segurança → Tokens de acesso API.",
+ "Abra a secção aba Security → API Tokens.",
"Introduza um nome descritivo, por exemplo \"Home Assistant\".",
"Volta a inserir a tua senha. Se 2FA está ligado, também o código atual 6 dígitos.",
- "Clique em Gerar token. Aparece uma única vez: copie-o imediatamente."
+ "Clique em Generate new token e depois em Generate token. O token aparece uma única vez: copie-o imediatamente."
],
"generateCli": "Da linha de comando:",
"useTitle": "Usar um token",
@@ -310,7 +310,7 @@
"intro": "Dois caminhos para o TLS:",
"items": [
"Proxy inverso (recomendado). Terminar TLS em Nginx / Caddy / Traefik e encaminhar HTTP na porta 8008 para o processo Flask. Excertos abaixo.",
- "HTTPS direto na AppImage. Configure um certificado com POST /api/ssl/configure (interface: Definições → SSL). HTTPS usa gevent.pywsgi com o handler padrão; flask-sock trata WebSocket para WSS. Os caminhos ficam na configuração SSL."
+ "HTTPS direto na AppImage. Configure um certificado com POST /api/ssl/configure (interface: Admin → Security → SSL / HTTPS). HTTPS usa gevent.pywsgi com o handler padrão; flask-sock trata WebSocket para WSS. Os caminhos ficam na configuração SSL."
],
"calloutTitle": "Limitações diretas do HTTPS",
"calloutBody": "O Monitor pode usar um certificado gerido pelo Proxmox ou ficheiros próprios. Não emite certificados ACME. Para emissão e renovação automáticas, use Proxmox ACME ou um proxy Caddy, Traefik ou Nginx e garanta que os certificados renovados são carregados."
diff --git a/web/messages/pt/docs/monitor/ai-assistant.json b/web/messages/pt/docs/monitor/ai-assistant.json
index d1bb67d3..d840f824 100644
--- a/web/messages/pt/docs/monitor/ai-assistant.json
+++ b/web/messages/pt/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "O modal no aplicativo — seis cartões, um por provedor, com as mesmas descrições documentadas abaixo.",
"groq": {
"heading": "Groq",
- "tagline": "Nível livre muito rápido e generoso (30 req/min). Ideal para começar.",
+ "tagline": "Muito rápido, com um nível gratuito generoso. Um bom lugar para começar.",
"items": [
"Chave API: console.groq.com/keys",
"Exemplos da lista de modelos incluída: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (local)",
- "tagline": "Utiliza os modelos do servidor Ollama configurado. Os modelos locais executam-se nesse servidor; os modelos cloud encaminham pedidos para um fornecedor externo. A execução local evita custos de API alojada, mas utiliza o seu hardware e eletricidade.",
+ "tagline": "Utiliza modelos do seu servidor Ollama. Totalmente local, privado e gratuito.",
"items": [
"Nenhuma chave API. Defina o campo Ollama URL para o seu servidor (padrão http://localhost:11434 ou qualquer máquina roda sua instância Ollama).",
"Modelos: não filtrados. O Monitor lê quaisquer modelos que você extraiu no lado Ollama via ollama pull <model>. O menu suspenso é preenchido em GET /api/tags em seu servidor Ollama.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Nível de detalhe por canal",
- "intro": "Cada um dos quatro canais (Telegram, Discord, Gotify, Email) tem seu próprio nível de detalhes. Três valores estão disponíveis, mapeados para token caps de saída específicos e para instruções específicas no prompt padrão:",
+ "intro": "Cada um dos seis canais (Telegram, Discord, Gotify, Email, Pushover, Apprise) tem seu próprio nível de detalhes. Três valores estão disponíveis, mapeados para token caps de saída específicos e para instruções específicas no prompt padrão:",
"headerLevel": "Nível",
"headerLabel": "Rótulo UI",
"headerCap": "Limite de saída",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Predefinições na primeira instalação:",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise — standard.",
"Email — detailed. Email é o canal onde você normalmente quer a imagem completa para arquivo."
],
"emailTitle": "Nível de detalhes de e- mail adiciona o original",
diff --git a/web/messages/pt/docs/monitor/api-reference.json b/web/messages/pt/docs/monitor/api-reference.json
index 91fb3a54..2737ed8e 100644
--- a/web/messages/pt/docs/monitor/api-reference.json
+++ b/web/messages/pt/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Dados alargados usados no cabeçalho: métricas gerais e hora de arranque."
+ "use": "Informação leve do cabeçalho: nome do host, tempo de atividade e estado de saúde em cache. Público, sem necessidade de token."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Entradas filtradas no diário. Consulta: ?level=&service=&limit=."
+ "use": "Entradas filtradas no diário. Consulta: ?priority=&service=&limit=&since_days= (priority 0-7, since_days até 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Fluxo de eventos internos — o mesmo que alimenta notificações."
+ "use": "Tarefas e eventos recentes do cluster Proxmox a partir de pvesh get /cluster/tasks. Consulta: ?limit= (predefinição 50)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Emite um evento personalizado. Corpo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Emite um evento personalizado. Corpo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/pt/docs/monitor/architecture.json b/web/messages/pt/docs/monitor/architecture.json
index 20b28ae7..23ef6b17 100644
--- a/web/messages/pt/docs/monitor/architecture.json
+++ b/web/messages/pt/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root: o serviço usa privilégios root para SMART, pvesh e gestão ZFS. Os processos do terminal web herdam estas permissões.",
"Restart=on-failure com espera de dez segundos: o serviço reinicia automaticamente após uma saída com erro.",
- "After=network.target: ordena o arranque após esse alvo; não garante IP atribuído, DNS ou ligação externa."
+ "After=network.target pve-cluster.service: ordena o arranque após o alvo de rede e o sistema de ficheiros do cluster Proxmox; não garante IP atribuído, DNS ou ligação externa."
],
"inspectTitle": "Consultar a unidade atual"
},
diff --git a/web/messages/pt/docs/monitor/dashboard/hardware.json b/web/messages/pt/docs/monitor/dashboard/hardware.json
index 2c13dd4e..0fd5dfd4 100644
--- a/web/messages/pt/docs/monitor/dashboard/hardware.json
+++ b/web/messages/pt/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "Status do no-break",
"subHeading": "(condicional)",
- "body": "Aparece com um servidor NUT (Network UPS Tools) configurado e acessível. Mostra estado (rede / bateria / carregamento / bateria fraca), carga da bateria, autonomia estimada, percentagem de carga suportada, tensão de entrada, modelo e firmware. Alimenta também Segurança e certificados do monitor de saúde: a passagem a bateria é assinalada imediatamente."
+ "body": "Aparece com um servidor NUT (Network UPS Tools) configurado e acessível. Mostra estado (rede / bateria / carregamento / bateria fraca), carga da bateria, autonomia estimada, percentagem de carga suportada, tensão de entrada, modelo e firmware."
},
"dataCollected": {
"heading": "Como os dados são coletados",
diff --git a/web/messages/pt/docs/monitor/dashboard/index.json b/web/messages/pt/docs/monitor/dashboard/index.json
index 18d79d2d..9c52c7a9 100644
--- a/web/messages/pt/docs/monitor/dashboard/index.json
+++ b/web/messages/pt/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminal",
- "owns": "Shell do anfitrião ou de qualquer VM/CT no navegador, com xterm.js sobre WebSockets."
+ "owns": "Shell no navegador no host Proxmox, com xterm.js sobre WebSockets. As consolas LXC abrem a partir do separador VMs & LXCs."
},
{
"name": "Segurança",
diff --git a/web/messages/pt/docs/monitor/dashboard/security.json b/web/messages/pt/docs/monitor/dashboard/security.json
index 01727fc5..d37ebafc 100644
--- a/web/messages/pt/docs/monitor/dashboard/security.json
+++ b/web/messages/pt/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL/HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 em /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/pt/docs/monitor/dashboard/settings.json b/web/messages/pt/docs/monitor/dashboard/settings.json
index fbad5728..b1c4552b 100644
--- a/web/messages/pt/docs/monitor/dashboard/settings.json
+++ b/web/messages/pt/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Unidades de rede",
"imageAlt": "Cartão Unidades de rede com o seletor de apresentação em Bytes",
"imageCaption": "Escolha entre bits por segundo e bytes por segundo para cada taxa de rede exibida no painel.",
- "body": "Mostra a velocidade em bits por segundo (Mbps/Gbps) ou bytes por segundo (MB/s/GB/s). Bits são a predefinição, como nas especificações de placas e fornecedores; as transferências de ficheiros usam frequentemente bytes. Gráficos, etiquetas e ajudas mudam de imediato sem recarregar."
+ "body": "Escolha como a velocidade de rede é mostrada no painel: bits por segundo (Mbps / Gbps) ou bytes por segundo (MB/s / GB/s). Bytes é a predefinição, como a maioria das ferramentas de transferência de ficheiros; bits é como os fabricantes de placas de rede e os ISP etiquetam os seus produtos. A escolha fica guardada no navegador, por isso cada navegador mantém a sua. Afeta todos os gráficos, etiquetas e ajudas que mostram a taxa de rede, de imediato e sem recarregar."
},
"health": {
"heading": "Monitor de Saúde",
@@ -203,7 +203,7 @@
"heading": "Detecção de atualização LXC",
"imageAlt": "Cartão de deteção de atualizações LXC com interruptor para procurar pacotes pendentes em contentores Debian, Ubuntu e Alpine ativos",
"imageCaption": "Interruptor da análise periódica com apt list --upgradable / apk list -u nos CT ativos. Vem ligado. A opção correspondente em Notificações → Serviços aparece com a deteção ativa.",
- "intro": "O interruptor entre Limites e Notificações controla a análise LXC. Ativo, consulta os gestores de pacotes dos CT em execução; Hardware mostra os resultados e alimenta lxc_updates_available. Desativado, para as chamadas pct exec e remove entradas LXC de managed_installs.json; /api/managed-installs deixa de mostrar esse estado sem esperar 24 h.",
+ "intro": "O interruptor entre Limites e Notificações controla a análise LXC. Ativo, consulta os gestores de pacotes dos CT em execução; o separador VMs & LXCs mostra os resultados nos contadores e alimenta lxc_updates_available. Desativado, para as chamadas pct exec e remove entradas LXC de managed_installs.json; /api/managed-installs deixa de mostrar esse estado sem esperar 24 h.",
"whatRunsTitle": "O que a análise executa",
"whatRunsIntro": "Para cada CT no estado running com um gestor de pacotes suportado:",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Aqui se ativam as notificações do ProxMenux Monitor e a reformulação com IA. Ativar notificações inicia o envio em segundo plano, regista um destino webhook Proxmox VE para integrar os seus eventos e abre os canais: Telegram, Discord, email, Gotify e outros. A reformulação com IA está numa secção avançada expansível do mesmo painel.",
"body2": "As opções são explicadas em páginas próprias: canais, controlos por evento, mensagens formatadas, nome apresentado, envio com eliminação de duplicados, intervalo, agregação e horas de silêncio, webhook PVE, fornecedores de IA e modos de instruções:",
"items": [
- "Notificações: configuração dos canais (Telegram, Discord, Gotify, email e palavras-passe de aplicação Gmail / Microsoft, ntfy, Slack, Teams e webhook genérico), categorias de eventos, mensagens formatadas, nome apresentado, envio, webhook PVE, histórico e API.",
+ "Notificações: configuração dos canais (Telegram, Discord, Gotify, email e palavras-passe de aplicação Gmail / Microsoft, Pushover e Apprise para ntfy, Slack, Teams e outros serviços), categorias de eventos, mensagens formatadas, nome apresentado, envio, webhook PVE, histórico e API.",
"Assistente de IA: fornecedores (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modelos, instruções predefinidas ou personalizadas, idioma de saída, detalhe por canal e sugestões de IA."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Unidades de rede",
- "endpoint": "/api/settings",
- "source": "Guardado na tabela SQLite de definições do painel."
+ "endpoint": "localStorage",
+ "source": "Preferência do navegador proxmenux-network-unit."
},
{
"card": "Durações do Health Monitor",
@@ -304,7 +304,7 @@
},
{
"card": "Exclusões de armazenamento / interface",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "Tabelas de SQLite excluded_storages e excluded_interfaces."
},
{
diff --git a/web/messages/pt/docs/monitor/dashboard/storage.json b/web/messages/pt/docs/monitor/dashboard/storage.json
index 9da13a25..a6096624 100644
--- a/web/messages/pt/docs/monitor/dashboard/storage.json
+++ b/web/messages/pt/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Apoiado por três fontes",
- "body": "Os armazenamentos Proxmox vêm de pvesm status, ZFS de zpool status, discos de lsblk + smartctl e campos NVMe de nvme. O separador atualiza-se aproximadamente a cada 60 segundos; abrir o detalhe pede uma leitura SMART."
+ "body": "Os armazenamentos Proxmox vêm de pvesm status, ZFS de zpool status, discos de lsblk + smartctl e campos NVMe de nvme. O separador atualiza-se aproximadamente a cada 30 segundos; abrir o detalhe pede uma leitura SMART."
},
"thresholds": {
"title": "Cor do estado e limiares aplicados aqui",
diff --git a/web/messages/pt/docs/monitor/dashboard/system-logs.json b/web/messages/pt/docs/monitor/dashboard/system-logs.json
index e852138e..8a0646bb 100644
--- a/web/messages/pt/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/pt/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Total de entradas — número de registos no intervalo do filtro ativo.",
"Erros — número de entradas com gravidade ≤ 3 (err / crit / alert / emerg).",
"Avisos — número de entradas com gravidade 4 (warning).",
- "Cópias de segurança — número de entradas de tarefas vzdump / PBS no mesmo intervalo."
+ "Cópias de segurança: número de arquivos de backup nos armazenamentos de backup configurados."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Registros",
"logsIntro": "O journal do sistema, obtido no servidor com journalctl. Filtros disponíveis na barra de ferramentas:",
"logsFilters": [
- "Gravidade — emerg / alert / crit / err / warning / notice / info / debug, ou qualquer combinação.",
- "Tempo de alcance — último 5 min / 15 min / 1 h / 6 h / 24 h / 7 d / custom.",
- "Pesquisa livre — subcadeia ou expressão regular (journalctl --grep).",
- "Filtro por unidade — restringe a uma unidade systemd específica (pveproxy.service, nginx.service, …)."
+ "Nível: todos, erro, aviso ou informação.",
+ "Intervalo de tempo: 1 dia / 3 dias / 1 semana / 2 semanas / 1 mês, ou um número personalizado de dias (até 90).",
+ "Pesquisa livre: subcadeia sem distinção entre maiúsculas e minúsculas sobre mensagem, serviço, PID, nome do host e unidade, aplicada no navegador.",
+ "Filtro por serviço: restringe a um serviço (o SYSLOG_IDENTIFIER do diário)."
],
"logsRowsAfter": "Cada linha mostra a hora, o crachá de gravidade, a unidade de origem e a mensagem. Mensagens longas colapsam com uma opção \"mostrar mais\". A ação Download agrupa o filtro atual em um único arquivo .txt via GET /api/logs/download — útil quando você deseja compartilhar uma fatia de diário com alguém.",
"logDetailsModalTitle": "Janela Detalhes do registo",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Numa instalação nova do Proxmox, journald utiliza por predefinição MaxLevelStore=warning, que descarta mensagens info. O Monitor deteta isto no arranque e acrescenta um ficheiro de configuração complementar (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) com o limiar info, para guardar mensagens informativas e mais graves. Isto não inclui debug.",
"backupsTitle": "Cópias de segurança",
- "backupsBody": "Histórico de tarefas do Proxmox limitado às cópias de segurança. Uma linha por tarefa (vzdump, transferências PBS, recolha de dados não utilizados e verificação), com estado (OK / WARNINGS / ERROR), sistema convidado envolvido, armazenamento de origem, duração e UPID. Clique numa linha para carregar o registo completo através de GET /api/task-log/<upid>: os mesmos dados de Datacenter → Tasks, limitados às cópias de segurança.",
+ "backupsBody": "Os arquivos de backup em cada armazenamento com capacidade de backup (dir, NFS, CIFS, PBS), lidos com pvesh get /nodes/localhost/storage/<id>/content. Os cartões no topo mostram o número de VMs e LXC e o tamanho total; abaixo, uma linha por arquivo com tipo, armazenamento, tamanho e data. A restauração está na interface web do Proxmox.",
"notificationsTitle": "Notificações",
- "notificationsBody1": "Todas as notificações enviadas pelo Monitor: Telegram, Discord, e-mail, Gotify, ntfy, Slack, Teams e webhook. Cada linha mostra data e hora, canal, tipo de evento, gravidade, título e corpo gerados e, se a IA estiver ativa, um controlo para comparar a sua reformulação com o original.",
- "notificationsBody2": "Utilize este separador para verificar se um canal entrega notificações e comparar a reformulação da IA com o modelo de base. Os canais configuram-se na página detalhada Notificações."
+ "notificationsBody1": "Atividade de notificações do Proxmox: linhas do diário dos serviços Proxmox que mencionam notificações, email, webhooks ou alertas, os destinos em /etc/pve/notifications.cfg e as tarefas de backup da lista de tarefas do cluster. As linhas de tarefas de backup permitem descarregar o registo completo da tarefa. O histórico do que o próprio Monitor enviou está em Settings → Notifications → Notification history.",
+ "notificationsBody2": "Utilize este separador para verificar o que o próprio sistema de notificações do Proxmox está a fazer. Os canais do Monitor configuram-se na página detalhada Notificações."
},
"dataCollected": {
"heading": "Como os dados são coletados",
@@ -64,7 +64,7 @@
{
"subtab": "Registos (filtro em direto)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> com filtros de gravidade, unidade e pesquisa aplicados no servidor."
+ "source": "journalctl com filtros de prioridade, serviço e intervalo de dias aplicados no servidor; a pesquisa de texto é feita no navegador."
},
{
"subtab": "Transferir",
@@ -74,17 +74,17 @@
{
"subtab": "Cópias de segurança",
"endpoint": "/api/backups",
- "source": "Histórico de tarefas PVE filtrado por vzdump, transferências PBS, recolha de dados não utilizados e verificação."
+ "source": "Arquivos de backup listados de cada armazenamento de backup com pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Detalhes de uma tarefa de cópia de segurança",
+ "subtab": "Registo de tarefa de backup (Notifications)",
"endpoint": "/api/task-log/<upid>",
"source": "Registo completo da tarefa em texto simples, lido de /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "Histórico de notificações",
- "endpoint": "/api/notifications/history",
- "source": "Tabela SQLite notification_history alimentada pelo ciclo de envio."
+ "subtab": "Notificações",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep sobre unidades Proxmox, /etc/pve/notifications.cfg e tarefas de backup de pvesh get /cluster/tasks."
}
],
"apiIntro": "O filtro em direto e as transferências também estão acessíveis através da API:",
diff --git a/web/messages/pt/docs/monitor/dashboard/system-overview.json b/web/messages/pt/docs/monitor/dashboard/system-overview.json
index 41cc966f..3d93e773 100644
--- a/web/messages/pt/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/pt/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Anéis, barras e minigráficos usam a mesma escala: verde abaixo de Aviso, âmbar entre Aviso e Crítico, vermelho a partir de Crítico. Valores recomendados incluídos no ProxMenux:",
"thresholdsItems": [
"Utilização CPU — aviso 85 %, crítico 95 %.",
- "Memória — aviso 85 %, crítico 95 %. O swap também ativa Crítico a 5 % de utilização; um host Proxmox saudável deverá utilizá-lo raramente.",
+ "Memória: aviso 85 %, crítico 95 %. O swap só ativa Crítico quando a utilização de swap está acima de 80 % e a RAM disponível abaixo de 15 %.",
"Temperatura CPU — aviso 80 °C, crítico 90 °C."
],
"thresholdsOutro": "Os valores são configuráveis por host. Definições → Limiares do monitor de saúde centraliza os ajustes e explica como os adaptar.",
@@ -58,7 +58,7 @@
"intro": "Os cartões Utilização CPU e Memória abrem uma lista ordenável dos 25 processos principais: por utilização CPU no primeiro caso e por memória residente no segundo.",
"listTitle": "A janela da lista",
"listItems": [
- "Atualização automática — a lista atualiza a cada 5 segundos enquanto a janela está aberta e deixa de consultar ao fechar.",
+ "Atualização automática — a lista atualiza a cada 3 segundos enquanto a janela está aberta e deixa de consultar ao fechar.",
"Filtro — a pesquisa limita a lista por comando, utilizador ou PID.",
"Barra inline — a coluna métrica primária desenha uma barra pequena escalonada para o valor mais alto da lista filtrada, então a classificação permanece visível mesmo quando nenhum processo está perto de 100 %.",
"Disposição móvel — abaixo de 640 px, PID e Utilizador ficam ocultos, para Comando, CPU % e Memória caberem sem deslocamento horizontal."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Centro: gráficos de métricas do nó",
- "body1": "Sob os cartões, NodeMetricsCharts apresenta históricos de CPU, memória e E/S de disco do armazenamento RRD do Proxmox através de /api/node/metrics. O seletor oferece 1 hora / 24 horas / 7 dias / 30 dias / 1 ano. A resolução diminui em períodos maiores para manter o gráfico fluido.",
+ "body1": "Sob os cartões, NodeMetricsCharts apresenta históricos de CPU, memória e E/S de disco do armazenamento RRD do Proxmox através de /api/node/metrics. O seletor oferece 1 hora / 24 horas / 7 dias / 30 dias. A resolução diminui em períodos maiores para manter o gráfico fluido.",
"body2": "Os mesmos gráficos da interface web do Proxmox para um nó, integrados no tema escuro do Monitor e alinhados com os outros painéis."
},
"bottom": {
diff --git a/web/messages/pt/docs/monitor/dashboard/vms-lxcs.json b/web/messages/pt/docs/monitor/dashboard/vms-lxcs.json
index 5931276b..8b25af62 100644
--- a/web/messages/pt/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/pt/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Destino — armazenamento (PBS-Cloud, PBS-Local, NFS-Backup, …), colorido conforme o estado.",
"Tamanho — tamanho final em disco da cópia."
],
- "backupsOutro": "+ Criar cópia de segurança inicia uma cópia no armazenamento marcado “Backup target” no Proxmox. O restauro faz-se na interface web Proxmox; o Monitor mostra as cópias recentes do sistema e permite criar novas.",
+ "backupsOutro": "O botão + Create Backup, no canto superior direito, abre uma janela para escolher o armazenamento, o modo (snapshot / suspend / stop), a proteção e as notas antes de iniciar um vzdump. O restauro faz-se na interface web Proxmox; o Monitor mostra se o sistema tem cópias recentes, mas não o fluxo de recuperação.",
"firewallTitle": "Página 7 — Firewall",
"firewallIntro": "Lê o registo do firewall Proxmox de cada sistema diretamente do host, sem serviço adicional nem consultas periódicas. O separador está sempre presente; o conteúdo depende da ativação do firewall e de uma regra registar pacotes.",
"firewallItems": [
diff --git a/web/messages/pt/docs/monitor/health-monitor.json b/web/messages/pt/docs/monitor/health-monitor.json
index 7b24f9d7..923798dc 100644
--- a/web/messages/pt/docs/monitor/health-monitor.json
+++ b/web/messages/pt/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "O indicador reflete a categoria mais grave",
"pillBody": "A cor do cabeçalho reflete a gravidade máxima: CRITICAL → vermelho, senão WARNING → amarelo, senão INFO → azul, senão verde. A mesma lógica controla o ponto do favicon e o distintivo PWA.",
"updateNowTitle": "Atualizar agora no cabeçalho Visão geral",
- "updateNowBody1": "Se Atualizações do sistema indicar atualizações pendentes, surge Atualizar agora junto do indicador. A janela executa o fluxo de ProxMenux → Settings post-install Proxmox → Proxmox System Update: limpeza de repositórios, apt full-upgrade através de update-pve-safe.sh, reconstrução DKMS dos controladores geridos com um novo kernel, autoremove/autoclean e pedido de reinício se o kernel mudar. O progresso aparece em direto.",
- "updateNowBody2": "No fim, fechar a janela chama GET /api/health/details?refresh=1 e invalida a cache do endpoint. As atualizações pendentes e a gravidade são recalculadas a partir do novo estado dos pacotes; o distintivo desaparece sem esperar pelo próximo ciclo. Se o anfitrião já estiver atualizado, o botão fica oculto."
+ "updateNowBody1": "Se Atualizações do sistema indicar atualizações pendentes, surge Atualizar agora junto do indicador. A janela executa o fluxo de ProxMenux → Utilities and Tools → Proxmox System Update: limpeza de repositórios, apt full-upgrade através de update-pve-safe.sh, reconstrução DKMS dos controladores geridos com um novo kernel, autoremove/autoclean e pedido de reinício se o kernel mudar. O progresso aparece em direto.",
+ "updateNowBody2": "No fim, fechar a janela chama GET /api/health/full?refresh=1 e invalida a cache do endpoint. As atualizações pendentes e a gravidade são recalculadas a partir do novo estado dos pacotes; o distintivo desaparece sem esperar pelo próximo ciclo. Se o anfitrião já estiver atualizado, o botão fica oculto."
},
"dismiss": {
"heading": "Silenciar alertas e definir a duração da supressão",
diff --git a/web/messages/pt/docs/monitor/index.json b/web/messages/pt/docs/monitor/index.json
index 2d6eef39..67e3f330 100644
--- a/web/messages/pt/docs/monitor/index.json
+++ b/web/messages/pt/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "REST API e integrações",
"intro": "Os endpoints REST expõem dados de monitorização JSON por HTTP/HTTPS para Homepage, Home Assistant, Uptime Kuma e scripts. Grafana pode usar o exportador de texto Prometheus separado em /api/prometheus. As chamadas podem usar curl.",
- "tokens": "Tokens API de longa duração (365 dias) são gerados em Configurações → API Tokens de acesso ou via POST /api/auth/generate-api-token.",
+ "tokens": "Tokens API de longa duração (365 dias) são gerados em Admin → Security → API Tokens ou via POST /api/auth/generate-api-token.",
"bearer": "Envie tokens com Authorization: Bearer …. /api/health também espera o cabeçalho Bearer, pelo que os testes de disponibilidade precisam de um token read_only. Em /api/auth/* existem tanto rotas públicas de configuração/início/estado como rotas protegidas de contas e tokens; nem todas são anónimas.",
"catalog": "O catálogo de endpoints, rotação de tokens e segurança estão na Referência da API; exemplos para Homepage, Home Assistant, Grafana, Uptime Kuma e cURL estão em Integrações."
},
"serviceControl": {
"heading": "Controle de serviço",
- "intro": "Diariamente, o Monitor é gerenciado exatamente como qualquer outro serviço systemd. Ele também é exposto como duas entradas dentro da TUI ProxMenux em Configurações:",
+ "intro": "Diariamente, o Monitor é gerenciado exatamente como qualquer outro serviço systemd. Ele também é exposto como três entradas dentro da TUI ProxMenux em Configurações:",
"codeComment": "# Controle manual",
"footer": "Consulte Configurações → ProxMenux Monitor para alternar no menu e fluxo de verificação de status."
},
diff --git a/web/messages/pt/docs/monitor/integrations.json b/web/messages/pt/docs/monitor/integrations.json
index a1c33729..f020e59f 100644
--- a/web/messages/pt/docs/monitor/integrations.json
+++ b/web/messages/pt/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Autenticação: a única coisa que cada receita precisa",
"intro": "A maioria dos endpoints usados por essas integrações são autenticados. Tem duas maneiras de satisfazer esse requisito.",
"optAtitle": "Opção A — API token (recomendado para integrações)",
- "optAbody1": "Abra Definições → Segurança → Tokens API. Clique em Gerar token, dê-lhe um nome como homepage, home-assistant ou prometheus e copie-o: é apresentado uma única vez. Expira ao fim de um ano por predefinição e pode ser revogado individualmente. Use-o em clientes externos ao navegador.",
+ "optAbody1": "Abra Admin → Security → API Tokens. Clique em Generate token, dê-lhe um nome como homepage, home-assistant ou prometheus e copie-o: é apresentado uma única vez. Expira ao fim de um ano por predefinição e pode ser revogado individualmente. Use-o em clientes externos ao navegador.",
"optAbody2": "A partir desse ponto cada pedido é apenas:",
"optBtitle": "Opção B – fluxo de login (nome de usuário + senha)",
"optBbody": "Útil para scripts que autenticam como um usuário humano. O token retornado é de curta duração; a maioria das integrações deve preferir a Opção A.",
"outro": "O campo TOTP só é necessário com autenticação de dois fatores ativa. A rotação e revogação dos tokens, a política de palavras-passe e o registo de auditoria estão em Acesso e autenticação.",
"httpsTitle": "Usando HTTPS em vez de HTTP",
- "httpsIntro": "Cada receita abaixo usa http:// nas URLs para manter os exemplos curtos. Se você ativou TLS no Monitor (Configurações → Segurança → SSL/HTTPS), troque http:// para https:// em cada URL — essa é a única mudança. Duas notas específicas para certos instrumentos:",
+ "httpsIntro": "Cada receita abaixo usa http:// nas URLs para manter os exemplos curtos. Se você ativou TLS no Monitor (Admin → Security → SSL / HTTPS), troque http:// para https:// em cada URL — essa é a única mudança. Duas notas específicas para certos instrumentos:",
"httpsItems": [
"Certificados autoassinados. A integração Home Assistant rest: verifica TLS por predefinição. Para um certificado autoassinado do Monitor, adicione verify_ssl: false a cada bloco REST junto de scan_interval:, ou importe a CA do Monitor para os certificados de confiança. O mesmo se aplica a outras ferramentas que verificam certificados.",
"Prometheus já inclui scheme: https no exemplo abaixo. Ative ou mantenha https se TLS estiver ativo no Monitor."
@@ -43,7 +43,7 @@
"basicTitle": "Elemento básico — sem autenticação",
"basicIntro": "Use isso quando o ProxMenux Monitor estiver em uma rede confiável e você ainda não tiver habilitado a autenticação no lado Monitor. A entrada services.yaml mais simples possível:",
"authedTitle": "Elemento autenticado",
- "authedIntro": "Gere um token API em Configurações → Segurança → API Tokens no Monitor, copie-o e cole-o no cabeçalho Authorization abaixo — substitua o token de exemplo mostrado após Bearer pelo que você acabou de copiar:",
+ "authedIntro": "Gere um token API em Admin → Security → API Tokens no Monitor, copie-o e cole-o no cabeçalho Authorization abaixo — substitua o token de exemplo mostrado após Bearer pelo que você acabou de copiar:",
"authedOutro": "Reinicie o Homepage para apresentar valores atualizados. Reutilize o token nos widgets que consultam a mesma instância do Monitor.",
"multiTitle": "Configuração multi-widget — sistema, armazenamento, rede",
"multiIntro": "Para mais detalhes, crie três cartões com endpoints diferentes: sistema, armazenamento e rede. Use o mesmo token para esta instância do Monitor.",
diff --git a/web/messages/pt/docs/security/ssl-letsencrypt.json b/web/messages/pt/docs/security/ssl-letsencrypt.json
index 3e8ba3c2..09fbae5b 100644
--- a/web/messages/pt/docs/security/ssl-letsencrypt.json
+++ b/web/messages/pt/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "O que esta página cobre",
- "body": "Como mudar o Monitor de HTTP para HTTPS no painel Configurações → Painel de segurança, o que cada fonte de certificado realmente aponta no disco, como a opção Proxmox se comporta quando o host tem um certificado Let's Encrypt, e como definir caminhos personalizados se você gerenciar certs fora do Proxmox."
+ "body": "Como mudar o Monitor de HTTP para HTTPS no painel Admin → Security, o que cada fonte de certificado realmente aponta no disco, como a opção Proxmox se comporta quando o host tem um certificado Let's Encrypt, e como definir caminhos personalizados se você gerenciar certs fora do Proxmox."
},
"wheresetting": {
"heading": "Onde se encontra a configuração",
- "body": "Abra o Monitor e vá a Configurações → Segurança → HTTPS / SSL. O painel mostra HTTP ou HTTPS e, se HTTPS ainda estiver desativado, as fontes de certificados detetadas.",
- "imageAlt": "Configurações → Segurança → Painel HTTPS / SSL no Monitor mostrando o estado HTTPS-off, o certificado Proxmox auto-detectado (sujeito, emissor, expiração) e a opção Use Custom Certificate",
- "caption": "Painel Configurações → Segurança → HTTPS / SSL antes da ativação. O Monitor mostra o certificado utilizado pelo Proxmox e permite escolhê-lo com um clique."
+ "body": "Abra o Monitor e vá a Admin → Security → SSL / HTTPS. O painel mostra HTTP ou HTTPS e, se HTTPS ainda estiver desativado, as fontes de certificados detetadas.",
+ "imageAlt": "Painel Admin → Security → SSL / HTTPS no Monitor mostrando o estado HTTPS-off, o certificado Proxmox auto-detectado (sujeito, emissor, expiração) e a opção Use Custom Certificate",
+ "caption": "Painel Admin → Security → SSL / HTTPS antes da ativação. O Monitor mostra o certificado utilizado pelo Proxmox e permite escolhê-lo com um clique."
},
"twoways": {
"heading": "Duas maneiras de ativar o HTTPS",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Mudar o monitor para HTTPS",
- "bodyRich": "Quando /etc/pve/local/pveproxy-ssl.pem estiver assinado por Let's Encrypt, abra Configurações → Segurança → HTTPS / SSL, confirme que o emissor é Let's Encrypt e não a CA local Proxmox, e clique em Usar certificado Proxmox. O Monitor reinicia e o próximo carregamento utiliza HTTPS em 8008 com uma cadeia de confiança pública. As renovações ACME seguintes são validadas e selecionadas na próxima nova ligação TLS, sem consultas periódicas nem reinício por renovação. Atualizar certificado continua disponível em Segurança para diagnóstico e recuperação."
+ "bodyRich": "Quando /etc/pve/local/pveproxy-ssl.pem estiver assinado por Let's Encrypt, abra Admin → Security → SSL / HTTPS, confirme que o emissor é Let's Encrypt e não a CA local Proxmox, e clique em Usar certificado Proxmox. O Monitor reinicia e o próximo carregamento utiliza HTTPS em 8008 com uma cadeia de confiança pública. As renovações ACME seguintes são validadas e selecionadas na próxima nova ligação TLS, sem consultas periódicas nem reinício por renovação. Atualizar certificado continua disponível em Security para diagnóstico e recuperação."
},
"custom": {
"heading": "Certificado personalizado — quando usá-lo",
diff --git a/web/messages/sk/docs/monitor/access-auth.json b/web/messages/sk/docs/monitor/access-auth.json
index 7f2adb94..4002c9c2 100644
--- a/web/messages/sk/docs/monitor/access-auth.json
+++ b/web/messages/sk/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Prístup k panelu",
- "intro": "ProxMenux Monitor sa viaže na 0.0.0.0:8008. Existujú tri bežné spôsoby, ako ju dosiahnuť:",
+ "intro": "ProxMenux Monitor počúva na TCP 8008 na všetkých rozhraniach (::, IPv4 aj IPv6). Existujú tri bežné spôsoby, ako ho dosiahnuť:",
"outro": "Priamy prístup zodpovedá predvolenej jednotke systemd. Reverzný proxy a Secure Gateway sú opísané nižšie. Dôvera v IP klientov z X-Forwarded-For vyžaduje PROXMENUX_TRUST_PROXY=1 a proxy pod vašou kontrolou. Samotná prítomnosť X-Forwarded-Proto alebo X-Forwarded-Host dôveru v proxy nezapne. Na portoch 80/443 frontend používa relatívne URL /api/*; na akomkoľvek inom porte volá port 8008 na rovnakom názve hostiteľa."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json — obsah a ochrana",
"authJsonBody": "Údaje overenia sú v /root/.config/proxmenux-monitor/auth.json, režim 0600, vlastník root. Súbor obsahuje hashe PBKDF2 a tajné kryptografické údaje (jwt_secret, totp_secret), nikdy heslo v otvorenom texte. Cieľ zálohovania alebo replikácie šifrujte a súbor nikdy nepridávajte do systému správy verzií.",
"rotateTitle": "Výmena jwt_secret zneplatní všetky existujúce JWT",
- "rotateBody": "Pri novom vytvorení alebo obnove auth.json s iným kľúčom sa zmení jwt_secret. Staré JWT relácií aj API zlyhajú s \"Invalid or expired token\". Rozhranie ich označí Neplatný — vytvoriť znova. Zrušte ich a nahraďte aj v Home Assistant, skriptoch a ostatných klientoch.",
+ "rotateBody": "Pri novom vytvorení alebo obnove auth.json s iným kľúčom sa zmení jwt_secret. Staré JWT relácií aj API zlyhajú s \"Invalid or expired token\". Rozhranie ich označí červenou a štítkom, ktorý vás vyzve ich zrušiť a vytvoriť nové; zrušte ich a nahraďte aj v Home Assistant, skriptoch a ostatných klientoch.",
"recoverTitle": "Obnovenie strateného hesla",
"recoverIntro": "Obnova hesla vyžaduje prístup k shellu hostiteľa. ProxMenux ponúka sprievodcu resetovaním v konfiguračnej ponuke, aby ste nemuseli ručne upravovať auth.json:",
"survivesTitle": "Čo prežíva reset",
@@ -284,14 +284,14 @@
"heading": "API tokeny (dlhodobé)",
"intro": "Relácie prehliadača platia 24 hodín. Pre Homepage, Home Assistant, Grafana či Uptime Kuma vytvorte samostatný token API platný 365 dní. JWT používa rovnaký podpisový kľúč; pole token_name umožňuje sledovať a jednotlivo zrušiť token.",
"imageAlt": "Panel tokenov API znázorňujúci zoznam tokenov s názvom, predponou, vytvoreným dátumom a expiráciou",
- "imageCaption": "Zoznam tokenov v nastaveniach: názov, predpona s poslednými štyrmi identifikačnými znakmi, dátum vytvorenia a platnosť, možnosť zrušenia.",
+ "imageCaption": "Zoznam tokenov API v Admin → Security: názov, predpona s poslednými štyrmi identifikačnými znakmi, dátum vytvorenia a platnosť, možnosť zrušenia.",
"generateTitle": "Generovať token",
"generateIntro": "Z panelu:",
"generateSteps": [
- "Otvorte Zabezpečenie → Prístupové tokeny API.",
+ "Otvorte sekciu karta Security → API Tokens.",
"Zadajte opisný názov, napríklad \"Home Assistant\".",
"Zadajte svoje heslo. Ak je zapnutá 2FA, aj súčasný 6-miestny kód.",
- "Kliknite na Vytvoriť token. Zobrazí sa iba raz: hneď ho skopírujte."
+ "Kliknite na Generate new token a potom na Generate token. Token sa zobrazí iba raz: hneď ho skopírujte."
],
"generateCli": "Z príkazového riadku:",
"useTitle": "Použitie tokenu",
@@ -310,7 +310,7 @@
"intro": "Dve cesty k TLS:",
"items": [
"Odporúčaný reverzný proxy. Ukončite TLS na Nginx / Caddy / Traefik a posielajte HTTP procesu Flask na port 8008. Príklady sú nižšie.",
- "Priame HTTPS v AppImage. Certifikát nastavte cez POST /api/ssl/configure (rozhranie: Nastavenia → SSL). HTTPS používa gevent.pywsgi so štandardným handlerom; flask-sock obsluhuje WebSocket pre WSS. Cesty certifikátov sa uložia v konfigurácii SSL."
+ "Priame HTTPS v AppImage. Certifikát nastavte cez POST /api/ssl/configure (rozhranie: Admin → Security → SSL / HTTPS). HTTPS používa gevent.pywsgi so štandardným handlerom; flask-sock obsluhuje WebSocket pre WSS. Cesty certifikátov sa uložia v konfigurácii SSL."
],
"calloutTitle": "Priame obmedzenia HTTPS",
"calloutBody": "Monitor môže použiť certifikát spravovaný Proxmoxom alebo vlastné súbory. Sám certifikáty ACME nevydáva. Na automatické vydávanie a obnovu použite Proxmox ACME alebo proxy Caddy, Traefik či Nginx a zabezpečte načítanie obnovených certifikátov."
diff --git a/web/messages/sk/docs/monitor/ai-assistant.json b/web/messages/sk/docs/monitor/ai-assistant.json
index 17993a92..4c255a3e 100644
--- a/web/messages/sk/docs/monitor/ai-assistant.json
+++ b/web/messages/sk/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "Modál v aplikácii – šesť kariet, jedna na poskytovateľa, s rovnakými popismi zdokumentovanými nižšie.",
"groq": {
"heading": "Groq",
- "tagline": "Veľmi rýchla, veľkorysá voľná úroveň (30 req/min). Ideálne začať.",
+ "tagline": "Veľmi rýchla, s veľkorysou bezplatnou úrovňou. Dobré miesto na začiatok.",
"items": [
"Kľúč API: console.groq.com/keys",
"Príklady z dodaného zoznamu modelov: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (miestne)",
- "tagline": "Používa modely sprístupnené nastaveným serverom Ollama. Lokálne modely bežia na ňom; cloudové modely Ollama posielajú požiadavky cloudovému poskytovateľovi. Lokálna prevádzka nemá poplatok za hostované API, ale využíva vlastný hardvér a elektrinu.",
+ "tagline": "Používa modely na vašom serveri Ollama. Plne lokálne, súkromné a bezplatné na prevádzku.",
"items": [
"Kľúč API netreba. Pole Ollama URL nastavte na svoj server, predvolene http://localhost:11434, alebo na hostiteľa s vašou inštanciou Ollama.",
"Modely sa nefiltrujú. Monitor načíta modely stiahnuté pomocou ollama pull <model>. Ponuku naplní z GET /api/tags na serveri Ollama.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Úroveň detailov pre každý kanál",
- "intro": "Telegram, Discord, Gotify a e-mail majú vlastnú ponuku úrovne detailov. Tri hodnoty určujú limit výstupných tokenov a pokyny predvoleného promptu:",
+ "intro": "Každý zo šiestich kanálov (Telegram, Discord, Gotify, e-mail, Pushover, Apprise) má vlastnú ponuku úrovne detailov. Tri hodnoty určujú limit výstupných tokenov a pokyny predvoleného promptu:",
"headerLevel": "Úroveň",
"headerLabel": "Štítok UI",
"headerCap": "Výstupný strop",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Predvolené hodnoty pri prvej inštalácii:",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise — standard.",
"E-mail — detailed. E-mail je kanál, kde zvyčajne chcete úplný obraz pre archív."
],
"emailTitle": "Podrobný e-mail pripája pôvodnú správu",
diff --git a/web/messages/sk/docs/monitor/api-reference.json b/web/messages/sk/docs/monitor/api-reference.json
index 379dbcb3..09215908 100644
--- a/web/messages/sk/docs/monitor/api-reference.json
+++ b/web/messages/sk/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Rozšírené systémové údaje pre hlavičku panela: celkové metriky a čas spustenia."
+ "use": "Ľahké informácie hlavičky: názov hostiteľa, uptime a vyrovnávací stav zdravia. Verejné, token nie je potrebný."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Filtrované záznamy systémového denníka. Parametre: ?level=&service=&limit=."
+ "use": "Filtrované záznamy systémového denníka. Parametre: ?priority=&service=&limit=&since_days= (priority 0-7, since_days do 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Interný tok udalostí používaný aj na oznámenia."
+ "use": "Nedávne úlohy a udalosti klastra Proxmox z pvesh get /cluster/tasks. Parameter: ?limit= (predvolene 50)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Vytvorí vlastnú udalosť. Telo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Vytvorí vlastnú udalosť. Telo: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/sk/docs/monitor/architecture.json b/web/messages/sk/docs/monitor/architecture.json
index d160d4ad..3dc020db 100644
--- a/web/messages/sk/docs/monitor/architecture.json
+++ b/web/messages/sk/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root: služba používa oprávnenia root na SMART, pvesh a správu ZFS. Procesy webového terminálu dedia tieto oprávnenia.",
"Restart=on-failure s odstupom desať sekúnd: po chybovom ukončení sa služba automaticky reštartuje.",
- "After=network.target: zaradí štart po tomto cieli; nezaručuje pridelenú IP, DNS ani vonkajšie spojenie."
+ "After=network.target pve-cluster.service: zaradí štart po sieťovom cieli a súborovom systéme klastra Proxmox; nezaručuje pridelenú IP, DNS ani vonkajšie spojenie."
],
"inspectTitle": "Kontrola aktuálnej jednotky"
},
diff --git a/web/messages/sk/docs/monitor/dashboard/hardware.json b/web/messages/sk/docs/monitor/dashboard/hardware.json
index 42456689..701b8837 100644
--- a/web/messages/sk/docs/monitor/dashboard/hardware.json
+++ b/web/messages/sk/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "Stav UPS",
"subHeading": "(podmienečné)",
- "body": "Zobrazí sa pri nastavenom a dostupnom serveri NUT (Network UPS Tools). Ukazuje stav (sieť / batéria / nabíjanie / slabá batéria), nabitie batérie, odhad výdrže, percento zaťaženia, vstupné napätie, model a firmvér. Rovnaké údaje používa Bezpečnosť a certifikáty monitora stavu; prechod na batériu sa hneď zobrazí."
+ "body": "Zobrazí sa pri nastavenom a dostupnom serveri NUT (Network UPS Tools). Ukazuje stav (sieť / batéria / nabíjanie / slabá batéria), nabitie batérie, odhad výdrže, percento zaťaženia, vstupné napätie, model a firmvér."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
diff --git a/web/messages/sk/docs/monitor/dashboard/index.json b/web/messages/sk/docs/monitor/dashboard/index.json
index 36c6a2a7..5c97ca73 100644
--- a/web/messages/sk/docs/monitor/dashboard/index.json
+++ b/web/messages/sk/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminál",
- "owns": "Shell hostiteľa alebo ľubovoľnej VM/CT v prehliadači pomocou xterm.js cez WebSockets."
+ "owns": "Shell v prehliadači na hostiteľovi Proxmox pomocou xterm.js cez WebSockets. Konzoly LXC sa otvárajú z karty VMs & LXCs."
},
{
"name": "Zabezpečenie",
diff --git a/web/messages/sk/docs/monitor/dashboard/security.json b/web/messages/sk/docs/monitor/dashboard/security.json
index 405314d5..cc5e939d 100644
--- a/web/messages/sk/docs/monitor/dashboard/security.json
+++ b/web/messages/sk/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL / HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 na /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/sk/docs/monitor/dashboard/settings.json b/web/messages/sk/docs/monitor/dashboard/settings.json
index a6241bca..f3153db7 100644
--- a/web/messages/sk/docs/monitor/dashboard/settings.json
+++ b/web/messages/sk/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Jednotky siete",
"imageAlt": "Karta Jednotky siete s výberom zobrazenia na Bajty",
"imageCaption": "Vyberte bity alebo bajty za sekundu pre všetky sieťové rýchlosti v prehľade.",
- "body": "Zobrazuje priepustnosť v bitoch za sekundu (Mbps/Gbps) alebo bajtoch za sekundu (MB/s/GB/s). Predvolené sú bity ako v špecifikáciách kariet a poskytovateľov; prenosy súborov často používajú bajty. Grafy, štítky a pomôcky sa zmenia ihneď bez obnovenia."
+ "body": "Zvoľte, ako sa na paneli zobrazuje sieťová priepustnosť: v bitoch za sekundu (Mbps/Gbps) alebo bajtoch za sekundu (MB/s/GB/s). Predvolené sú bajty, ako ich uvádza väčšina nástrojov na prenos súborov; bity používajú výrobcovia sieťových kariet a poskytovatelia pri označovaní svojich produktov. Voľba sa ukladá v prehliadači, takže každý prehliadač má vlastnú. Nastavenie platí pre všetky grafy, štítky a pomôcky so sieťovou rýchlosťou a uplatní sa ihneď, bez obnovenia."
},
"health": {
"heading": "Monitor zdravia",
@@ -203,7 +203,7 @@
"heading": "Kontrola aktualizácií v LXC",
"imageAlt": "Karta zisťovania aktualizácií LXC s prepínačom hľadania balíkov v spustených kontajneroch Debian, Ubuntu a Alpine",
"imageCaption": "Prepínač pravidelnej kontroly cez apt list --upgradable / apk list -u v spustených CT. Predvolene zapnutý. Súvisiaci prepínač v Oznámenia → Služby sa zobrazuje pri zapnutej detekcii.",
- "intro": "Prepínač medzi Prahmi a Oznámeniami riadi kontrolu LXC. Zapnutý zisťuje balíky spustených CT; Hardvér zobrazuje výsledky a vstupujú do lxc_updates_available. Vypnutý zastaví volania pct exec a odstráni záznamy LXC z managed_installs.json; /api/managed-installs prestane hlásiť stav bez čakania 24 hodín.",
+ "intro": "Prepínač medzi Prahmi monitora stavu a kartou Oznámenia riadi kontrolu aktualizácií LXC. Zapnutý prejde všetky bežiace CT a spýta sa správcu balíkov v kontajneri na čakajúce aktualizácie; výsledky sa zobrazia v počtoch na karte VMs & LXCs a vstupujú do oznámenia lxc_updates_available. Vypnutý kontrolu úplne zastaví (žiadne volania pct exec) a všetky existujúce záznamy LXC v managed_installs.json sa okamžite odstránia, takže panel aj koncový bod /api/managed-installs prestanú hlásiť stav aktualizácií LXC bez čakania na ďalší 24-hodinový cyklus.",
"whatRunsTitle": "Čo kontrola spúšťa",
"whatRunsIntro": "Pre každý CT v stave running s podporovaným správcom balíkov:",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Tu zapnete oznámenia ProxMenux Monitor a preformulovanie pomocou AI. Zapnúť oznámenia spustí odosielanie na pozadí, zaregistruje cieľ webhooku Proxmox VE na príjem jeho udalostí a otvorí nastavenia kanálov Telegram, Discord, email, Gotify a ďalších. AI je v rozbaľovacej rozšírenej časti toho istého panela.",
"body2": "Možnosti vysvetľujú samostatné stránky: kanály, prepínače udalostí, formátované správy, zobrazované meno, odosielanie s odstránením duplicít, odstupom, zoskupením a tichým časom, webhook PVE, poskytovatelia AI a režimy pokynov:",
"items": [
- "Oznámenia: nastavenie kanálov (Telegram, Discord, Gotify, email a heslá aplikácií Gmail / Microsoft, ntfy, Slack, Teams a všeobecný webhook), kategórie udalostí, formátované správy, zobrazované meno, odosielanie, webhook PVE, história a API.",
+ "Oznámenia: nastavenie kanálov (Telegram, Discord, Gotify, e-mail a heslá aplikácií Gmail / Microsoft, Pushover a Apprise pre ntfy, Slack, Teams a ďalšie služby), kategórie udalostí, formátované správy, zobrazované meno, odosielanie, webhook PVE, história a API.",
"Asistent AI: poskytovatelia (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modely, predvolené alebo vlastné pokyny, jazyk výstupu, podrobnosť pre kanály a návrhy AI."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Jednotky siete",
- "endpoint": "/api/settings",
- "source": "Uložené v tabuľke nastavení SQLite panela."
+ "endpoint": "localStorage",
+ "source": "Predvoľba prehliadača proxmenux-network-unit."
},
{
"card": "Trvanie v Health Monitor",
@@ -304,7 +304,7 @@
},
{
"card": "Vylúčenie úložiska / rozhrania",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "SQLite tabuľky excluded_storages a excluded_interfaces."
},
{
diff --git a/web/messages/sk/docs/monitor/dashboard/storage.json b/web/messages/sk/docs/monitor/dashboard/storage.json
index 60e5e65d..0e99d1b2 100644
--- a/web/messages/sk/docs/monitor/dashboard/storage.json
+++ b/web/messages/sk/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Podporované tromi zdrojmi",
- "body": "Úložiská Proxmox pochádzajú z pvesm status, ZFS zo zpool status, disky z lsblk + smartctl a polia NVMe z nvme. Karta sa obnovuje približne každých 60 sekúnd; otvorenie detailu vyžiada načítanie SMART."
+ "body": "Úložiská Proxmox pochádzajú z pvesm status, ZFS zo zpool status, disky z lsblk + smartctl a polia NVMe z nvme. Karta sa obnovuje približne každých 30 sekúnd; otvorenie detailu vyžiada načítanie SMART."
},
"thresholds": {
"title": "Farby stavu a prahové hodnoty, ktoré sa tu uplatňujú",
diff --git a/web/messages/sk/docs/monitor/dashboard/system-logs.json b/web/messages/sk/docs/monitor/dashboard/system-logs.json
index ff1b0f8b..790446f8 100644
--- a/web/messages/sk/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/sk/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Celkový počet záznamov — počet položiek v časovom rozsahu aktívneho filtra.",
"Chyby — počet záznamov so závažnosťou ≤ 3 (err / crit / alert / emerg).",
"Upozornenia — počet záznamov so závažnosťou 4 (warning).",
- "Zálohy — počet záznamov úloh vzdump / PBS v rovnakom časovom rozsahu."
+ "Zálohy: počet záložných archívov na nastavených úložiskách záloh."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Logy",
"logsIntro": "Systémový žurnál, ktorý server načítava cez journalctl. Na paneli nástrojov sú tieto filtre:",
"logsFilters": [
- "Závažnosť — emerg / alert / crit / err / warning / notice / info / debug alebo ľubovoľná kombinácia.",
- "Časový rozsah Posledná 5 min/ 15 min/ 1 h / 6 h / 24 h / 7 d / vlastné.",
- "Voľné vyhľadávanie textu — podreťazec alebo regulárny výraz (journalctl --grep).",
- "Filter jednotky — obmedzí výsledky na konkrétnu jednotku systemd (pveproxy.service, nginx.service, …)."
+ "Úroveň: všetko, error, warning alebo info.",
+ "Časový rozsah: 1 deň / 3 dni / 1 týždeň / 2 týždne / 1 mesiac alebo vlastný počet dní (do 90).",
+ "Voľné vyhľadávanie textu: podreťazec bez rozlišovania veľkosti písmen v správe, službe, PID, názve hostiteľa a jednotke, uplatnený v prehliadači.",
+ "Filter služby: obmedzí výsledky na jednu službu (SYSLOG_IDENTIFIER denníka)."
],
"logsRowsAfter": "Každý riadok zobrazuje časovú pečiatku, označenie závažnosti, zdrojovú jednotku a správu. Dlhé správy sa zbalia s prepínačom „zobraziť viac“. Akcia Stiahnuť vytvorí z aktuálneho filtra jeden súbor .txt cez GET /api/logs/download, vhodný na zdieľanie časti žurnálu s ďalšou osobou.",
"logDetailsModalTitle": "Okno Podrobnosti záznamu",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Na novej inštalácii Proxmox používa journald predvolene MaxLevelStore=warning, čím zahadzuje správy info. Monitor to pri štarte rozpozná a pridá doplnkovú konfiguráciu (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) s prahom info, aby sa uchovávali informačné a závažnejšie správy. Správy debug to nezahŕňa.",
"backupsTitle": "Zálohy",
- "backupsBody": "História úloh Proxmox obmedzená na zálohovanie. Jeden riadok na úlohu (vzdump, prenosy PBS, čistenie nepoužívaných dát a overenie), so stavom (OK / WARNINGS / ERROR), hosťovským systémom, zdrojovým úložiskom, trvaním a UPID. Kliknutím na riadok načítate úplný záznam úlohy cez GET /api/task-log/<upid> — rovnaké údaje ako v Datacenter → Úlohy, obmedzené na zálohy.",
+ "backupsBody": "Záložné archívy na každom úložisku schopnom ukladať zálohy (dir, NFS, CIFS, PBS), načítané cez pvesh get /nodes/localhost/storage/<id>/content. Karty hore ukazujú počty VM a LXC a celkovú veľkosť; pod nimi je jeden riadok na archív s typom, úložiskom, veľkosťou a dátumom. Obnova sa vykonáva vo webovom rozhraní Proxmox.",
"notificationsTitle": "Oznámenia",
- "notificationsBody1": "Všetky oznámenia odoslané Monitorom: Telegram, Discord, e-mail, Gotify, ntfy, Slack, Teams a webhook. Každý riadok uvádza časovú pečiatku, kanál, typ udalosti, závažnosť, vytvorený názov a telo a pri zapnutej AI prepínač na porovnanie jej prepracovanej verzie s originálom.",
- "notificationsBody2": "Na tejto karte overíte doručovanie oznámení cez kanál a porovnáte prepracovanie AI s pôvodnou šablónou. Kanály sa nastavujú na podrobnej stránke Oznámenia."
+ "notificationsBody1": "Aktivita oznámení Proxmox: riadky denníka zo služieb Proxmox, ktoré spomínajú oznámenia, e-mail, webhooky alebo upozornenia, ciele v /etc/pve/notifications.cfg a úlohy zálohovania zo zoznamu úloh klastra. Riadky úloh zálohovania umožňujú stiahnuť úplný záznam úlohy. História toho, čo odoslal samotný Monitor, je v Settings → Notifications → Notification history.",
+ "notificationsBody2": "Táto karta slúži na kontrolu, čo robí vlastný systém oznámení Proxmoxu. Kanály Monitora sa nastavujú na podrobnej stránke Oznámenia."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
@@ -64,7 +64,7 @@
{
"subtab": "Záznamy (živý filter)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> s filtrami závažnosti, jednotky a vyhľadávania použitými na serveri."
+ "source": "journalctl s filtrami priority, služby a rozsahu dní uplatnenými na serveri; vyhľadávanie textu prebieha v prehliadači."
},
{
"subtab": "Stiahnuť",
@@ -74,17 +74,17 @@
{
"subtab": "Zálohy",
"endpoint": "/api/backups",
- "source": "História úloh PVE filtrovaná podľa vzdump, prenosov PBS, čistenia nepoužívaných dát a overenia."
+ "source": "Záložné archívy zo zoznamu každého úložiska záloh cez pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Podrobnosti úlohy zálohovania",
+ "subtab": "Záznam úlohy zálohovania (Notifications)",
"endpoint": "/api/task-log/<upid>",
"source": "Plný textový záznam úloh čítaný z /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "História oznámení",
- "endpoint": "/api/notifications/history",
- "source": "Tabuľka SQLite notification_history, ktorú plní odosielacia slučka."
+ "subtab": "Oznámenia",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep nad jednotkami Proxmox, /etc/pve/notifications.cfg a úlohy zálohovania z pvesh get /cluster/tasks."
}
],
"apiIntro": "Živý filter aj sťahovanie sú dostupné cez API:",
diff --git a/web/messages/sk/docs/monitor/dashboard/system-overview.json b/web/messages/sk/docs/monitor/dashboard/system-overview.json
index 3381d241..7959bcf9 100644
--- a/web/messages/sk/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/sk/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Prstence, ukazovatele a minigrafy používajú rovnakú škálu: zelená pod prahom Upozornenie, jantárová medzi Upozornenie a Kritické, červená od prahu Kritické vyššie. Odporúčané predvolené hodnoty ProxMenux:",
"thresholdsItems": [
"Využitie CPU — upozornenie 85 %, kritické 95 %.",
- "Pamäť — upozornenie 85 %, kritické 95 %. Swap tiež vyvolá kritický stav pri 5 % využitia; správne fungujúci hostiteľ Proxmox by ho mal používať len zriedka.",
+ "Pamäť: upozornenie 85 %, kritické 95 %. Swap vyvolá kritický stav, iba ak využitie swapu presiahne 80 % a dostupná RAM klesne pod 15 %.",
"Teplota CPU — upozornenie 80 °C, kritické 90 °C."
],
"thresholdsOutro": "Hodnoty možno nastaviť pre každého hostiteľa. Nastavenia → Prahy monitora stavu sú hlavný zdroj a vysvetľujú ich úpravu.",
@@ -58,7 +58,7 @@
"intro": "Karty Využitie CPU a Pamäť otvárajú triediteľný zoznam 25 najnáročnejších procesov: podľa využitia CPU pri otvorení z CPU alebo podľa rezidentnej pamäte pri otvorení z Pamäte.",
"listTitle": "Dialóg zoznamu",
"listItems": [
- "Automatické obnovenie — zoznam sa aktualizuje každých 5 sekúnd, kým je okno otvorené; po zatvorení sa dotazy zastavia.",
+ "Automatické obnovenie — zoznam sa aktualizuje každé 3 sekundy, kým je okno otvorené; po zatvorení sa dotazy zastavia.",
"Filter — vyhľadávanie obmedzí zoznam podľa príkazu, používateľa alebo PID.",
"Ukazovateľ v riadku — stĺpec hlavnej metriky kreslí malý ukazovateľ škálovaný podľa najvyššej hodnoty vo filtrovanom zozname. Poradie zostáva zrejmé, aj keď žiadny proces nie je blízko 100 %.",
"Mobilné rozloženie — pod 640 px sa skryjú stĺpce PID a Používateľ, aby sa Príkaz, CPU % a Pamäť zmestili na telefón bez vodorovného posúvania."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Stred: grafy metrík uzla",
- "body1": "Pod kartami zobrazuje NodeMetricsCharts históriu CPU, pamäte a diskového I/O z úložiska RRD Proxmox cez /api/node/metrics. Volič ponúka 1 hodina / 24 hodín / 7 dní / 30 dní / 1 rok. Pri dlhšom období klesá rozlíšenie údajov, aby bol graf plynulý.",
+ "body1": "Pod kartami zobrazuje NodeMetricsCharts históriu CPU, pamäte a diskového I/O z úložiska RRD Proxmox cez /api/node/metrics. Volič ponúka 1 hodina / 24 hodín / 7 dní / 30 dní. Pri dlhšom období klesá rozlíšenie údajov, aby bol graf plynulý.",
"body2": "Rovnaké grafy ako vo webovom rozhraní Proxmox pre uzol, začlenené do tmavej témy Monitora a zarovnané s ostatnými panelmi."
},
"bottom": {
diff --git a/web/messages/sk/docs/monitor/dashboard/vms-lxcs.json b/web/messages/sk/docs/monitor/dashboard/vms-lxcs.json
index c8fbb299..1016217f 100644
--- a/web/messages/sk/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/sk/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Cieľ — úložisko (PBS-Cloud, PBS-Local, NFS-Backup, …), farebne podľa stavu.",
"Veľkosť — konečná veľkosť zálohy na disku."
],
- "backupsOutro": "+ Vytvoriť zálohu spustí zálohu na úložisku označenom „Backup target“ v Proxmoxe. Obnova sa vykonáva vo webovom rozhraní Proxmox; Monitor ukazuje nedávne zálohy systému a umožňuje vytvoriť nové.",
+ "backupsOutro": "Tlačidlo + Create Backup vpravo hore otvorí dialóg na výber úložiska, režimu (snapshot / suspend / stop), ochrany a poznámok pred spustením vzdump. Obnova sa vykonáva vo webovom rozhraní Proxmox; Monitor ukazuje pohľad „bola táto VM nedávno zálohovaná?“, nie postup obnovy.",
"firewallTitle": "Karta 7 — Firewall",
"firewallIntro": "Číta záznam firewallu Proxmox daného systému priamo z hostiteľa, bez ďalšej služby a pravidelných dotazov. Karta je vždy prítomná; obsah závisí od zapnutia firewallu a od toho, či pravidlo zaznamenáva pakety.",
"firewallItems": [
diff --git a/web/messages/sk/docs/monitor/health-monitor.json b/web/messages/sk/docs/monitor/health-monitor.json
index 83b459a1..7890863a 100644
--- a/web/messages/sk/docs/monitor/health-monitor.json
+++ b/web/messages/sk/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "Indikátor zodpovedá najzávažnejšej kategórii",
"pillBody": "Farba hlavičky zodpovedá najvyššej závažnosti: CRITICAL → červená, inak WARNING → žltá, inak INFO → modrá, inak zelená. Rovnaká logika riadi bod vo favikone aj odznak PWA.",
"updateNowTitle": "Aktualizovať teraz tlačidlo v hlavičke Prehľad",
- "updateNowBody1": "Ak Aktualizácie systému hlásia čakajúce aktualizácie, pri indikátore sa zobrazí Aktualizovať teraz. Okno vykoná postup z ProxMenux → Settings post-install Proxmox → Proxmox System Update: čistenie repozitárov, apt full-upgrade cez update-pve-safe.sh, opätovné zostavenie spravovaných ovládačov DKMS pri novom jadre, autoremove/autoclean a ponuku reštartu pri zmene jadra. Priebeh sa zobrazuje priebežne.",
- "updateNowBody2": "Po dokončení zatvorenie okna zavolá GET /api/health/details?refresh=1 a zneplatní vyrovnávaciu pamäť koncového bodu. Čakajúce aktualizácie a závažnosť sa prepočítajú podľa nového stavu balíkov. Odznak zmizne bez čakania na ďalší cyklus. Ak je hostiteľ aktuálny, tlačidlo je skryté."
+ "updateNowBody1": "Ak Aktualizácie systému hlásia čakajúce aktualizácie, pri indikátore sa zobrazí Aktualizovať teraz. Okno vykoná postup z ProxMenux → Utilities and Tools → Proxmox System Update: čistenie repozitárov, apt full-upgrade cez update-pve-safe.sh, opätovné zostavenie spravovaných ovládačov DKMS pri novom jadre, autoremove/autoclean a ponuku reštartu pri zmene jadra. Priebeh sa zobrazuje priebežne.",
+ "updateNowBody2": "Po dokončení zatvorenie okna zavolá GET /api/health/full?refresh=1 a zneplatní vyrovnávaciu pamäť koncového bodu. Čakajúce aktualizácie a závažnosť sa prepočítajú podľa nového stavu balíkov. Odznak zmizne bez čakania na ďalší cyklus. Ak je hostiteľ aktuálny, tlačidlo je skryté."
},
"dismiss": {
"heading": "Potlačenie upozornení a jeho trvanie",
diff --git a/web/messages/sk/docs/monitor/index.json b/web/messages/sk/docs/monitor/index.json
index d948916c..4c26866e 100644
--- a/web/messages/sk/docs/monitor/index.json
+++ b/web/messages/sk/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "REST API a integrácie",
"intro": "Endpointy REST poskytujú monitorovacie dáta JSON cez HTTP/HTTPS pre Homepage, Home Assistant, Uptime Kuma a skripty. Grafana môže použiť samostatný textový exportér Prometheus na /api/prometheus. Požiadavky možno posielať cez curl.",
- "tokens": "Tokeny API s dlhou životnosťou (365 dni) sa generujú z Nastavenia → API prístupových tokenov alebo prostredníctvom POST /api/auth/generate-api-token.",
+ "tokens": "Tokeny API s dlhou životnosťou (365 dni) sa generujú z Admin → Security → API Tokens alebo prostredníctvom POST /api/auth/generate-api-token.",
"bearer": "Tokeny posielajte ako Authorization: Bearer …. Aj /api/health očakáva hlavičku Bearer, takže kontroly dostupnosti potrebujú token read_only. Pod /api/auth/* sú verejné trasy nastavenia/prihlásenia/stavu aj chránené trasy správy účtov/tokenov; nie všetky sú anonymné.",
"catalog": "Katalóg endpointov, rotácia tokenov a zabezpečenie sú v Referenčnej príručke API; príklady pre Homepage, Home Assistant, Grafana, Uptime Kuma a cURL sú v Integrácie."
},
"serviceControl": {
"heading": "Ovládanie služby",
- "intro": "Každý deň je monitor spravovaný presne ako ktorákoľvek iná služba systemd. Je tiež vystavený ako dva záznamy v ProxMenux TUI pod Nastavenia:",
+ "intro": "Každý deň je monitor spravovaný presne ako ktorákoľvek iná služba systemd. Je tiež vystavený ako tri záznamy v ProxMenux TUI pod Nastavenia:",
"codeComment": "# Manuálne ovládanie",
"footer": "Pozrite si Nastavenia → ProxMenux Monitor, kde nájdete postup prepínania a overovania stavu v ponuke."
},
diff --git a/web/messages/sk/docs/monitor/integrations.json b/web/messages/sk/docs/monitor/integrations.json
index 38748402..33d9b240 100644
--- a/web/messages/sk/docs/monitor/integrations.json
+++ b/web/messages/sk/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Overenie: jedna vec, ktorú každý recept potrebuje",
"intro": "Väčšina použitých koncových bodov vyžaduje overenie. Požiadavku možno splniť dvoma spôsobmi.",
"optAtitle": "Možnosť A API token (odporúčané pre integráciu)",
- "optAbody1": "Otvorte Nastavenia → Bezpečnosť → API tokeny. Kliknite na Generovať token, zadajte názov ako homepage, home-assistant alebo prometheus a skopírujte ho: zobrazí sa iba raz. Predvolene platí rok a možno ho samostatne odvolať. Používajte ho pre klientov mimo prehliadača.",
+ "optAbody1": "Otvorte Admin → Security → API Tokens. Kliknite na Generovať token, zadajte názov ako homepage, home-assistant alebo prometheus a skopírujte ho: zobrazí sa iba raz. Predvolene platí rok a možno ho samostatne odvolať. Používajte ho pre klientov mimo prehliadača.",
"optAbody2": "Od tohto bodu je každá žiadosť jednoducho:",
"optBtitle": "Možnosť B — prihlásenie menom a heslom",
"optBbody": "Vhodné pre skripty, ktoré sa overujú ako používateľ. Vrátený token platí krátko; väčšina integrácií by mala použiť možnosť A.",
"outro": "Pole TOTP treba iba pri zapnutom dvojfaktorovom overení. Výmenu a odvolanie tokenov, pravidlá hesiel a auditný denník opisuje Prístup a overenie.",
"httpsTitle": "Používanie HTTPS namiesto HTTP",
- "httpsIntro": "Príklady používajú pre stručnosť http://. Ak ste na Monitore zapli TLS (Nastavenia → Bezpečnosť → SSL/HTTPS), v každej URL nahraďte http:// za https://. Dve poznámky pre konkrétne nástroje:",
+ "httpsIntro": "Príklady používajú pre stručnosť http://. Ak ste na Monitore zapli TLS (Admin → Security → SSL / HTTPS), v každej URL nahraďte http:// za https://. Dve poznámky pre konkrétne nástroje:",
"httpsItems": [
"Certifikáty podpísané vlastným kľúčom. Integrácia Home Assistant rest: predvolene overuje TLS. Pri takomto certifikáte Monitora pridajte verify_ssl: false do každého bloku REST vedľa scan_interval: alebo importujte CA Monitora medzi dôveryhodné certifikáty. Rovnako postupujú iné nástroje overujúce certifikáty.",
"Prometheus má v príklade nižšie pripravené scheme: https. Zapnite alebo ponechajte https, ak je TLS na Monitore zapnuté."
@@ -43,7 +43,7 @@
"basicTitle": "Základný widget — bez overenia",
"basicIntro": "Použite to, keď je ProxMenux Monitor na dôveryhodnej sieti a ešte ste nezaviedli autentifikáciu na strane monitora. Najjednoduchšia možná položka services.yaml:",
"authedTitle": "Overený grafický prvok",
- "authedIntro": "Na Monitore vytvorte token v Nastavenia → Bezpečnosť → API tokeny. Skopírujte ho do hlavičky Authorization nižšie: ukážkový token za Bearer nahraďte vlastným.",
+ "authedIntro": "Na Monitore vytvorte token v Admin → Security → API Tokens. Skopírujte ho do hlavičky Authorization nižšie: ukážkový token za Bearer nahraďte vlastným.",
"authedOutro": "Reštartujte Homepage a karta zobrazí aktuálne hodnoty. Rovnaký token použite vo widgetoch, ktoré čítajú tú istú inštanciu Monitora.",
"multiTitle": "Nastavenie multi- widgetu Systém, úložisko, sieť",
"multiIntro": "Pre viac podrobností vytvorte tri karty s rôznymi koncovými bodmi: systém, úložisko a sieť. Pre tú istú inštanciu Monitora použite rovnaký token.",
diff --git a/web/messages/sk/docs/security/ssl-letsencrypt.json b/web/messages/sk/docs/security/ssl-letsencrypt.json
index 418a3d3a..7f0cfe00 100644
--- a/web/messages/sk/docs/security/ssl-letsencrypt.json
+++ b/web/messages/sk/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "Čo táto stránka obsahuje",
- "body": "Ako prepnúť Monitor z HTTP na HTTPS v paneli Nastavenia → Zabezpečenie, na aké súbory ukazujú zdroje certifikátov, ako sa správa možnosť Proxmox s certifikátom Let’s Encrypt a ako nastaviť vlastné cesty pri správe certifikátov mimo Proxmox."
+ "body": "Ako prepnúť Monitor z HTTP na HTTPS v paneli Admin → Security, na aké súbory ukazujú zdroje certifikátov, ako sa správa možnosť Proxmox s certifikátom Let’s Encrypt a ako nastaviť vlastné cesty pri správe certifikátov mimo Proxmox."
},
"wheresetting": {
"heading": "Kde nájdete nastavenie",
- "body": "Otvorte Monitor a prejdite na Nastavenia → Zabezpečenie → HTTPS / SSL. Panel zobrazuje HTTP alebo HTTPS a pri vypnutom HTTPS rozpoznané zdroje certifikátov.",
- "imageAlt": "Nastavenia → Zabezpečenie → HTTPS / panel SSL na monitore zobrazujúci vypnutý stav HTTPS, automaticky zistený certifikát Proxmox (predmet, vydavateľ, expirácia) a možnosť Použiť vlastný certifikát",
- "caption": "Panel Nastavenia → Zabezpečenie → HTTPS / SSL pred aktiváciou. Monitor zobrazí certifikát používaný Proxmoxom a umožní ho vybrať jedným kliknutím."
+ "body": "Otvorte Monitor a prejdite na Admin → Security → SSL / HTTPS. Panel zobrazuje HTTP alebo HTTPS a pri vypnutom HTTPS rozpoznané zdroje certifikátov.",
+ "imageAlt": "Panel Admin → Security → SSL / HTTPS na monitore zobrazujúci vypnutý stav HTTPS, automaticky zistený certifikát Proxmox (predmet, vydavateľ, expirácia) a možnosť Použiť vlastný certifikát",
+ "caption": "Panel Admin → Security → SSL / HTTPS pred aktiváciou. Monitor zobrazí certifikát používaný Proxmoxom a umožní ho vybrať jedným kliknutím."
},
"twoways": {
"heading": "Dva spôsoby, ako umožniť HTTPS",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Prepnúť monitor na HTTPS",
- "bodyRich": "Keď je /etc/pve/local/pveproxy-ssl.pem podpísaný Let's Encrypt, otvorte Nastavenia → Zabezpečenie → HTTPS / SSL, overte vydavateľa Let's Encrypt namiesto miestnej CA Proxmox a kliknite na Použiť certifikát Proxmox. Monitor sa reštartuje a ďalšie načítanie použije HTTPS na 8008 s verejne dôveryhodným reťazcom. Ďalšie obnovy ACME sa overia a vyberú pri nasledujúcom novom spojení TLS bez pravidelného dopytovania alebo reštartu služby pri obnove. Aktualizovať certifikát zostáva v Zabezpečení dostupné na diagnostiku a obnovu."
+ "bodyRich": "Keď je /etc/pve/local/pveproxy-ssl.pem podpísaný Let's Encrypt, otvorte Admin → Security → SSL / HTTPS, overte vydavateľa Let's Encrypt namiesto miestnej CA Proxmox a kliknite na Použiť certifikát Proxmox. Monitor sa reštartuje a ďalšie načítanie použije HTTPS na 8008 s verejne dôveryhodným reťazcom. Ďalšie obnovy ACME sa overia a vyberú pri nasledujúcom novom spojení TLS bez pravidelného dopytovania alebo reštartu služby pri obnove. Aktualizovať certifikát zostáva v Zabezpečení dostupné ako explicitná diagnostická a obnovovacia akcia."
},
"custom": {
"heading": "Vlastný certifikát — kedy ho použiť",
diff --git a/web/messages/sv/docs/monitor/access-auth.json b/web/messages/sv/docs/monitor/access-auth.json
index f02a46b3..5f5a58e6 100644
--- a/web/messages/sv/docs/monitor/access-auth.json
+++ b/web/messages/sv/docs/monitor/access-auth.json
@@ -18,7 +18,7 @@
},
"reaching": {
"heading": "Öppna instrumentpanelen",
- "intro": "ProxMenux Monitor binder till 0.0.0.0:8008. Det finns tre vanliga sätt att nå den:",
+ "intro": "ProxMenux Monitor lyssnar på TCP 8008 på alla gränssnitt (::, IPv4 och IPv6). Det finns tre vanliga sätt att nå den:",
"outro": "Direktåtkomst motsvarar standardenheten för systemd. Omvänd proxy och Secure Gateway beskrivs nedan. Förtroende för klient-IP i X-Forwarded-For kräver PROXMENUX_TRUST_PROXY=1 och en proxy du kontrollerar. Enbart förekomsten av X-Forwarded-Proto eller X-Forwarded-Host aktiverar inte proxyförtroende. På portarna 80/443 använder frontend relativa /api/*-URL:er; på alla andra portar anropas port 8008 på samma värdnamn."
},
"firstLaunch": {
@@ -158,7 +158,7 @@
"authJsonTitle": "auth.json — innehåll och skydd",
"authJsonBody": "Autentiseringsuppgifterna finns i /root/.config/proxmenux-monitor/auth.json, med läge 0600 och ägare root. Filen innehåller PBKDF2-hashar och kryptografiska hemligheter (jwt_secret, totp_secret), aldrig lösenord i klartext. Kryptera mål för säkerhetskopiering eller replikering och lägg aldrig filen i versionshantering.",
"rotateTitle": "Byte av jwt_secret gör alla befintliga JWT ogiltiga",
- "rotateBody": "Om auth.json återskapas eller återställs med en annan hemlighet ändras jwt_secret. Gamla sessions- och API-JWT misslyckas med \"Invalid or expired token\". Gränssnittet visar Ogiltigt — skapa på nytt. Återkalla och ersätt berörda token även i Home Assistant, skript och andra klienter.",
+ "rotateBody": "Om auth.json återskapas eller återställs med en annan hemlighet ändras jwt_secret. Gamla sessions- och API-JWT misslyckas med \"Invalid or expired token\". Gränssnittet markerar berörda API-token med rött och en etikett som uppmanar dig att återkalla dem och skapa nya. Home Assistant, skript och andra externa klienter behöver en ny token efteråt.",
"recoverTitle": "Återställa ett förlorat lösenord",
"recoverIntro": "Lösenordsåterställning kräver skalåtkomst till värden. ProxMenux har en guidad återställning i konfigurationsmenyn så att du slipper redigera auth.json manuellt:",
"survivesTitle": "Vad överlever återställningen",
@@ -284,14 +284,14 @@
"heading": "API-token med lång giltighetstid",
"intro": "Sessioner löper ut efter 24 timmar. Skapa ett separat API-token giltigt i 365 dagar för Homepage, Home Assistant, Grafana eller Uptime Kuma. JWT:t använder samma signeringshemlighet; fältet token_name gör att det kan identifieras och återkallas separat.",
"imageAlt": "API-tokenlista med namn, prefix, datum för skapande och utgångsdatum",
- "imageCaption": "Listan i inställningarna visar namn, prefix med de fyra sista tecknen för identifiering, skapande- och utgångsdatum samt återkallelse.",
+ "imageCaption": "Listan över API-token under Admin → Säkerhet visar namn, prefix (de fyra sista tecknen visas för identifiering), skapande- och utgångsdatum samt återkallelse.",
"generateTitle": "Generera en token",
"generateIntro": "Från panelen:",
"generateSteps": [
"Öppna Säkerhet → API-åtkomsttoken.",
"Skriv ett beskrivande namn (t.ex. \"Home Assistant\").",
"Skriv in ditt lösenord. Om 2FA är på, även den nuvarande 6-siffriga koden.",
- "Välj Generera token. Det visas endast en gång: kopiera direkt."
+ "Välj Generera ny token och sedan Generera token. Det visas endast en gång: kopiera direkt."
],
"generateCli": "Från kommandoraden:",
"useTitle": "Använd en token",
@@ -310,7 +310,7 @@
"intro": "Två vägar till TLS:",
"items": [
"Omvänd proxy rekommenderas. Avsluta TLS på Nginx / Caddy / Traefik och vidarebefordra HTTP till Flask på port 8008. Exempel nedan.",
- "Direkt HTTPS i AppImage. Ange certifikat via POST /api/ssl/configure (gränssnitt: Inställningar → SSL). HTTPS använder gevent.pywsgi med standardhanteraren; flask-sock hanterar WebSocket för WSS. Certifikatsökvägar sparas i SSL-konfigurationen."
+ "Direkt HTTPS i AppImage. Ange certifikat via POST /api/ssl/configure (gränssnitt: Admin → Säkerhet → SSL / HTTPS). HTTPS använder gevent.pywsgi med standardhanteraren; flask-sock hanterar WebSocket för WSS. Certifikatsökvägar sparas i SSL-konfigurationen."
],
"calloutTitle": "Direkt HTTPS begränsningar",
"calloutBody": "Monitor kan använda ett certifikat hanterat av Proxmox eller egna certifikatsfiler. Det utfärdar inte ACME-certifikat självt. Använd Proxmox ACME eller Caddy, Traefik eller Nginx för automatisk utfärdning och förnyelse, och se till att förnyade certifikat läses in."
diff --git a/web/messages/sv/docs/monitor/ai-assistant.json b/web/messages/sv/docs/monitor/ai-assistant.json
index e4e132d8..545f9abf 100644
--- a/web/messages/sv/docs/monitor/ai-assistant.json
+++ b/web/messages/sv/docs/monitor/ai-assistant.json
@@ -118,7 +118,7 @@
"imageCaption": "Informationsrutan i appen: sex kort, ett per leverantör, med beskrivningarna nedan.",
"groq": {
"heading": "Groq",
- "tagline": "Mycket snabb, generös fri nivå (30 req/min). Perfekt att börja.",
+ "tagline": "Mycket snabb, med en generös fri nivå. Ett bra ställe att börja.",
"items": [
"API-nyckel: console.groq.com/keys",
"Exempel från den medföljande modellistan: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, openai/gpt-oss-120b.",
@@ -165,7 +165,7 @@
},
"ollama": {
"heading": "Ollama (lokal)",
- "tagline": "Använder modeller som din konfigurerade Ollama-server visar. Lokala modeller körs där; Ollamas molnmodeller vidarebefordrar anrop till en molnleverantör. Lokal körning undviker avgifter för ett hostat API men använder egen hårdvara och el.",
+ "tagline": "Använder modeller på din Ollama-server. Helt lokalt, privat och gratis att köra.",
"items": [
"Ingen API nyckel. Ställ in Ollama URL-fältet till din server (standard http://localhost:11434 eller vilken värd som helst kör din Ollama-instans).",
"Modellerna filtreras inte. Monitor läser modeller som hämtats med ollama pull <model>. Listrutan hämtas från GET /api/tags på din Ollama-server.",
@@ -234,7 +234,7 @@
},
"detailLevel": {
"heading": "Detaljnivå per kanal",
- "intro": "Telegram, Discord, Gotify och e-post har varsin detaljväljare. Tre värden styr gränsen för utdatatoken och instruktionerna i standardprompten:",
+ "intro": "Var och en av de sex kanalerna (Telegram, Discord, Gotify, e-post, Pushover, Apprise) har en egen detaljväljare. Tre värden styr gränsen för utdatatoken och instruktionerna i standardprompten:",
"headerLevel": "Nivå",
"headerLabel": "UI-märkning",
"headerCap": "Utdatagräns",
@@ -261,7 +261,7 @@
],
"defaultsIntro": "Standarder som Monitorn tillämpar på första installationen:",
"defaults": [
- "Telegram, Discord, Gotify — standard.",
+ "Telegram, Discord, Gotify, Pushover, Apprise — standard.",
"E-post — detailed. E-post är den kanal där du vanligtvis vill ha hela bilden för arkiv."
],
"emailTitle": "Detaljerad e-post lägger till originalet",
diff --git a/web/messages/sv/docs/monitor/api-reference.json b/web/messages/sv/docs/monitor/api-reference.json
index d4d2817c..9d04e8fe 100644
--- a/web/messages/sv/docs/monitor/api-reference.json
+++ b/web/messages/sv/docs/monitor/api-reference.json
@@ -76,7 +76,7 @@
{
"endpoint": "/api/system-info",
"method": "GET",
- "use": "Utökade systemdata för panelens sidhuvud: övergripande mätvärden och starttid."
+ "use": "Lättviktig sidhuvudinformation: värdnamn, drifttid och cachad hälsostatus. Offentlig, ingen token behövs."
},
{
"endpoint": "/api/hardware",
@@ -401,7 +401,7 @@
{
"endpoint": "/api/logs",
"method": "GET",
- "use": "Filtrerade journalposter. Query: ?level=&service=&limit="
+ "use": "Filtrerade journalposter. Query: ?priority=&service=&limit=&since_days= (priority 0-7, since_days upp till 90)."
},
{
"endpoint": "/api/logs/download",
@@ -411,7 +411,7 @@
{
"endpoint": "/api/events",
"method": "GET",
- "use": "Intern händelseström - samma som matar meddelanden."
+ "use": "Senaste Proxmox-klusteruppgifter och händelser från pvesh get /cluster/tasks. Query: ?limit= (standard 50)."
},
{
"endpoint": "/api/task-log/",
@@ -462,7 +462,7 @@
{
"endpoint": "/api/notifications/send",
"method": "POST",
- "use": "Skapar en egen händelse. Begärans innehåll: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'."
+ "use": "Skapar en egen händelse. Begärans innehåll: '{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"message\":\"...\",\"data\":'{''}''}'."
},
{
"endpoint": "/api/notifications/test-ai",
diff --git a/web/messages/sv/docs/monitor/architecture.json b/web/messages/sv/docs/monitor/architecture.json
index f8127df2..86621f15 100644
--- a/web/messages/sv/docs/monitor/architecture.json
+++ b/web/messages/sv/docs/monitor/architecture.json
@@ -64,7 +64,7 @@
"items": [
"User=root: tjänsten använder root-behörighet för SMART, pvesh och ZFS-hantering. Webbterminalens processer ärver behörigheten.",
"Restart=on-failure med tio sekunders väntan: tjänsten startas om automatiskt efter ett fel.",
- "After=network.target: ordnar start efter målet; garanterar inte tilldelad IP, DNS eller extern anslutning."
+ "After=network.target pve-cluster.service: ordnar start efter nätverksmålet och Proxmox klusterfilsystem; garanterar inte tilldelad IP, DNS eller extern anslutning."
],
"inspectTitle": "Granska aktuell enhet"
},
diff --git a/web/messages/sv/docs/monitor/dashboard/hardware.json b/web/messages/sv/docs/monitor/dashboard/hardware.json
index 95408fac..98b0f7b6 100644
--- a/web/messages/sv/docs/monitor/dashboard/hardware.json
+++ b/web/messages/sv/docs/monitor/dashboard/hardware.json
@@ -168,7 +168,7 @@
"ups": {
"heading": "UPS-status",
"subHeading": "(villkorligt)",
- "body": "Visas när en NUT-server (Network UPS Tools) är konfigurerad och nåbar. Visar status (nät / batteri / laddning / låg batterinivå), batterinivå, uppskattad drifttid, belastningsprocent, ingångsspänning, modell och firmware. Samma data används i Säkerhet och certifikat i hälsokontrollen; batteridrift uppmärksammas direkt."
+ "body": "Visas när en NUT-server (Network UPS Tools) är konfigurerad och nåbar. Visar status (nät / batteri / laddning / låg batterinivå), batterinivå, uppskattad drifttid, belastningsprocent, ingångsspänning, modell och firmware."
},
"dataCollected": {
"heading": "Hur data samlas in",
diff --git a/web/messages/sv/docs/monitor/dashboard/index.json b/web/messages/sv/docs/monitor/dashboard/index.json
index a7a98c84..e42c436f 100644
--- a/web/messages/sv/docs/monitor/dashboard/index.json
+++ b/web/messages/sv/docs/monitor/dashboard/index.json
@@ -50,7 +50,7 @@
},
{
"name": "Terminal",
- "owns": "Skal till värden eller valfri VM/CT i webbläsaren, med xterm.js över WebSockets."
+ "owns": "Skal i webbläsaren på Proxmox-värden, med xterm.js över WebSockets. LXC-konsoler öppnas från fliken VMs & LXCs."
},
{
"name": "Säkerhet",
diff --git a/web/messages/sv/docs/monitor/dashboard/security.json b/web/messages/sv/docs/monitor/dashboard/security.json
index 718d35a8..ccf02215 100644
--- a/web/messages/sv/docs/monitor/dashboard/security.json
+++ b/web/messages/sv/docs/monitor/dashboard/security.json
@@ -183,7 +183,7 @@
},
{
"card": "SSL / HTTPS",
- "endpoint": "/api/auth/ssl/*",
+ "endpoint": "/api/ssl/*",
"source": "openssl x509 på /etc/pve/local/pve-ssl.pem + /etc/proxmenux/ssl_config.json."
},
{
diff --git a/web/messages/sv/docs/monitor/dashboard/settings.json b/web/messages/sv/docs/monitor/dashboard/settings.json
index ec7dba49..7000e49a 100644
--- a/web/messages/sv/docs/monitor/dashboard/settings.json
+++ b/web/messages/sv/docs/monitor/dashboard/settings.json
@@ -41,7 +41,7 @@
"heading": "Nätverksenheter",
"imageAlt": "Kortet Nätverksenheter med visningsvalet inställt på Byte",
"imageCaption": "Välj mellan bitar per sekund och byte per sekund för varje nätverkshastighet som visas i instrumentpanelen.",
- "body": "Visar nätverkshastighet i bitar per sekund (Mbps/Gbps) eller byte per sekund (MB/s/GB/s). Bitar är standard som i specifikationer för nätverkskort och internet; filöverföringar använder ofta byte. Diagram, etiketter och tips ändras direkt utan omladdning."
+ "body": "Välj hur nätverkshastighet visas i panelen: bitar per sekund (Mbps / Gbps) eller byte per sekund (MB/s / GB/s). Byte är standard, som de flesta filöverföringsverktyg visar; bitar är vad nätverkskortstillverkare och internetleverantörer använder. Valet sparas i webbläsaren, så varje webbläsare har sitt eget. Inställningen påverkar alla diagram, etiketter och tips som visar nätverkshastighet och ändras direkt utan omladdning."
},
"health": {
"heading": "Hälsoövervakare",
@@ -203,7 +203,7 @@
"heading": "Identifiering av LXC-uppdateringar",
"imageAlt": "Kort för LXC-uppdateringar med reglage för att söka väntande paket i körande Debian-, Ubuntu- och Alpine-containrar",
"imageCaption": "Reglage för regelbundna kontroller med apt list --upgradable / apk list -u i körande CT. Påslaget som standard. Motsvarande aviseringsreglage under Aviseringar → Tjänster visas när detektering är på.",
- "intro": "Reglaget mellan Gränser och Aviseringar styr LXC-kontrollen. Påslaget frågar det pakethanterarna i körande CT; Hårdvara visar resultat och matar lxc_updates_available. Avstängt stoppar det sina pct exec-anrop och tar bort LXC-poster från managed_installs.json; /api/managed-installs slutar visa statusen utan att vänta 24 timmar.",
+ "intro": "Ett särskilt reglage för LXC-uppdateringskontrollen, placerat mellan Gränser och Aviseringar. Påslaget går ProxMenux igenom varje körande CT på värden och frågar pakethanteraren i containern efter väntande uppdateringar; resultaten visas i antalsmärkena på fliken VMs & LXCs och matar aviseringen lxc_updates_available. Avstängt stoppar kontrollen helt (inga pct exec-anrop) och befintliga LXC-poster i managed_installs.json tas bort direkt, så att panelen och /api/managed-installs slutar visa LXC-uppdateringsstatus utan att vänta på nästa 24-timmarscykel.",
"whatRunsTitle": "Vad kontrollen kör",
"whatRunsIntro": "För varje CT i tillståndet running med en pakethanterare som stöds:",
"whatRunsItems": [
@@ -249,7 +249,7 @@
"body1": "Här aktiveras ProxMenux Monitor-aviseringar och AI-omformulering. Aktivera aviseringar startar sändning i bakgrunden, registrerar ett Proxmox VE-webhookmål för dess händelser och öppnar kanalformuläret för Telegram, Discord, e-post, Gotify och fler. AI-omformulering finns i ett utfällbart avancerat avsnitt i samma panel.",
"body2": "Alternativen förklaras på egna sidor: kanaler, händelsereglage, formaterade meddelanden, visningsnamn, sändning med dubblettfilter, väntetid, gruppering och tysta timmar, PVE-webhook, AI-leverantörer och instruktionslägen:",
"items": [
- "Aviseringar: kanaler (Telegram, Discord, Gotify, e-post och applösenord för Gmail / Microsoft, ntfy, Slack, Teams och allmän webhook), händelsekategorier, formaterade meddelanden, visningsnamn, sändning, PVE-webhook, historik och API.",
+ "Aviseringar: kanaler (Telegram, Discord, Gotify, e-post och applösenord för Gmail / Microsoft, Pushover samt Apprise för ntfy, Slack, Teams och andra tjänster), händelsekategorier, formaterade meddelanden, visningsnamn, sändning, PVE-webhook, historik och API.",
"AI-assistent: leverantörer (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modeller, standardinstruktioner eller egna instruktioner, utmatningsspråk, detaljnivå per kanal och AI-förslag."
]
},
@@ -294,8 +294,8 @@
},
{
"card": "Nätverksenheter",
- "endpoint": "/api/settings",
- "source": "Sparas i panelens SQLite-tabell för inställningar."
+ "endpoint": "localStorage",
+ "source": "Webbläsarinställning, proxmenux-network-unit."
},
{
"card": "Tider i Health Monitor",
@@ -304,7 +304,7 @@
},
{
"card": "Undantag för lagring och gränssnitt",
- "endpoint": "/api/storage/exclusions, /api/network/exclusions",
+ "endpoint": "/api/health/storage-exclusions, /api/health/interface-exclusions",
"source": "SQLite-tabellerna excluded_storages och excluded_interfaces."
},
{
diff --git a/web/messages/sv/docs/monitor/dashboard/storage.json b/web/messages/sv/docs/monitor/dashboard/storage.json
index 522a9a65..55e4056b 100644
--- a/web/messages/sv/docs/monitor/dashboard/storage.json
+++ b/web/messages/sv/docs/monitor/dashboard/storage.json
@@ -10,7 +10,7 @@
},
"intro": {
"title": "Uppbackad av tre källor",
- "body": "Proxmox-lagring hämtas från pvesm status, ZFS från zpool status, diskar från lsblk + smartctl och NVMe-fält från nvme. Fliken uppdateras ungefär var 60:e sekund; detaljvyn begär en SMART-avläsning."
+ "body": "Proxmox-lagring hämtas från pvesm status, ZFS från zpool status, diskar från lsblk + smartctl och NVMe-fält från nvme. Fliken uppdateras ungefär var 30:e sekund; detaljvyn begär en SMART-avläsning."
},
"thresholds": {
"title": "Statusfärger och trösklar som tillämpas här",
diff --git a/web/messages/sv/docs/monitor/dashboard/system-logs.json b/web/messages/sv/docs/monitor/dashboard/system-logs.json
index c3cbb9e7..475700ba 100644
--- a/web/messages/sv/docs/monitor/dashboard/system-logs.json
+++ b/web/messages/sv/docs/monitor/dashboard/system-logs.json
@@ -18,7 +18,7 @@
"Totalt antal poster — antal loggposter i det aktiva filtrets tidsintervall.",
"Fel — antal poster med allvarlighetsgrad ≤ 3 (err / crit / alert / emerg).",
"Varningar — antal poster med allvarlighetsgrad 4 (warning).",
- "Säkerhetskopieringar — antal vzdump-/PBS-uppgifter i samma tidsintervall."
+ "Säkerhetskopieringar: antal säkerhetskopieringsarkiv på de konfigurerade lagringarna för säkerhetskopiering."
]
},
"subtabs": {
@@ -26,10 +26,10 @@
"logsTitle": "Loggar",
"logsIntro": "Systemjournalen hämtas på servern med journalctl. Följande filter finns i verktygsfältet:",
"logsFilters": [
- "Allvarlighetsgrad — emerg / alert / crit / err / warning / notice / info / debug, eller valfri kombination.",
- "Time range - sista 5 min / 15 min / 1 h / 6 h / 24 h / 7 d / custom.",
- "Fritextsökning — delsträng eller reguljärt uttryck (journalctl --grep).",
- "Enhetsfilter — begränsa till en viss systemd-enhet (pveproxy.service, nginx.service, …)."
+ "Level: all, error, warning eller info.",
+ "Time range: 1 dag / 3 dagar / 1 vecka / 2 veckor / 1 månad, eller ett eget antal dagar (upp till 90).",
+ "Fritextsökning: skiftlägesokänslig delsträng över meddelande, tjänst, PID, värdnamn och enhet, tillämpad i webbläsaren.",
+ "Service filter: begränsa till en tjänst (journalens SYSLOG_IDENTIFIER)."
],
"logsRowsAfter": "Varje rad visar tidsstämpel, svårighetsgrad, källenhet och meddelandet. Långa meddelanden kollapsar med en \"visa mer\" växel. Den är Ladda ner Åtgärder buntar det aktuella filtret i en enda .txt fil via GET /api/logs/download - användbar när du vill dela en bit av tidskrift med någon.",
"logDetailsModalTitle": "Dialogrutan Loggdetaljer",
@@ -50,10 +50,10 @@
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "På en ny Proxmox-installation använder journald som standard MaxLevelStore=warning, vilket kastar bort info-meddelanden. Monitor upptäcker detta vid start och lägger till en kompletterande konfiguration (/etc/systemd/journald.conf.d/proxmenux-loglevel.conf) med gränsen info, så att informationsmeddelanden och allvarligare meddelanden sparas. Detta omfattar inte debug.",
"backupsTitle": "Säkerhetskopieringar",
- "backupsBody": "Proxmox uppgiftshistorik filtrerad till säkerhetskopieringar. En rad per uppgift (vzdump, PBS-överföringar, Garbage Collect, Verify) med status (OK / WARNINGS / ERROR), berörd gäst, källagring, varaktighet och UPID. Klicka på en rad för att läsa hela uppgiftsloggen via GET /api/task-log/<upid> — samma data som i Datacenter → Tasks, begränsade till säkerhetskopieringar.",
+ "backupsBody": "Säkerhetskopieringsarkiven på varje lagring som kan hålla säkerhetskopior (dir, NFS, CIFS, PBS), lästa med pvesh get /nodes/localhost/storage/<id>/content. Korten överst visar antal VM:ar och LXC samt total storlek; nedanför visas en rad per arkiv med typ, lagring, storlek och datum. Återställning sker i Proxmox webbgränssnitt.",
"notificationsTitle": "Aviseringar",
- "notificationsBody1": "Alla aviseringar som Monitor skickar: Telegram, Discord, e-post, Gotify, ntfy, Slack, Teams och webhook. Varje rad visar tidsstämpel, kanal, händelsetyp, allvarlighetsgrad, genererad rubrik och text samt, om AI är aktiverat, ett reglage för att jämföra AI-versionen med originalet.",
- "notificationsBody2": "Använd fliken för att kontrollera att en kanal levererar aviseringar och jämföra AI-versionen med grundmallen. Kanaler ställs in på den detaljerade sidan Aviseringar."
+ "notificationsBody1": "Proxmox aviseringsaktivitet: journalrader från Proxmox-tjänster som nämner aviseringar, e-post, webhooks eller larm, målen i /etc/pve/notifications.cfg samt säkerhetskopieringsuppgifter från klustrets uppgiftslista. Rader för säkerhetskopieringsuppgifter kan ladda ner hela uppgiftsloggen. Historiken över vad Monitor själv har skickat finns under Settings → Notifications → Notification history.",
+ "notificationsBody2": "Använd fliken för att kontrollera vad Proxmox egna aviseringssystem gör. Kanalinställningar för Monitor finns på den detaljerade sidan Aviseringar."
},
"dataCollected": {
"heading": "Hur data samlas in",
@@ -64,7 +64,7 @@
{
"subtab": "Loggar (livefilter)",
"endpoint": "/api/logs",
- "source": "journalctl --output json --since <range> med filter för allvarlighetsgrad, enhet och sökning på servern."
+ "source": "journalctl med filter för prioritet, tjänst och antal dagar tillämpade på servern; textsökning körs i webbläsaren."
},
{
"subtab": "Ladda ner",
@@ -74,17 +74,17 @@
{
"subtab": "Säkerhetskopieringar",
"endpoint": "/api/backups",
- "source": "PVE-uppgiftshistorik filtrerad efter vzdump, PBS-överföringar, Garbage Collect och Verify."
+ "source": "Säkerhetskopieringsarkiv listade från varje lagring för säkerhetskopior med pvesh get /nodes/localhost/storage/<id>/content."
},
{
- "subtab": "Detaljer för en säkerhetskopieringsuppgift",
+ "subtab": "Uppgiftslogg för säkerhetskopiering (Aviseringar)",
"endpoint": "/api/task-log/<upid>",
"source": "Hela uppgiftsloggen läses som oformaterad text från /var/log/pve/tasks/<index>/<upid>."
},
{
- "subtab": "Aviseringshistorik",
- "endpoint": "/api/notifications/history",
- "source": "SQLite-tabellen notification_history fylls av sändningsslingan."
+ "subtab": "Aviseringar",
+ "endpoint": "/api/notifications",
+ "source": "journalctl --grep över Proxmox-enheter, /etc/pve/notifications.cfg och säkerhetskopieringsuppgifter från pvesh get /cluster/tasks."
}
],
"apiIntro": "Både livefiltret och nedladdningarna kan också nås via API:",
diff --git a/web/messages/sv/docs/monitor/dashboard/system-overview.json b/web/messages/sv/docs/monitor/dashboard/system-overview.json
index 6cd42fb9..4ed88114 100644
--- a/web/messages/sv/docs/monitor/dashboard/system-overview.json
+++ b/web/messages/sv/docs/monitor/dashboard/system-overview.json
@@ -46,7 +46,7 @@
"thresholdsIntro": "Ringar, staplar och minidiagram använder samma skala: grön under Varning, bärnstensfärgad mellan Varning och Kritisk, röd från Kritisk och uppåt. Rekommenderade standardvärden i ProxMenux:",
"thresholdsItems": [
"CPU-användning — varning 85 %, kritisk 95 %.",
- "Minne — varning 85 %, kritisk 95 %. Swap utlöser också Kritisk vid 5 % användning; en välfungerande Proxmox-värd bör sällan behöva använda swap.",
+ "Minne: varning 85 %, kritisk 95 %. Swap utlöser Kritisk endast när swapanvändningen är över 80 % och tillgängligt RAM är under 15 %.",
"CPU-temperatur — varning 80 °C, kritisk 90 °C."
],
"thresholdsOutro": "Alla värden kan ställas in per värd. Inställningar → Tröskelvärden för hälsokontrollen är den centrala referensen och förklarar hur de anpassas.",
@@ -58,7 +58,7 @@
"intro": "Korten CPU-användning och Minne öppnar en sorterbar lista över de 25 största processerna: efter CPU-användning från CPU-kortet eller resident minne från minneskortet.",
"listTitle": "Listdialogrutan",
"listItems": [
- "Automatisk uppdatering — listan uppdateras var 5:e sekund medan dialogrutan är öppen och slutar hämta data när den stängs.",
+ "Automatisk uppdatering — listan uppdateras var 3:e sekund medan dialogrutan är öppen och slutar hämta data när den stängs.",
"Filter — sökfältet begränsar listan efter kommando, användare eller PID.",
"Staplar i raderna — huvudkolumnens stapel skalas mot det högsta värdet i den filtrerade listan. Rangordningen förblir tydlig även när ingen process är nära 100 %.",
"Mobil layout — under 640 px döljs PID och Användare, så att Kommando, CPU % och Minne får plats utan horisontell rullning."
@@ -79,7 +79,7 @@
},
"middle": {
"heading": "Mitten: diagram med nodens mätvärden",
- "body1": "Under korten visar NodeMetricsCharts historik för CPU, minne och disk-I/O från Proxmox RRD-lager via /api/node/metrics. Välj 1 timme / 24 timmar / 7 dagar / 30 dagar / 1 år. Upplösningen sänks för längre perioder så att diagrammet förblir följsamt.",
+ "body1": "Under korten visar NodeMetricsCharts historik för CPU, minne och disk-I/O från Proxmox RRD-lager via /api/node/metrics. Välj 1 timme / 24 timmar / 7 dagar / 30 dagar. Upplösningen sänks för längre perioder så att diagrammet förblir följsamt.",
"body2": "Samma diagram som Proxmox webbgränssnitt visar för en nod, infogade i Monitors mörka tema och placerade i linje med övriga paneler."
},
"bottom": {
diff --git a/web/messages/sv/docs/monitor/dashboard/vms-lxcs.json b/web/messages/sv/docs/monitor/dashboard/vms-lxcs.json
index f71d6a3c..028f6b8f 100644
--- a/web/messages/sv/docs/monitor/dashboard/vms-lxcs.json
+++ b/web/messages/sv/docs/monitor/dashboard/vms-lxcs.json
@@ -117,7 +117,7 @@
"Destination — lagring (PBS-Cloud, PBS-Local, NFS-Backup, …), färgad efter status.",
"Storlek — kopians slutliga storlek på disk."
],
- "backupsOutro": "+ Skapa säkerhetskopia startar en kopiering på lagringen markerad ”Backup target” i Proxmox. Återställning görs i Proxmox webbgränssnitt; Monitor visar gästens senaste kopior och kan skapa nya.",
+ "backupsOutro": "Knappen + Skapa säkerhetskopia uppe till höger öppnar en dialog där du väljer lagring, läge (snapshot / suspend / stop), skydd och anteckningar innan en vzdump startas. Återställning görs i Proxmox webbgränssnitt; Monitor visar vyn ”har den här gästen säkerhetskopierats nyligen?”, inte återställningsflödet.",
"firewallTitle": "Tab 7 - Brandvägg",
"firewallIntro": "Läser gästens Proxmox-brandväggslogg direkt från värden utan extra tjänst eller periodiska hämtningar. Fliken finns alltid; innehållet beror på om brandväggen är aktiv och någon regel loggar paket.",
"firewallItems": [
diff --git a/web/messages/sv/docs/monitor/health-monitor.json b/web/messages/sv/docs/monitor/health-monitor.json
index ae3a030e..1847f2a5 100644
--- a/web/messages/sv/docs/monitor/health-monitor.json
+++ b/web/messages/sv/docs/monitor/health-monitor.json
@@ -153,8 +153,8 @@
"pillTitle": "Indikatorn följer den allvarligaste kategorin",
"pillBody": "Sidhuvudets färg följer högsta allvarlighetsgrad: CRITICAL → rött, annars WARNING → gult, annars INFO → blått, annars grönt. Samma logik styr punkten i faviconen och PWA-märket.",
"updateNowTitle": "Uppdatera nu knappen i Översiktsrubriken",
- "updateNowBody1": "När Systemuppdateringar visar väntande uppdateringar visas Uppdatera nu bredvid statusindikatorn. Fönstret kör samma värdflöde som ProxMenux → Settings post-install Proxmox → Proxmox System Update: rensning av paketkällor, apt full-upgrade via update-pve-safe.sh, DKMS-ombyggnad av hanterade drivrutiner vid ny kärna, autoremove/autoclean och fråga om omstart när kärnan ändrats. Förloppet visas löpande.",
- "updateNowBody2": "När körningen är klar anropar stängningen GET /api/health/details?refresh=1 och ogiltigförklarar endpointens cache. Väntande uppdateringar och allvarlighetsgrad räknas om från det nya paketläget, så märket försvinner utan att invänta nästa cykel. På en uppdaterad värd är knappen dold."
+ "updateNowBody1": "När Systemuppdateringar visar väntande uppdateringar visas Uppdatera nu bredvid statusindikatorn. Fönstret kör samma värdflöde som ProxMenux → Utilities and Tools → Proxmox System Update: rensning av paketkällor, apt full-upgrade via update-pve-safe.sh, DKMS-ombyggnad av hanterade drivrutiner vid ny kärna, autoremove/autoclean och fråga om omstart när kärnan ändrats. Förloppet visas löpande.",
+ "updateNowBody2": "När körningen är klar anropar stängningen GET /api/health/full?refresh=1 och ogiltigförklarar endpointens cache. Väntande uppdateringar och allvarlighetsgrad räknas om från det nya paketläget, så märket försvinner utan att invänta nästa cykel. På en uppdaterad värd är knappen dold."
},
"dismiss": {
"heading": "Avfärda larm och ange undertryckningstid",
diff --git a/web/messages/sv/docs/monitor/index.json b/web/messages/sv/docs/monitor/index.json
index fa2eab2f..59163aee 100644
--- a/web/messages/sv/docs/monitor/index.json
+++ b/web/messages/sv/docs/monitor/index.json
@@ -113,13 +113,13 @@
"api": {
"heading": "REST API och integrationer",
"intro": "REST-endpointar ger övervakningsdata som JSON över HTTP/HTTPS för Homepage, Home Assistant, Uptime Kuma och skript. Grafana kan använda den separata Prometheus-textexportören på /api/prometheus. Anrop kan göras med curl.",
- "tokens": "Långlivade API-token (365 dagar) skapas under Inställningar → API-åtkomsttoken eller via POST /api/auth/generate-api-token.",
+ "tokens": "Långlivade API-token (365 dagar) skapas under Admin → Säkerhet → API-token eller via POST /api/auth/generate-api-token.",
"bearer": "Skicka token som Authorization: Bearer …. Även /api/health förväntar sig Bearer-headern, så tillgänglighetskontroller behöver en read_only-token. Under /api/auth/* finns både offentliga inställnings-/inloggnings-/statusrutter och skyddade rutter för konto-/tokenhantering; alla är inte anonyma.",
"catalog": "Den fullständiga slutpunktskatalogen, vägledning för tokenrotation och bästa säkerhetspraxis finns i API Referens; Färdiga exempel för Homepage, Home Assistant, Grafana, Uptime Kuma och ett generiskt cURL-mönster finns i Integrationer."
},
"serviceControl": {
"heading": "Tjänstekontroll",
- "intro": "Monitor hanteras som andra systemd-tjänster. Det finns även två poster i ProxMenux textgränssnitt under Inställningar:",
+ "intro": "Monitor hanteras som andra systemd-tjänster. Det finns även tre poster i ProxMenux textgränssnitt under Inställningar:",
"codeComment": "# Manuell kontroll",
"footer": "Se Inställningar → ProxMenux Monitor för växling i menyn och statusverifieringsflöde."
},
diff --git a/web/messages/sv/docs/monitor/integrations.json b/web/messages/sv/docs/monitor/integrations.json
index 60d5ee3b..e06e806e 100644
--- a/web/messages/sv/docs/monitor/integrations.json
+++ b/web/messages/sv/docs/monitor/integrations.json
@@ -20,13 +20,13 @@
"heading": "Autentisering: det enda varje recept behöver",
"intro": "De flesta endpoints som används av dessa integrationer är autentiserade. Du har två sätt att tillfredsställa detta krav.",
"optAtitle": "Alternativ A – API token (rekommenderas för integrationer)",
- "optAbody1": "Öppna Inställningar → Säkerhet → API-token. Välj Skapa token, ge den ett namn som homepage, home-assistant eller prometheus och kopiera den: den visas bara en gång. Den gäller ett år som standard och kan återkallas separat. Använd den för klienter utanför webbläsaren.",
+ "optAbody1": "Öppna Admin → Säkerhet → API-token. Välj Skapa token, ge den ett namn som homepage, home-assistant eller prometheus och kopiera den: den visas bara en gång. Den gäller ett år som standard och kan återkallas separat. Använd den för klienter utanför webbläsaren.",
"optAbody2": "Från den punkten är varje begäran bara:",
"optBtitle": "Alternativ B – inloggningsflöde (användarnamn + lösenord)",
"optBbody": "Användbart för skript som autentiserar som en mänsklig användare. Den returnerade token är kortlivad; de flesta integrationer bör föredra Alternativ A.",
"outro": "TOTP-fältet behövs bara med tvåfaktorsautentisering påslagen. Rotation och återkallande av token, lösenordsregler och granskningslogg beskrivs i Åtkomst och autentisering.",
"httpsTitle": "Använda HTTPS istället för HTTP",
- "httpsIntro": "Exemplen använder http:// för korthet. Om TLS är påslaget i Monitor (Inställningar → Säkerhet → SSL/HTTPS), byt http:// mot https:// i varje URL. Två verktygsspecifika anmärkningar:",
+ "httpsIntro": "Exemplen använder http:// för korthet. Om TLS är påslaget i Monitor (Admin → Säkerhet → SSL / HTTPS), byt http:// mot https:// i varje URL. Två verktygsspecifika anmärkningar:",
"httpsItems": [
"Självsignerade certifikat. Home Assistants rest:-integration verifierar TLS som standard. Med Monitors självsignerade certifikat kan du lägga till verify_ssl: false i varje REST-block bredvid scan_interval: eller importera dess CA i betrodda certifikat. Detsamma gäller andra verktyg som verifierar certifikat.",
"Prometheus har redan scheme: https i exemplet nedan. Aktivera eller behåll https när TLS är påslaget i Monitor."
@@ -43,7 +43,7 @@
"basicTitle": "Grundläggande widget - ingen autentisering",
"basicIntro": "Använd detta när ProxMenux Monitor är på ett pålitligt nätverk och du har inte aktiverat autentisering på Monitor sidan ännu. Den enklaste möjliga services.yaml-posten:",
"authedTitle": "Autentiserad widget",
- "authedIntro": "Skapa en API-token under Inställningar → Säkerhet → API-token i Monitor. Kopiera den till headern Authorization nedan och ersätt exempeltoken efter Bearer.",
+ "authedIntro": "Skapa en API-token under Admin → Säkerhet → API-token i Monitor. Kopiera den till headern Authorization nedan och ersätt exempeltoken efter Bearer.",
"authedOutro": "Starta om Homepage så visar kortet aktuella värden. Återanvänd token i widgetar som läser samma Monitor-instans.",
"multiTitle": "Multi-widget setup – system, lagring, nätverk",
"multiIntro": "För fler detaljer skapar du tre kort med olika endpoints: system, lagring och nätverk. Använd samma token för denna Monitor-instans.",
diff --git a/web/messages/sv/docs/security/ssl-letsencrypt.json b/web/messages/sv/docs/security/ssl-letsencrypt.json
index 7d11d70d..e915dcc8 100644
--- a/web/messages/sv/docs/security/ssl-letsencrypt.json
+++ b/web/messages/sv/docs/security/ssl-letsencrypt.json
@@ -12,13 +12,13 @@
},
"intro": {
"title": "Vad denna sida täcker",
- "body": "Hur man byter Monitor från HTTP till HTTPS i Inställningarna → Säkerhetspanel, vad varje certifikatkälla faktiskt pekar på på disken, hur Proxmox-alternativet beter sig när värden har en Let's Encrypt-cert och hur man ställer in anpassade vägar om du hanterar certer utanför Proxmox."
+ "body": "Hur man byter Monitor från HTTP till HTTPS i panelen Admin → Säkerhet, vad varje certifikatkälla faktiskt pekar på på disken, hur Proxmox-alternativet beter sig när värden har en Let's Encrypt-cert och hur man ställer in anpassade vägar om du hanterar certer utanför Proxmox."
},
"wheresetting": {
"heading": "Var inställningen finns",
- "body": "Öppna Monitor och gå till Inställningar → Säkerhet → HTTPS / SSL. Panelen visar HTTP eller HTTPS och, om HTTPS inte aktiverats, de upptäckta certifikatkällorna.",
- "imageAlt": "Inställningar → Säkerhet → HTTPS / SSL-panelen i Monitorn som visar HTTPS-off-tillståndet, det automatiska upptäckta Proxmox-certifikatet (ämne, emittent, utgång) och alternativet Använd anpassat certifikat",
- "caption": "Panelen Inställningar → Säkerhet → HTTPS / SSL före aktivering. Monitor visar certifikatet som Proxmox använder och låter dig välja det med ett klick."
+ "body": "Öppna Monitor och gå till Admin → Säkerhet → SSL / HTTPS. Panelen visar HTTP eller HTTPS och, om HTTPS inte aktiverats, de upptäckta certifikatkällorna.",
+ "imageAlt": "Panelen Admin → Säkerhet → SSL / HTTPS i Monitorn som visar HTTPS-off-tillståndet, det automatiska upptäckta Proxmox-certifikatet (ämne, emittent, utgång) och alternativet Använd anpassat certifikat",
+ "caption": "Panelen Admin → Säkerhet → SSL / HTTPS före aktivering. Monitor visar certifikatet som Proxmox använder och låter dig välja det med ett klick."
},
"twoways": {
"heading": "Två sätt att aktivera HTTPS",
@@ -117,7 +117,7 @@
},
"switchToHttps": {
"heading": "Byt Monitor till HTTPS",
- "bodyRich": "När /etc/pve/local/pveproxy-ssl.pem signerats av Let's Encrypt öppnar du Inställningar → Säkerhet → HTTPS / SSL, kontrollerar att utfärdaren är Let's Encrypt och inte Proxmox lokala CA och klickar på Använd Proxmox-certifikat. Monitor startar om och nästa sidladdning använder HTTPS på 8008 med en offentligt betrodd certifikatkedja. Senare ACME-förnyelser valideras och väljs vid nästa nya TLS-anslutning, utan återkommande avfrågning eller omstart vid förnyelse. Uppdatera certifikat finns kvar under Säkerhet för diagnos och återställning."
+ "bodyRich": "När /etc/pve/local/pveproxy-ssl.pem signerats av Let's Encrypt öppnar du Admin → Säkerhet → SSL / HTTPS, kontrollerar att utfärdaren är Let's Encrypt och inte Proxmox lokala CA och klickar på Använd Proxmox-certifikat. Monitor startar om och nästa sidladdning använder HTTPS på 8008 med en offentligt betrodd certifikatkedja. Senare ACME-förnyelser valideras och väljs vid nästa nya TLS-anslutning, utan återkommande avfrågning eller omstart vid förnyelse. Uppdatera certifikat finns kvar under Säkerhet för diagnos och återställning."
},
"custom": {
"heading": "Anpassat certifikat - när du ska använda det",