mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-10-08 06:26:39 +00:00
overhaul app tracking and update orchestration
- Generate and ship a verified 389-app tracking catalog with 23 runtime overrides, fallback detectors, ports, logos, and Docker Hub tag previews. - Support modern Proxmox VE Helper-Scripts markers, historical installations, and official or manual app deployments. - Rework the LXC App and Updates tabs with cached suggestions, explicit discovery, version tracking, web links, custom updaters, and complete i18n. - Add independent OS, app, Docker Engine, Docker image, bulk, and scheduled update targets. - Add digest-based Docker inventory, Compose dependency grouping, safe standalone-container recreation with rollback, and package-scoped Docker Engine updates. - Refresh per-LXC caches after lifecycle and update tasks, then emit idempotent notifications based on the verified final state. - Harden Coral USB recovery by removing orphaned gasket DKMS registrations and validating that dpkg is healthy before reporting success.
This commit is contained in:
@@ -1162,7 +1162,15 @@
|
||||
"targetBoth": "Systém + aplikácia",
|
||||
"lastRun": "Posledné spustenie: {date}",
|
||||
"runSuccess": "✓ úspešné",
|
||||
"runPartial": "čiastočne dokončené",
|
||||
"runFailed": "✗ zlyhalo",
|
||||
"runDeferred": "odložené z bezpečnostných dôvodov",
|
||||
"runSkipped": "nič nečaká",
|
||||
"releaseDelaySummary": "odklad {days} deň/dní",
|
||||
"releaseDelayLabel": "Počkať po novej verzii aplikácie",
|
||||
"releaseDelayNone": "Bez čakacej doby",
|
||||
"releaseDelayDays": "Počkať {days} deň/dní",
|
||||
"releaseDelayHelp": "Platí iba pre vybrané aplikácie so sledovaním verzie. Ich čakajúce verzie musia dosiahnuť tento vek; aplikácie bez sledovania spustia aktualizátor pri každom naplánovanom termíne.",
|
||||
"notScheduled": "Bez plánu",
|
||||
"frequency": "Frekvencia",
|
||||
"cronExpression": "Cron výraz",
|
||||
@@ -1171,6 +1179,11 @@
|
||||
"targetOptionOs": "Iba balíky systému",
|
||||
"targetOptionApp": "Iba aplikáciu",
|
||||
"targetOptionBoth": "Systém + aplikáciu",
|
||||
"dockerComposeTarget": "Docker Compose · {project}",
|
||||
"dockerContainerTarget": "Docker kontajner · {container}",
|
||||
"dockerEngineTarget": "Docker Engine",
|
||||
"noTargets": "Nie sú vybrané žiadne ciele",
|
||||
"selectAtLeastOne": "Vyberte aspoň jeden cieľ aktualizácie.",
|
||||
"deleteButton": "Odstrániť plán",
|
||||
"deleteConfirm": "Odstrániť plánované aktualizácie tohto kontajnera? Predvolené nastavenia (záloha a reštart) zostanú zachované."
|
||||
},
|
||||
@@ -1216,7 +1229,7 @@
|
||||
"osPlusApp": "Aktualizácie systému + {appName}",
|
||||
"osPlusApps": "Aktualizácie systému + aplikácií",
|
||||
"noUpdateMethodTitle": "Aktualizácia nie je nastavená",
|
||||
"noUpdateMethodBody": "Pre túto aplikáciu nie je nastavený spôsob aktualizácie. Aktualizujte ju priamo v aplikácii alebo nastavte vlastný príkaz na karte Aplikácia.",
|
||||
"noUpdateMethodBody": "Pre túto aplikáciu nebola identifikovaná žiadna metóda aktualizácie. Pridajte vlastný aktualizačný príkaz.",
|
||||
"ociImmutableTitle": "Kontajner z OCI obrazu",
|
||||
"ociImmutableBody": "Balíky systému sú súčasťou obrazu a nemožno ich aktualizovať priamo. Aktualizujte ich ručne alebo kontajner preinštalujte z novšieho obrazu.",
|
||||
"hideNoticeButton": "Skryť toto upozornenie pre aplikáciu",
|
||||
@@ -1229,6 +1242,7 @@
|
||||
"applicationDefaultName": "Aplikácia",
|
||||
"installedLabel": "nainštalované",
|
||||
"upToDateAtLabel": "Aktuálna verzia",
|
||||
"versionLabel": "verzia {version}",
|
||||
"versionTrackingPending": "Čaká sa na údaje o verzii — nainštalovaná a dostupná verzia sa doplnia pri najbližšej plánovanej kontrole.",
|
||||
"customCommandTitle": "Vlastný príkaz na aktualizáciu",
|
||||
"customCommandBody": "Spustí v kontajneri vlastný shell príkaz, ktorý aktualizuje túto aplikáciu.",
|
||||
@@ -1237,6 +1251,7 @@
|
||||
"hideNoticeAction": "Skryť upozornenie pre {appName}",
|
||||
"detectedByPrefix": "Zistené cez",
|
||||
"editApp": "Upraviť",
|
||||
"configureUpdater": "Nastaviť",
|
||||
"alsoDetectedTitle": "V tomto kontajneri sa našli aj:",
|
||||
"detectedInline": "· zistené cez {method}",
|
||||
"customCommandLabel": "Vlastný príkaz na aktualizáciu",
|
||||
@@ -1244,9 +1259,9 @@
|
||||
"removeButton": "Odstrániť",
|
||||
"cancelButton": "Zrušiť",
|
||||
"saveButton": "Uložiť",
|
||||
"editCommandButton": "Upraviť príkaz",
|
||||
"wireUpCommandButton": "Pridať vlastný príkaz na aktualizáciu",
|
||||
"versionTrackingPendingShort": "Čaká sa na údaje o verzii.",
|
||||
"versionTrackingNotConfigured": "Sledovanie verzie nie je nastavené.",
|
||||
"managedByOsPackages": "Táto aplikácia sa aktualizuje prostredníctvom akcie balíkov operačného systému.",
|
||||
"noMethodBody": "Pre túto aplikáciu nie je nastavený spôsob aktualizácie. Aktualizujte ju priamo v aplikácii alebo pridajte vlastný príkaz, ktorý ProxMenux spustí v kontajneri.",
|
||||
"noMethodHideBody": "Táto aplikácia nemá nastavený spôsob aktualizácie. Nastavte ho na karte Aplikácia alebo toto upozornenie skryte.",
|
||||
"hideForApp": "Skryť upozornenie pre {appName}",
|
||||
@@ -1265,15 +1280,59 @@
|
||||
"noManagedUpdateInfo": "Zatiaľ nie sú žiadne informácie o aktualizácii – skontrolujte ich v časti Zabezpečenie → Secure Gateway.",
|
||||
"ociTitle": "Kontajner z OCI obrazu",
|
||||
"ociBody": "Tento kontajner bol vytvorený z OCI (Docker) obrazu. Pripravovaná podpora aktualizácií OCI kontajnerov vytvorí kontajner znova z novšieho tagu obrazu namiesto aktualizácie balíkov vo vnútri.",
|
||||
"helperNotUpdateable": "Register community-scripts označuje túto aplikáciu ako neaktualizovateľnú.",
|
||||
"helperDetectedTitle": "Našiel sa aktualizačný skript z helper-scripts",
|
||||
"helperDetectedBody": "Najbezpečnejšie je spustiť aktualizáciu ručne.",
|
||||
"dockerImagesTitle": "Docker obrazy",
|
||||
"dockerAppTitle": "Docker",
|
||||
"dockerImagesSubheading": "Obrazy",
|
||||
"dockerImagesReadOnly": "Značky sa porovnávajú podľa digestu registra. Služby Compose môžu stiahnuť obraz a znova sa vytvoriť z deklarovaného projektu.",
|
||||
"dockerEngineManagedByOs": "Docker Engine {version} je spravovaný balíkmi a aktualizuje sa vyššie uvedenou akciou balíkov OS.",
|
||||
"dockerEngineSubheading": "Engine",
|
||||
"dockerEngineDetected": "Zistený Docker Engine {version}",
|
||||
"dockerEngineUpdateHelp": "Aktualizuje iba nainštalované balíky Docker a potrebné závislosti. Ostatné balíky OS ani kontajnery nemení.",
|
||||
"updateDockerEngineOnly": "Aktualizovať Docker Engine",
|
||||
"adguardWebUpdateOnly": "Táto inštalácia AdGuard Home sa aktualizuje vo vlastnom webovom rozhraní.",
|
||||
"openAdguard": "Otvoriť AdGuard Home",
|
||||
"updateDockerImage": "Aktualizovať obraz",
|
||||
"recreateStandaloneContainer": "Aktualizovať {container}",
|
||||
"standaloneRecreatePending": "Samostatné kontajnery vyžadujú chránené opätovné vytvorenie: {names}",
|
||||
"noDockerImages": "Docker je nainštalovaný, ale nenašli sa žiadne označené obrazy.",
|
||||
"dockerInventoryStarting": "Čaká sa na dokončenie spustenia Dockeru…",
|
||||
"dockerInventoryUnavailable": "Inventár Dockeru sa nepodarilo načítať. Skontrolujte ho znova, keď bude Docker dostupný.",
|
||||
"usedByContainers": "Používa: {names}",
|
||||
"imageUpdateAvailable": "Dostupný nový obraz",
|
||||
"imageUpToDate": "Aktuálne",
|
||||
"imageInstalledTag": "nainštalovaná značka",
|
||||
"imageDigestUnknown": "Digest nie je dostupný",
|
||||
"dockerPendingSummary": "Zistené aktualizácie Docker obrazov: {count}. Použite príslušný postup Docker alebo Compose.",
|
||||
"postApplyChecking": "Overuje sa výsledok aktualizácie…",
|
||||
"postApplyAllOk": "{count} balíkov bolo úspešne použitých – nič sa nečaká.",
|
||||
"postApplyNothingPending": "Nič sa nečaká – všetko je aktuálne.",
|
||||
"postApplyPartial": "{pending} balíkov, ktoré po spustení stále čakajú.",
|
||||
"postApplyPartialSubline": "Použilo sa {applied}. Niektoré aktualizácie sa nedokončili – skontrolujte výstup terminálu vyššie."
|
||||
},
|
||||
"bulkUpdate": {
|
||||
"title": "Hromadná aktualizácia",
|
||||
"description": "Nastavte jednu akciu na aktualizáciu operačného systému a vybraných metód v tomto kontajneri.",
|
||||
"loading": "Načítava sa konfigurácia…",
|
||||
"notConfigured": "Nenakonfigurované.",
|
||||
"configure": "Nastaviť",
|
||||
"edit": "Upraviť",
|
||||
"apply": "Použiť aktualizácie",
|
||||
"osTarget": "Operačný systém",
|
||||
"osRequired": "Povinné pre hromadnú aktualizáciu.",
|
||||
"includesDependencies": "Zahŕňa aj deklarované závislosti: {names}",
|
||||
"noMethod": "Nie je dostupná žiadna spustiteľná metóda aktualizácie.",
|
||||
"staleTarget": "Tento výber už nie je dostupný. Pred uložením ho odstráňte.",
|
||||
"dockerInventoryPending": "Čaká sa na inventár obrazov Docker…",
|
||||
"missingDockerTarget": "Obraz Docker nie je dostupný",
|
||||
"selectAtLeastOne": "Okrem operačného systému vyberte aspoň jeden cieľ aktualizácie.",
|
||||
"cancel": "Zrušiť",
|
||||
"save": "Uložiť",
|
||||
"delete": "Odstrániť konfiguráciu",
|
||||
"deleteConfirm": "Odstrániť túto konfiguráciu hromadnej aktualizácie?",
|
||||
"saveFailed": "Konfiguráciu hromadnej aktualizácie sa nepodarilo uložiť.",
|
||||
"deleteFailed": "Konfiguráciu hromadnej aktualizácie sa nepodarilo odstrániť.",
|
||||
"planFailed": "Hromadnú aktualizáciu sa nepodarilo pripraviť. Skontrolujte nedostupné metódy."
|
||||
},
|
||||
"appEditor": {
|
||||
"closePanel": "Zavrieť panel",
|
||||
"cancelButton": "Zrušiť",
|
||||
@@ -1283,6 +1342,17 @@
|
||||
"hiddenBadge": "Momentálne skryté — po obnovení sa znova zobrazí v zozname nájdených aplikácií",
|
||||
"registerDifferent": "Pridať inú aplikáciu",
|
||||
"detectedInContainer": "Nájdené v tomto kontajneri",
|
||||
"versionDetected": "Verzia {version} zistená v tomto kontajneri",
|
||||
"legacyDetectorUsed": "Zistené pomocou staršieho kompatibilného detektora",
|
||||
"dockerImagesTitle": "Aktualizácie Docker obrazov",
|
||||
"dockerImagesHelp": "Kontroluje každý lokálny obraz oddelene od Docker enginu porovnaním nemenných digestov registra.",
|
||||
"refreshDockerImages": "Skontrolovať teraz",
|
||||
"noDockerImages": "Nenašli sa žiadne označené Docker obrazy",
|
||||
"usedByContainers": "Používa: {names}",
|
||||
"imageUpdateAvailable": "Dostupný nový obraz",
|
||||
"imageUpToDate": "Aktuálne",
|
||||
"imageDigestUnknown": "Digest nie je dostupný",
|
||||
"dockerReadOnlyNote": "Kontrola iba na čítanie: žiadny obraz sa nesťahuje a žiadny kontajner sa nereštartuje.",
|
||||
"installedManaged": "Nainštalované a spravované cez ProxMenux",
|
||||
"nameLabel": "Názov",
|
||||
"installedViaLabel": "Spôsob inštalácie",
|
||||
@@ -1339,6 +1409,17 @@
|
||||
"jsonPathPlaceholder": "napr. data.version alebo releases[0].tag_name",
|
||||
"dockerImageLabel": "Obraz na Docker Hub",
|
||||
"dockerImagePlaceholder": "napr. linuxserver/plex alebo nginx",
|
||||
"dockerVersionedTagsHelp": "Použite iba pre verziované tagy. Pre latest, stable alebo lts použite aktualizácie Docker obrazov podľa digestu.",
|
||||
"dockerPresetSemver": "Iba SemVer",
|
||||
"dockerPresetSemverSuffix": "SemVer + prípona",
|
||||
"dockerTagFilterHelp": "Filtruje skutočné tagy pred výberom najvyššej verzie.",
|
||||
"dockerTagPreviewLabel": "Náhľad skutočných tagov",
|
||||
"dockerTagPreviewCount": "{matched} zhodných z {scanned}",
|
||||
"dockerTagPreviewLoading": "Kontroluje sa Docker Hub…",
|
||||
"dockerTagPreviewFailed": "Tagy Docker Hub sa nepodarilo zobraziť",
|
||||
"dockerTagPreviewEmpty": "Tomuto filtru nezodpovedá žiadny skutočný tag.",
|
||||
"dockerMovingTag": "pohyblivý tag",
|
||||
"dockerMovingTagHelp": "Pohyblivé tagy neobsahujú verziu. Sledujte ich podľa digestu v aktualizáciách Docker obrazov.",
|
||||
"tagRegexLabel": "Regex tagu (so zachytávacou skupinou)",
|
||||
"tagRegexPlaceholder": "napr. v?(\\d+\\.\\d+\\.\\d+)",
|
||||
"tagRegexBare": "v?(\\d+\\.\\d+\\.\\d+)",
|
||||
@@ -1371,7 +1452,14 @@
|
||||
"registerCustom": "Pridať vlastnú aplikáciu",
|
||||
"noAppsTitle": "Nie sú pridané žiadne aplikácie",
|
||||
"noAppsBody": "Pridajte aplikácie, ktoré bežia v tomto kontajneri. Získate odkazy na ich webové rozhranie a voliteľne aj sledovanie dostupných verzií s upozorneniami na nové vydania.",
|
||||
"registerApplication": "Pridať aplikáciu",
|
||||
"registerApplication": "Registrovať aplikáciu",
|
||||
"searchApplications": "Hľadať aplikácie",
|
||||
"searchingApplications": "Hľadajú sa aplikácie…",
|
||||
"noApplicationsDetected": "Neboli zistené žiadne aplikácie.",
|
||||
"noNewApplicationsDetected": "Neboli zistené žiadne nové aplikácie.",
|
||||
"oneNewApplicationDetected": "Bola zistená jedna nová aplikácia.",
|
||||
"newApplicationsDetected": "Boli zistené {count} nové aplikácie.",
|
||||
"detectionFailed": "Zisťovanie aplikácií zlyhalo",
|
||||
"hiddenSuffix": "skryté: {count}",
|
||||
"confirmHide": "Natrvalo skryť nájdenú aplikáciu „{name}“ v tomto kontajneri?\n\nAk ju budete chcieť neskôr vrátiť, kliknite na „Pridať inú aplikáciu“. V zozname skrytých aplikácií ju potom môžete obnoviť.",
|
||||
"saveFailed": "Uloženie zlyhalo",
|
||||
@@ -1382,6 +1470,13 @@
|
||||
"binaryArgsHintGrafana": "Grafana potrebuje",
|
||||
"loadFailed": "Nastavenia aplikácií sa nepodarilo načítať",
|
||||
"checkFailed": "Kontrola zlyhala",
|
||||
"testDetectorButton": "Otestovať detektor",
|
||||
"testingDetectorButton": "Testovanie detektora…",
|
||||
"detectorTestTitle": "Výsledok testu detektora",
|
||||
"detectorTestNotSaved": "Iba koncept · neuložené",
|
||||
"detectorTestNoVersion": "Nebola zistená žiadna verzia",
|
||||
"detectorTestNoUpstream": "Nie je nastavený zdroj upstream",
|
||||
"detectorTestFailed": "Test detektora zlyhal",
|
||||
"deleteFailed": "Odstránenie zlyhalo",
|
||||
"dismissFailed": "Nájdenú aplikáciu sa nepodarilo skryť",
|
||||
"restoreFailed": "Nájdenú aplikáciu sa nepodarilo obnoviť",
|
||||
@@ -1398,6 +1493,10 @@
|
||||
"webLinks": "Webové odkazy",
|
||||
"addPort": "Pridať port",
|
||||
"detectedPorts": "Porty nájdené v kontajneri — kliknutím ich pridáte:",
|
||||
"dockerPublishedServicesTitle": "Služby Docker so zverejnenými portmi",
|
||||
"dockerPublishedServicesHelp": "Vyberte iba porty, ktoré poskytujú webové rozhranie. ProxMenux tieto kontajnery nezaregistruje ako samostatné aplikácie LXC.",
|
||||
"dockerPublishedAdd": "Pridať odkaz",
|
||||
"dockerPublishedPort": "port kontajnera {containerPort} → {hostPort} v LXC",
|
||||
"noWebPorts": "Nenašli sa žiadne aktívne webové porty. Odkaz môžete vytvoriť ručne cez Pridať port.",
|
||||
"trackUpstream": "Sledovať dostupnú verziu (voliteľné)",
|
||||
"trackOff": "Vypnuté — iba odkaz",
|
||||
@@ -1415,7 +1514,7 @@
|
||||
"checkButton": "Skontrolovať",
|
||||
"editFieldsButton": "Upraviť údaje",
|
||||
"alsoDetectedContainer": "Ďalšie aplikácie nájdené v kontajneri",
|
||||
"addAnotherApplication": "Pridať ďalšiu aplikáciu",
|
||||
"addAnotherApplication": "Registrovať ďalšiu aplikáciu",
|
||||
"doneButton": "Hotovo",
|
||||
"editButton": "Upraviť",
|
||||
"upstreamErrorTimeout": "Časový limit siete pri kontaktovaní upstream",
|
||||
|
||||
Reference in New Issue
Block a user