fix: improve host diagnostics, storage handling, and maintenance workflows

- add zero-downtime Proxmox TLS certificate refresh from the Security panel (#307)
- classify storage availability independently from missing capacity information (#309)
- update ZFS ARC sizing and safely reconcile conflicting module configurations
- preserve and restore migrated ZFS settings without overwriting later administrator changes
- stop memory optimization from forcing the kernel overcommit policy
- correlate multi-line OOM events and identify the affected LXC, cgroup limits, swap and killed process
- add selectable Bash prompt path styles and clearer shell activation guidance
- protect technical names during automatic translation and correct localized terminology
- update the Coral and VM/LXC Apps and Updates documentation, translations and screenshots
This commit is contained in:
MacRimi
2026-08-25 18:48:39 +02:00
parent 2302b0967b
commit 46158209f1
48 changed files with 2449 additions and 2466 deletions
@@ -1,343 +1,183 @@
{
"meta": {
"title": "App — registrácia a sledovanie aplikácií v LXC | ProxMenux",
"description": "Zapíšte aplikácie bežiace v LXC kontajneri cez ProxMenux Monitor a voliteľne sledujte ich verzie."
"title": "Karta LXC App: zisťovanie, odkazy a verzie | ProxMenux",
"description": "Vyhľadávanie a registrácia aplikácií LXC, vytvorenie webových odkazov a voliteľné sledovanie nainštalovanej a dostupnej verzie."
},
"header": {
"title": "App — registrácia a sledovanie aplikácií v LXC",
"description": "Zapíšte aplikácie bežiace v kontajneri, pridajte rýchle webové odkazy a voliteľne sledujte nainštalovanú a najnovšiu verziu."
"title": "Karta LXC App: zisťovanie, odkazy a verzie",
"description": "Priraďte aplikácii v LXC trvalú identitu, webový prístup a voliteľné údaje o verzii bez prepojenia registrácie s aktualizáciou."
},
"intro": {
"p1": "Záložka <strong>App</strong> ukladá informácie o aplikáciách, ktoré bežia v LXC kontajneri. Každá registrovaná aplikácia môže mať zobrazený názov, ikonu, jeden alebo viac webových odkazov a voliteľne aj stav verzie.",
"p2": "Jeden LXC môže obsahovať viac registrovaných aplikácií. Hlavná služba môže zdieľať kontajner s administračným rozhraním, API alebo inou aplikáciou dostupnou na inom porte.",
"p3": "Registrácia aplikáciu nemení ani neaktualizuje. Táto záložka slúži na pomenovanie, zobrazenie a sledovanie. Mechanizmy, ktoré aktualizáciu skutočne <em>spúšťajú</em>, sa nastavujú a používajú v <link>záložke Aktualizácie</link>."
"p1": "Karta <strong>App</strong> zaznamenáva, ktoré aplikácie patria do LXC. Záznam môže obsahovať iba názov a webový odkaz alebo aj detektor nainštalovanej verzie a zdroj dostupnej verzie.",
"p2": "Postup, ktorý mení softvér, sa nastavuje samostatne na <link>karte Aktualizácie</link>. Uloženie aplikácie nikdy nespúšťa inštalátor ani aktualizátor.",
"callout": "Registrácia, sledovanie verzie a aktualizácia sú tri nezávislé možnosti. Každú možno používať bez ostatných dvoch."
},
"whatYouGet": {
"heading": "Čo získate registráciou aplikácie",
"lead": "Podľa nastavených údajov vie ProxMenux zobraziť:",
"overview": {
"heading": "Čo môže obsahovať záznam aplikácie",
"lead": "Jeden uložený záznam môže obsahovať:",
"items": [
"Skratku jedným kliknutím do webového rozhrania aplikácie.",
"Viac odkazov, ak LXC poskytuje viac služieb alebo portov.",
"Aktuálne nainštalovanú verziu.",
"Najnovšiu verziu vydanú projektom.",
"Upozornenie, keď je dostupná novšia verzia.",
"Notifikácie o nových vydaniach, ak sú povolené v nastaveniach Monitoru."
"Zobrazovaný názov a logo prispôsobené téme.",
"Jeden alebo viac webových odkazov vytvorených z adresy LXC, schémy a uloženého portu.",
"Voliteľný detektor verzie nainštalovanej v LXC.",
"Voliteľný zdroj GitHub, HTTP JSON alebo Docker Hub pre najnovšiu dostupnú verziu.",
"Nastavenia upozornení a zahrnutia do počítadla aktualizácií pre každú aplikáciu.",
"Príslušnú sekciu na karte Aktualizácie aj pri vypnutom sledovaní verzie."
]
},
"discovery": {
"heading": "Zisťovanie vo vyrovnávacej pamäti a Hľadať aplikácie",
"lead": "Návrhy aplikácií sú súčasťou vyrovnávacej pamäte modálneho okna každého LXC. Úvodné skenovanie ich pripraví na pozadí, takže karta App môže okamžite zobraziť uložené výsledky.",
"items": [
"Otvorenie karty App <strong>nespustí</strong> nové skenovanie katalógu ani opakované dotazy do LXC.",
"<strong>Hľadať aplikácie</strong> výslovne spustí nové zisťovanie iba pre daný LXC. Používa sa po inštalácii softvéru počas behu ProxMenux.",
"Predchádzajúci zoznam zostáva počas hľadania viditeľný. Nové zhody sa pridajú po dokončení.",
"Ak sa nenájde nová zhoda, výsledok sa zobrazí pri akciách a <strong>Registrovať aplikáciu</strong> zostáva dostupné pre manuálne zadanie.",
"Uloženie, odstránenie alebo obnovenie aplikácie okamžite aktualizuje rovnakú pamäť. Štart alebo obnova LXC aktualizuje iba daný systém cez existujúcu udalosť životného cyklu."
],
"trailing": "Sledovanie verzie je voliteľné. Aplikáciu môžete zaregistrovať aj len preto, aby ste mali poruke jej názov, ikonu a webové odkazy.",
"callout": "Štítok <strong>Dostupná aktualizácia</strong> znamená, že ProxMenux našiel rozdiel medzi nainštalovanou a vydanou verziou. Neznamená to automaticky, že vie aplikáciu aj aktualizovať — to je samostatné nastavenie v záložke Aktualizácie."
"callout": "Návrh nie je registrácia. Zostáva iba na čítanie, kým sa nestlačí <strong>Registrovať</strong> a formulár sa neuloží."
},
"firstOpening": {
"heading": "Prvé otvorenie záložky App",
"p1": "Pri prvom otvorení sa ProxMenux pokúsi rozpoznať aplikácie v kontajneri podľa dostupných informácií: inštalátora použitého pri vytvorení LXC, nájdených služieb a otvorených portov.",
"p2": "Ak nájde zhodu, zobrazí ju ako návrh. Pred uložením návrh vždy skontrolujte — automatická detekcia registráciu zrýchli, ale nevie zaručiť, že každá nájdená služba presne zodpovedá aplikácii, ktorú chcete zapísať."
},
"figures": {
"f01": {
"alt": "Prázdna záložka App so zobrazenými návrhmi nájdených aplikácií",
"caption": "Prázdny stav s jedným alebo viacerými nájdenými návrhmi"
},
"f02": {
"alt": "Vyhľadávanie v katalógu so zhodami podľa zadaného názvu",
"caption": "Vyhľadávanie v katalógu a výber zhody"
},
"f03": {
"alt": "Formulár registrácie aplikácie s názvom, ikonou a dvoma webovými odkazmi",
"caption": "Základný formulár s názvom, ikonou a dvoma webovými odkazmi"
},
"f04": {
"alt": "LXC s aplikáciami Docmost a Redis zaregistrovanými samostatne, každá s vlastným stavom verzie",
"caption": "Dve aplikácie v rovnakom LXC — jedna sleduje verziu zo súboru, druhá cez dpkg, každá má vlastný stav verzie"
},
"f05": {
"alt": "Pokročilé možnosti sledovania s metódou nainštalovanej verzie a zdrojom najnovšej verzie",
"caption": "Pokročilé možnosti s metódou nainštalovanej verzie a zdrojom najnovšej verzie"
},
"f06": {
"alt": "Karta registrovanej aplikácie s nainštalovanou verziou, najnovšou upstream verziou a indikátorom dostupnej aktualizácie",
"caption": "Nastavená karta zobrazuje Nainštalované, Najnovšia upstream, šípku dostupnej aktualizácie pri rozdiele verzií a webový odkaz"
},
"f07": {
"alt": "Minimálna registrovaná aplikácia iba s názvom a jedným webovým odkazom, bez sledovania verzie",
"caption": "Záznam iba s odkazom — len názov a webový odkaz, bez sledovania verzie"
}
},
"registerSuggested": {
"heading": "Registrácia navrhnutej aplikácie",
"registration": {
"heading": "Registrácia aplikácie",
"lead": "Zistený návrh aj manuálny záznam používajú rovnaký editor:",
"steps": [
"Otvorte LXC z karty <strong>VM a LXC</strong>.",
"Vyberte záložku <strong>App</strong>.",
"Nájdite navrhnutú aplikáciu.",
"Kliknite na <strong>Registrovať</strong>.",
"Skontrolujte názov, odkazy a automaticky doplnené údaje.",
"Uložte aplikáciu."
],
"trailing": "Ak návrh nezodpovedá ničomu, čo chcete registrovať, môžete ho skryť. Skryté návrhy sa dajú znovu zobraziť cez <strong>Registrovať inú aplikáciu</strong>."
"Stlačte <strong>Registrovať</strong> pri návrhu alebo <strong>Registrovať aplikáciu</strong> a vyberte položku katalógu alebo zadajte vlastný názov.",
"Skontrolujte názov a logo navrhnuté katalógom.",
"Pridajte potrebné webové odkazy. Zistené otvorené porty sa ponúknu ako skratky, ale neuložia sa automaticky.",
"Pre záznam iba s odkazom nechajte <strong>Sledovať dostupnú verziu</strong> vypnuté alebo ho zapnite a skontrolujte detektor a zdroj verzie.",
"Pri zapnutom sledovaní použite <strong>Otestovať detektor</strong> a potom záznam uložte.",
"Po úpravách stlačte <strong>Hotovo</strong>. Karty App a Aktualizácie použijú aktualizovaný záznam z pamäte."
]
},
"catalog": {
"heading": "Používanie katalógu",
"p1": "Katalóg pomáha nájsť známe aplikácie a predvyplniť časť údajov. Pri písaní do poľa názvu zobrazí najbližšie zhody — výber zhody môže doplniť názov, ikonu, typické porty a pri overenom profile aj možnosti sledovania verzie.",
"p2": "Katalóg je pomocník, nie úplný zoznam každého softvéru, ktorý môže LXC obsahovať. Niektoré položky majú iba základné informácie, iné obsahujú aj pripravený spôsob čítania nainštalovanej verzie.",
"p3": "Ak aplikácia v katalógu nie je, zaregistrujte ju ručne."
"heading": "Registrácia s pomocou katalógu",
"lead": "Katalóg poskytuje počiatočné hodnoty, uložený záznam však zostáva upraviteľný.",
"items": [
"Výsledky môžu predvyplniť kanonický názov, logo a bežné webové porty.",
"Známe detektory používajú skutočné balíky, binárne súbory, súbory, Python distribúcie, OCI značky alebo príkazy, nie univerzálny predpoklad <code>/root/.app</code>.",
"Overené opravy z reálnych inštalácií majú prednosť, keď sa cesta líši od údajov inštalátora.",
"Markery Proxmox VE Helper-Scripts, napríklad <code>/root/.slug</code>, zostávajú jedným signálom kompatibility pre nové inštalácie, nie jediným detektorom.",
"Každú navrhnutú hodnotu možno pred uložením upraviť pre oficiálne aj manuálne inštalácie."
]
},
"manual": {
"heading": "Ručná registrácia aplikácie",
"p1": "Použite <strong>Registrovať inú aplikáciu</strong>, ak LXC ešte nemá žiadne aplikácie. Ak už aspoň jednu má, použite <strong>Pridať ďalšiu aplikáciu</strong>.",
"p2": "Základné nastavenie potrebuje iba názov. Všetko ostatné doplníte podľa toho, čo chcete zobrazovať.",
"nameHeading": "Názov a ikona",
"nameBody": "Zadajte aplikácii názov, podľa ktorého ju ľahko rozpoznáte. Ikona je voliteľná a môže byť zadaná ako URL.",
"linksHeading": "Webové odkazy a porty",
"linksLead": "Každý odkaz môže obsahovať:",
"linksItems": [
"Protokol <code>http</code> alebo <code>https</code>.",
"Port.",
"Popis, napríklad <em>Web UI</em>, <em>Administrácia</em> alebo <em>API</em>.",
"Voliteľnú ikonu pre konkrétny odkaz."
"docker": {
"heading": "Zobrazenie LXC s Dockerom",
"lead": "V LXC, ktorého hlavnou platformou je Docker, sa na úrovni LXC registruje aplikácia <strong>Docker</strong>.",
"items": [
"Kontajnerová služba ako Portainer, Frigate alebo Vaultwarden sa nenavrhuje ako samostatná natívna aplikácia LXC.",
"Bežiace služby Dockeru s publikovanými TCP portmi sa ponúknu v editore Dockeru ako voliteľné webové odkazy.",
"Každý návrh zobrazuje službu, port hostiteľa a port kontajnera. Ukladať treba iba odkazy poskytujúce webové rozhranie.",
"Ak odkaz nemá vlastné logo, použije sa všeobecné logo Dockeru. Logo odkazu má po nastavení prednosť.",
"Po registrácii Dockeru sa Docker Engine a aktualizácie obrazov zobrazia spolu v jeho sekcii Aktualizácie."
],
"linksTrailing": "ProxMenux spojí protokol a port s IP adresou LXC a vytvorí URL. Ak jeden kontajner poskytuje viac súvisiacich služieb, pridajte toľko odkazov, koľko aplikácia potrebuje.",
"linksConfirm": "Pred uložením overte, že port naozaj patrí danej službe a že sa naň viete dostať z prehliadača."
"callout": "Takéto usporiadanie zabraňuje tomu, aby kontajnerová služba vyzerala ako softvér nainštalovaný priamo v LXC, a pritom zachováva rýchle odkazy na jej rozhrania."
},
"multiple": {
"heading": "Registrácia viacerých aplikácií v rovnakom LXC",
"intro": "Po uložení prvej aplikácie kliknite na <strong>Pridať ďalšiu aplikáciu</strong> a postup zopakujte. Každý záznam si nezávisle drží vlastné odkazy, metódu detekcie aj stav verzie.",
"usefulLead": "Hodí sa to, keď:",
"usefulItems": [
"Jeden LXC hostí viac samostatných služieb.",
"Inštalácia obsahuje hlavnú aplikáciu aj doplnkové nástroje.",
"Každá služba má vlastné webové rozhranie alebo vlastný cyklus vydávania."
],
"dontGroup": "Nespájajte do jedného záznamu programy, ktoré sa vydávajú a aktualizujú samostatne. Oddelená registrácia jasne ukáže, ktorá aplikácia má novú verziu, a každej umožní mať vlastnú metódu aktualizácie v záložke Aktualizácie."
"webLinks": {
"heading": "Webové odkazy a logá",
"lead": "Webové odkazy fungujú so sledovaním verzie aj bez neho.",
"items": [
"Každý odkaz ukladá schému, port, voliteľný popis a voliteľnú URL loga.",
"Zobrazená URL používa aktuálnu adresu už zistenú pre LXC; adresa sa neduplikuje v každom zázname.",
"Odkaz bez vlastného loga použije logo aplikácie.",
"Viac odkazov môže reprezentovať administračné rozhranie, API, sekundárne rozhranie alebo iný koncový bod rovnakej aplikácie.",
"Aplikácia uložená iba s odkazmi sa zobrazí aj v Aktualizáciách, kde možno neskôr nastaviť vlastný aktualizátor."
]
},
"tracking": {
"heading": "Sledovanie verzie",
"intro": "Sledovanie verzie nastavíte otvorením pokročilých možností vo formulári. Potrebné sú dve rôzne informácie:",
"ingredients": [
"<strong>Nainštalovaná verzia</strong> — ako prečítať verziu, ktorá práve beží v LXC.",
"<strong>Najnovšia dostupná verzia</strong> — odkiaľ prečítať verziu vydanú projektom."
"heading": "Voliteľné sledovanie verzie",
"lead": "Sledovanie spája detektor nainštalovanej verzie s voliteľným zdrojom dostupnej verzie. Obe strany sa kontrolujú nezávisle.",
"colMethod": "Metóda nainštalovanej verzie",
"colUse": "Použitie",
"detectorRows": [
{ "method": "dpkg / apk", "use": "Číta verziu nainštalovaného balíka z metadát Debianu, Ubuntu alebo Alpine." },
{ "method": "binary", "use": "Spustí absolútnu cestu binárneho súboru alebo názov príkazu s parametrami verzie." },
{ "method": "file + regex", "use": "Číta skutočný súbor a extrahuje verziu pomocou jednej zachytávacej skupiny." },
{ "method": "docker label / docker exec", "use": "Číta OCI značku verzie alebo spustí príkaz verzie v Docker kontajneri." },
{ "method": "python distribution", "use": "Používa importlib.metadata cez vybraný interpreter Pythonu." },
{ "method": "command", "use": "Spustí pokročilý príkaz vo formáte argv bez shellu a extrahuje verziu z výstupu." },
{ "method": "manual", "use": "Uloží manuálne zadanú verziu; po aktualizácii aplikácie ju treba zmeniť." }
],
"trailing": "Ak je nastavená iba nainštalovaná verzia, ProxMenux ju vie zobraziť, ale nevie povedať, či existuje aktualizácia. Aby sa zobrazil štítok <strong>Dostupná aktualizácia</strong>, obe hodnoty musia byť čitateľné a porovnateľné.",
"methodsHeading": "Metódy čítania nainštalovanej verzie",
"methodsLead": "Vyberte metódu podľa toho, ako bola aplikácia nainštalovaná:",
"methodsTable": {
"colMethod": "Metóda",
"colWhen": "Kedy ju použiť",
"rows": [
{
"method": "Žiadna (iba odkaz)",
"when": "Potrebujete len názov a webové odkazy."
},
{
"method": "dpkg balík",
"when": "Aplikácia je nainštalovaná ako Debian alebo Ubuntu balík."
},
{
"method": "apk balík",
"when": "Aplikácia je nainštalovaná ako Alpine balík."
},
{
"method": "Binárka",
"when": "Spustiteľný súbor vracia verziu cez argument ako --version."
},
{
"method": "Súbor + regex",
"when": "Reťazec verzie je zapísaný v súbore."
},
{
"method": "Python distribúcia",
"when": "Aplikácia je nainštalovaná ako Python balík."
},
{
"method": "Príkaz",
"when": "Na získanie verzie treba spustiť konkrétny príkaz."
},
{
"method": "Ručne",
"when": "Používateľ zadá nainštalovanú verziu ručne."
}
]
},
"methodsTrailing": "Použite čo najpriamejšiu a najstabilnejšiu metódu. Ak aplikácia pochádza zo systémového balíka, uprednostnite dotaz na balík pred parsovaním výstupu všeobecného príkazu.",
"commandHeading": "Metóda Príkaz aplikáciu neaktualizuje",
"commandP1": "V tomto formulári slúži <strong>Príkaz</strong> výhradne na prečítanie nainštalovanej verzie. Argumenty sa zadávajú oddelené čiarkou a ProxMenux ich spúšťa priamo, bez shell interpretera.",
"commandP2": "Ak je váš bežný dotaz:",
"commandExample1": "myapp version --short",
"commandP3": "Argumenty vo formulári budú:",
"commandExample2": "myapp, version, --short",
"commandP4": "Nepoužívajte tu operátory ako <code>&&</code>, presmerovania ani pipes. Ak potrebujete celý postup na aktualizáciu aplikácie, nastavuje sa neskôr v záložke Aktualizácie.",
"sourceHeading": "Zdroj najnovšej dostupnej verzie",
"sourceLead": "ProxMenux vie čítať verejný zdroj projektu, napríklad:",
"sourceItems": [
"Releases alebo tagy GitHub repozitára.",
"HTTP endpoint, ktorý vracia verziu v JSON odpovedi."
"sourcesHeading": "Zdroje dostupnej verzie",
"sources": [
"<strong>GitHub repozitár</strong>: najnovšie vydanie alebo značka verejného repozitára <code>vlastník/názov</code>.",
"<strong>HTTP JSON</strong>: verejný koncový bod a cesta ako <code>data.version</code> alebo <code>releases[0].tag_name</code>.",
"<strong>Docker Hub</strong>: verzované značky filtrované regulárnym výrazom. Živý náhľad pred uložením ukáže skutočné zodpovedajúce značky.",
"Pohyblivé značky ako <code>latest</code>, <code>stable</code> alebo <code>lts</code> neobsahujú verziu. Tieto obrazy sledujte podľa digestu v aktualizáciách Docker obrazov."
],
"sourceTrailing": "Vždy používajte oficiálny zdroj aplikácie. Fork alebo endpoint tretej strany môže oznamovať verzie, ktoré nezodpovedajú inštalácii v LXC.",
"regexHeading": "Regulárne výrazy pre verziu",
"regexIntro": "Regulárny výraz, teda <strong>regex</strong>, vytiahne číslo verzie z dlhšieho textu. Väčšina projektov neposkytuje hotový regex — používateľ si ho vytvorí podľa reálneho výstupu alebo skutočného názvu vydania.",
"regexOptional": "Nie vždy je potrebný. Najprv ho nechajte prázdny, ak zdroj vracia čistú hodnotu ako <code>2.14.3</code>. Pridajte ho až vtedy, keď ProxMenux potrebuje oddeliť verziu od ďalších slov, symbolov alebo čísel.",
"regexTwoHeading": "Existujú dve rôzne regex polia",
"regexTwoItems": [
"<strong>Regex nainštalovanej verzie</strong> sa použije na výstup prečítaný vo vnútri LXC.",
"<strong>Regex verzie</strong> alebo <strong>regex tagu</strong> sa použije na názov release / tagu z externého zdroja."
"regexHeading": "Zachytávací výraz",
"regexLead": "Regulárny výraz detektora musí vrátiť verziu vo svojej <strong>prvej zachytávacej skupine</strong>.",
"regexRules": [
"Výraz musí zodpovedať textu vybraného binárneho súboru, súboru, príkazu alebo zdroja značiek; nepoužívajte odhadovanú všeobecnú cestu.",
"Doslovné bodky escapujte ako <code>\\.</code>, aby nezodpovedali ľubovoľnému znaku.",
"Počiatočné <code>v</code> povoľte iba vtedy, keď ho zdroj môže obsahovať.",
"Prípony predbežného vydania alebo revízie distribúcie zahrňte iba vtedy, keď sú dôležité pre porovnanie.",
"Pred uložením použite <strong>Otestovať detektor</strong> a overte, že zobrazená verzia zodpovedá LXC."
],
"regexTwoTrailing": "Obe hodnoty musia byť porovnateľné. Napríklad ak lokálna aplikácia vráti <code>MyApp v2.14.3</code> a GitHub publikuje <code>release-2.14.3</code>, oba výrazy by mali vytiahnuť <code>2.14.3</code>.",
"step1Heading": "1. Zachyťte reálnu ukážku",
"step1P1": "Pred písaním vzoru zachyťte presný text, ktorý bude musieť ProxMenux spracovať.",
"step1P2": "Pri nainštalovanej verzii spustite rovnakú binárku a argumenty, aké sú nastavené vo formulári, priamo z konzoly LXC. Podľa metódy môžete dotazovať aj príslušný balík alebo súbor.",
"step1P3": "Napríklad:",
"step1Cmd": "myapp --version",
"step1P4": "Predpokladajme, že reálny výstup je:",
"step1Output": "MyApp version v2.14.3 (stable)",
"step1P5": "Pri publikovanej verzii skontrolujte presný názov release alebo tagu v oficiálnom repozitári. Ak používate JSON endpoint, pozrite hodnotu, ktorú vracia nastavená cesta.",
"step1P6": "Nevytvárajte vzor podľa vymysleného príkladu — jediná medzera, prefix alebo číslo navyše môže zmeniť výsledok.",
"step2Heading": "2. Určite časť, ktorú chcete ponechať",
"step2Lead": "V príklade vyššie chceme ponechať <code>2.14.3</code> a zahodiť:",
"step2Items": [
"Text <code>MyApp version</code>.",
"Písmeno <code>v</code>.",
"Text <code>(stable)</code>."
],
"step2Recommended": "Odporúčaný výraz:",
"step2Regex": "version[ :=]+v?([0-9]+\\.[0-9]+\\.[0-9]+)",
"step2ReadLead": "Čítané po častiach:",
"step2Breakdown": {
"colPart": "Časť",
"colMeaning": "Význam",
"rows": [
{
"part": "version",
"meaning": "Ukotví hľadanie na tomto slove, aby sa nezhodovalo nesúvisiace číslo."
},
{
"part": "[ :=]+",
"meaning": "Povolí jednu alebo viac medzier, dvojbodiek alebo znamienok rovnosti."
},
{
"part": "v?",
"meaning": "Písmeno v sa môže objaviť raz alebo vôbec."
},
{
"part": "( and )",
"meaning": "Označuje časť, ktorú má ProxMenux ponechať."
},
{
"part": "[0-9]+",
"meaning": "Zodpovedá jednej alebo viacerým čísliciam."
},
{
"part": "\\.",
"meaning": "Zodpovedá skutočnej bodke medzi číslami."
}
]
},
"step2DotNote": "Bodka sa píše ako <code>\\.</code>, pretože samotná bodka v regexe znamená „ľubovoľný znak“.",
"step3Heading": "3. Vyberte vzor podľa formátu",
"step3Lead": "Tieto vzory pokrývajú najčastejšie prípady:",
"step3Examples": {
"colText": "Ukážkový text",
"colRegex": "Odporúčaný regex",
"colResult": "Výsledok",
"rows": [
{
"text": "v2.14.3",
"regex": "v?([0-9]+\\.[0-9]+\\.[0-9]+)",
"result": "2.14.3"
},
{
"text": "Version: 2.14",
"regex": "Version[ :=]+v?([0-9]+(?:\\.[0-9]+){1,3})",
"result": "2.14"
},
{
"text": "release-2.14.3.1",
"regex": "release-v?([0-9]+(?:\\.[0-9]+){1,3})",
"result": "2.14.3.1"
},
{
"text": "build 2026.08.10",
"regex": "build[ :=]+([0-9]{4}\\.[0-9]{1,2}\\.[0-9]{1,2})",
"result": "2026.08.10"
},
{
"text": "{\"version\":\"2.14.3\"}",
"regex": "\"version\"\\s*:\\s*\"v?([0-9]+(?:\\.[0-9]+){1,3})\"",
"result": "2.14.3"
}
]
},
"step3Note1": "<code>(?: ... )</code> zoskupí časť vzoru bez vytvorenia ďalšej výstupnej hodnoty. Hodí sa na prijatie verzií s dvoma, tromi alebo štyrmi blokmi bez komplikovania výsledku.",
"step3Note2": "Regex zadajte presne ako v tabuľke: bez úvodzoviek okolo a bez oddeľovačov <code>/.../</code>, ktoré používajú niektoré online nástroje.",
"step4Heading": "4. Uprednostnite jednu zachytávaciu skupinu",
"step4Intro": "ProxMenux používa zachytávacie skupiny na rozhodnutie, ktorú hodnotu vráti:",
"step4Items": [
"Bez zachytávacích skupín ponechá celú zhodu.",
"S jednou skupinou ponechá obsah tejto skupiny.",
"S viacerými skupinami ich spojí bodkami."
],
"step4Trailing": "Pre predvídateľný výsledok obaľte celú verziu do jednej skupiny a pomocné skupiny zapisujte ako <code>(?: ... )</code>.",
"step4RecLabel": "Odporúčané:",
"step4RecRegex": "v?([0-9]+(?:\\.[0-9]+){1,3})",
"step4LessLabel": "Menej jasné pre začiatočníkov:",
"step4LessRegex": "v?([0-9]+)\\.([0-9]+)\\.([0-9]+)",
"step4Note": "Oba výrazy môžu vytvoriť <code>2.14.3</code>, ale prvý sa ľahšie udržiava, ak sa formát zmení.",
"step5Heading": "5. Vyhnite sa príliš širokým zhodám",
"step5Lead": "Takýto vzor býva zvyčajne príliš voľný:",
"step5Regex": "([0-9.]+)",
"step5P1": "Môže zachytiť rok, port, verziu závislosti alebo prvé číslo, ktoré sa vo výstupe objaví. Ak text obsahuje viac čísel, ukotvite ho blízkym slovom ako <code>version</code>, <code>release</code> alebo <code>build</code>.",
"step5P2": "Overte aj to, že upstream zdroj nemieša stabilné vydania s beta, nightly alebo vývojovými buildmi. Regex musí vybrať rovnaký kanál, aký je nainštalovaný v LXC.",
"step6Heading": "6. Uložte a overte výsledok",
"step6Lead": "Po uložení aplikácie kliknite na <strong>Skontrolovať</strong> a pozrite si dve hodnoty, ktoré ProxMenux zobrazí:",
"step6Output": "Nainštalované: 2.14.3\nNajnovšia: 2.15.0",
"step6CorrectLead": "Regex je správny, keď:",
"step6CorrectItems": [
"Obe polia obsahujú iba očakávanú verziu.",
"Názov aplikácie ani ďalší text nie sú zachytené.",
"Verzia nie je zamenená s iným číslom.",
"Lokálna aj publikovaná hodnota používajú rovnaký formát."
],
"step6ErrorNote": "Ak zhoda skončí chybou, znovu zachyťte reálny výstup a porovnajte ho znak po znaku. Pozor najmä na veľké písmená, medzery, pomlčky, písmeno <code>v</code> a počet blokov verzie.",
"step6Callout": "Ak neviete vytvoriť spoľahlivý vzor, radšej dočasne vypnite upstream sledovanie a nechajte aplikáciu ako záznam iba s odkazom. Nesprávny regex môže vytvárať falošné upozornenia alebo skryť reálnu aktualizáciu."
"regexExampleLead": "Bežné zachytenie sémantickej verzie:",
"regexExample": "v?(\\d+\\.\\d+\\.\\d+)",
"regexCallout": "Úspešná zhoda regulárneho výrazu nedokazuje správnosť cesty. Balík, binárny súbor alebo súbor musí existovať aj v skutočnej registrovanej inštalácii."
},
"state": {
"heading": "Čítanie stavu aplikácie",
"lead": "Registrovaná aplikácia môže zobraziť niektorý z týchto stavov:",
"updater": {
"heading": "Sledovanie verzie a aktualizácia sú nezávislé",
"lead": "<link>Karta Aktualizácie</link> vytvorí sekciu aplikácie ihneď po uložení ľubovoľného záznamu.",
"items": [
"<strong>Aktuálne</strong> — verzie sa zhodujú.",
"<strong>Dostupná aktualizácia</strong> — zdroj publikuje novšiu verziu.",
"<strong>Kontroluje sa</strong> — kontrola práve prebieha.",
"<strong>Sledovanie verzie čaká</strong> — ešte neprebehla žiadna kontrola.",
"<strong>Chyba</strong> — jednu z verzií sa nepodarilo prečítať alebo spracovať."
],
"trailing": "Po úprave nastavení použite <strong>Skontrolovať</strong> na opakovanie dotazu. Ak sa zobrazí chyba, najprv skontrolujte metódu nainštalovanej verzie, upstream zdroj a regex vzory."
"Záznam iba s odkazom uvádza, že sledovanie verzie nie je nastavené, ale stále môže dostať vlastný aktualizačný príkaz.",
"Aplikácia so sledovaním bez spustiteľnej metódy zobrazí neutrálnu požiadavku na vlastný príkaz.",
"Aplikácia s overeným wrapperom Proxmox VE Helper-Scripts môže použiť integrovaný aktualizátor aj vtedy, keď registrácia začala iba webovým odkazom.",
"Pridanie alebo úprava aktualizátora nemení detektor ani zdroj dostupnej verzie na karte App."
]
},
"manage": {
"heading": "Správa existujúcich záznamov",
"lead": "V režime správy môžete:",
"states": {
"heading": "Stavy verzie na karte aplikácie",
"colState": "Stav",
"colDisplay": "Zobrazenie",
"colMeaning": "Význam",
"rows": [
{ "state": "Dostupná aktualizácia", "display": "Dostupná verzia fialovo s ikonou šípky nahor", "meaning": "Nainštalovaná a dostupná verzia sa líšia." },
{ "state": "Aktuálne", "display": "Nainštalovaná a dostupná verzia bez fialového upozornenia", "meaning": "Posledná kontrola nenašla novšiu verziu." },
{ "state": "Sledovanie čaká", "display": "Stav kontroly alebo čakania", "meaning": "Záznam je nastavený, ale ešte nedokončil obe kontroly." },
{ "state": "Sledovanie vypnuté", "display": "Iba webové odkazy bez porovnania verzií", "meaning": "Záznam zostáva platný a môže mať aktualizátor." },
{ "state": "Chyba kontroly", "display": "Jantárové vysvetlenie na karte", "meaning": "Predchádzajúci uložený stav zostane viditeľný a zobrazí sa chyba detektora alebo zdroja." }
]
},
"management": {
"heading": "Správa uložených a navrhnutých aplikácií",
"lead": "Akcie v spodnej časti karty majú odlišné úlohy:",
"items": [
"Znovu skontrolovať aplikáciu.",
"Upraviť jej názov, odkazy alebo sledovanie verzie.",
"Odstrániť záznam, ktorý už nepotrebujete.",
"Pridať ďalšiu aplikáciu do rovnakého LXC."
],
"trailing": "Odstránenie záznamu aplikáciu neodinštaluje ani nezastaví. Odstráni iba informácie, ktoré ProxMenux používa na jej zobrazenie a sledovanie verzie."
"<strong>Hľadať aplikácie</strong> obnoví zisťovanie iba pre tento LXC.",
"<strong>Registrovať ďalšiu aplikáciu</strong> otvorí katalóg a manuálny editor bez nového skenovania LXC.",
"<strong>Upraviť</strong> zobrazí na kartách akcie Odstrániť, Skontrolovať, upozornenia a Upraviť polia.",
"<strong>Skryť</strong> odstráni nechcený návrh. Skryté detekcie možno obnoviť v prehliadači registrácie.",
"<strong>Skontrolovať</strong> obnoví údaje verzie uloženej aplikácie; nehľadá nové aplikácie."
]
},
"options": {
"heading": "",
"lead": "",
"items": [
"",
""
],
"trailing": ""
"troubleshooting": {
"heading": "Bežné situácie",
"colProblem": "Situácia",
"colResolution": "Riešenie",
"rows": [
{ "problem": "Softvér bol nainštalovaný po štarte ProxMenux", "resolution": "Stlačte Hľadať aplikácie. Výslovné skenovanie aktualizuje návrhy v pamäti daného LXC." },
{ "problem": "Aplikácia nebola zistená", "resolution": "Zaregistrujte ju manuálne. Stačí názov a jeden webový odkaz; sledovanie možno pridať neskôr." },
{ "problem": "Navrhnutý detektor vracia nesprávnu verziu", "resolution": "Otvorte Upraviť polia, vyberte skutočný balík, binárny súbor alebo súbor a pred uložením otestujte detektor." },
{ "problem": "Služba Dockeru sa neponúka ako aplikácia LXC", "resolution": "Zaregistrujte Docker a pridajte publikované rozhranie služby ako webový odkaz Dockeru. Aktualizácie obrazov zostanú v sekcii Docker." },
{ "problem": "Uložená aplikácia nemá tlačidlo aktualizácie", "resolution": "Otvorte Aktualizácie a nastavte jej metódu. Samotné sledovanie verzie neurčuje, ako sa aktualizácia nainštaluje." }
]
},
"notDetected": {
"heading": "Ak aplikácia nebola nájdená",
"intro": "Automatická detekcia nie je nutná na používanie tejto funkcie. Ak sa nezobrazí žiadny návrh:",
"steps": [
"Zaregistrujte aplikáciu ručne.",
"Pridajte jej známe odkazy a porty.",
"Nechajte ju ako <strong>Žiadna (iba odkaz)</strong>, ak potrebujete iba skratku.",
"Sledovanie verzie nastavte až vtedy, keď máte pre obe hodnoty spoľahlivý zdroj.",
"Metódu aktualizácie nastavte neskôr cez <link>Aktualizácie</link>, ak chcete, aby ju ProxMenux spúšťal."
],
"trailing": "Nevymýšľajte názov balíka, cestu ani regex len preto, aby bol formulár vyplnený. Jednoduchý a správny záznam je lepší než automatické sledovanie postavené na neoverených údajoch."
"figures": {
"catalog": {
"alt": "Katalóg registrácie s výsledkami, logami, portmi a poľami detektora",
"caption": "Metadáta katalógu urýchľujú registráciu, pričom všetky navrhnuté hodnoty zostávajú upraviteľné."
},
"webLinks": {
"alt": "Uložená karta aplikácie LXC s webovým odkazom",
"caption": "Záznam iba s odkazom je platný: sledovanie môže zostať vypnuté a aktualizátor sa pridáva nezávisle."
},
"tracking": {
"alt": "Voliteľné polia detektora nainštalovanej verzie a zdroja dostupnej verzie",
"caption": "Detekcia nainštalovanej verzie a zdroj dostupnej verzie sa nastavujú a testujú samostatne."
},
"card": {
"alt": "Uložená karta s nainštalovanou a dostupnou verziou a webovým odkazom",
"caption": "Karta spája identitu, údaje o verzii a webový prístup bez spúšťania aktualizácií z tejto karty."
}
}
}
@@ -1,231 +1,194 @@
{
"meta": {
"title": "Aktualizácie — aktualizácia systému a aplikácií v LXC | ProxMenux",
"description": "Mechanizmy, ktoré vie ProxMenux použiť na aktualizáciu operačného systému a aplikácií registrovaných v LXC kontajneri."
"title": "Aktualizácie LXC: OS, aplikácie a Docker | ProxMenux",
"description": "Nastavenie a spúšťanie aktualizácií operačného systému, aplikácií, Docker Engine a Docker obrazov v LXC kontajneri."
},
"header": {
"title": "Aktualizácie — aktualizácia systému a aplikácií v LXC",
"description": "Miesto, kde ProxMenux rozhoduje, ako aktualizovať kontajner: systémové balíky, pomocník Community Scripts alebo vlastný príkaz."
"title": "Aktualizácie LXC: OS, aplikácie a Docker",
"description": "Skontrolujte každý cieľ samostatne alebo spojte presný výber do riadenej hromadnej aktualizácie."
},
"intro": {
"p1": "Záložka <strong>Aktualizácie</strong> zhromažďuje mechanizmy, ktoré vie ProxMenux spustiť na aktualizáciu operačného systému a aplikácií registrovaných vo vnútri LXC kontajnera.",
"p2": "<link>Záložka App</link> určuje, ktoré aplikácie existujú, a voliteľne porovnáva ich verzie. <strong>Aktualizácie</strong> riešia samotnú akciu: rozhodnú, ktorý mechanizmus je dostupný, zobrazia príslušné tlačidlo a spustia aktualizáciu v kontajneri.",
"callout": "<strong>Základná myšlienka:</strong> zistenie novej verzie a znalosť spôsobu jej inštalácie sú dve rozdielne veci. Aplikácia môže v záložke App ukazovať <strong>Dostupná aktualizácia</strong>, ale stále nemusí mať funkčné tlačidlo na aktualizáciu, kým nie je nastavená platná metóda."
"p1": "Karta <strong>Aktualizácie</strong> oddeľuje zisťovanie verzie od akcie, ktorá aktualizáciu nainštaluje. Registrácia a voliteľné sledovanie verzie sú na <link>karte Aplikácia</link>; spustiteľné metódy aktualizácie sa spravujú tu.",
"p2": "Uložená aplikácia sa zobrazí v Aktualizáciách aj vtedy, keď obsahuje iba webový odkaz. Sledovanie verzie je voliteľné a aktualizátor možno nastaviť nezávisle.",
"callout": "Akcia sa neurčuje iba podľa názvu aplikácie. ProxMenux spustí integrovanú metódu až po jej overení alebo výslovne uložený vlastný príkaz."
},
"overview": {
"heading": "Obsah karty",
"lead": "Každý dostupný cieľ má vlastnú sekciu a akciu:",
"items": [
"<strong>Balíky OS</strong> pre kontajnery Debian, Ubuntu a Alpine.",
"Samostatnú sekciu pre každú <strong>registrovanú aplikáciu</strong> vrátane záznamov iba s odkazom.",
"Sekciu <strong>Docker</strong> po registrácii Dockeru, v ktorej sú spolu Docker Engine a označené obrazy.",
"Nastaviteľnú <strong>Hromadnú aktualizáciu</strong>, za ktorou nasledujú možnosti zálohy, reštartu a plánovania."
]
},
"mechanisms": {
"heading": "Dostupné mechanizmy aktualizácie",
"intro": "Podľa toho, ako bola aplikácia nainštalovaná a odkiaľ pochádzajú jej aktualizácie, vyberá ProxMenux z troch mechanizmov.",
"osHeading": "Balíky operačného systému",
"osP1": "V Debian alebo Ubuntu kontajneroch ProxMenux kontroluje a aktualizuje balíky cez APT. V Alpine používa APK.",
"osP2": "Registrované aplikácie, ktorých metóda inštalácie je <code>dpkg</code> alebo <code>apk</code>, sú súčasťou tejto kontroly. V sekcii aplikácie nepotrebujú druhý príkaz — aktualizujú sa spolu s akciou <strong>Použiť aktualizáciu OS</strong>.",
"osP3": "Sekcia zobrazuje počet čakajúcich balíkov, počet bezpečnostných aktualizácií, rodinu OS a čas poslednej kontroly.",
"helperHeading": "Aktualizátor Proxmox VE Helper-Scripts",
"helperP1": "Ak bol LXC vytvorený pomocou helpera z projektu <linkHelperHome>Proxmox VE Helper-Scripts</linkHelperHome>, ProxMenux rozpozná jeho aktualizátor. Príslušná aplikácia musí byť zaregistrovaná v záložke App, aby ju Monitor vedel prepojiť so službou zobrazenou používateľovi.",
"helperP2": "<strong>Samotnú logiku aktualizácie spravuje projekt Proxmox VE Helper-Scripts</strong>, nie ProxMenux. Každý helper má vlastnú funkciu <code>update_script</code>; ProxMenux ju stiahne a spustí vo vnútri kontajnera v tichom režime (<code>PHS_SILENT=1</code>), bez otázok. Na strane ProxMenuxu netreba helper kopírovať ani písať vlastný príkaz.",
"helperP3": "Úplná dokumentácia k mechanizmu aktualizácie je na stránke projektu — <linkHelperDocs>community-scripts.org / update-apps</linkHelperDocs>. Každý helper má zároveň vlastnú položku na <linkHelperHome>stránke projektu</linkHelperHome> s opisom toho, čo skript robí, aké má predvolené nastavenia a odkiaľ pochádza aktualizačná logika — túto stránku používajte ako referenciu pre to, čo aktualizátor zmení vo vnútri LXC.",
"helperP4": "Nie každý helper podporuje aktualizáciu na mieste. Ak katalóg označí aplikáciu ako neaktualizovateľnú, záložka tento stav zobrazí a túto metódu neponúkne ako dostupnú.",
"customHeading": "Vlastný príkaz",
"customP1": "Registrovaná aplikácia môže mať uložený vlastný aktualizačný príkaz. ProxMenux ho spustí vo vnútri LXC, keď používateľ klikne na <strong>Použiť aktualizáciu</strong> alebo keď ho zahrnie plánovaná úloha.",
"customP2": "Táto metóda je určená pre aplikácie, ktorých inštalátor neposkytuje rozpoznaného helpera a ktoré sa neaktualizujú cez APT alebo APK."
"heading": "Výber metódy aktualizácie",
"lead": "Integrovaná cesta Proxmox VE Helper-Scripts používa oficiálny mechanizmus <helper>update-apps</helper>. Ostatné inštalácie používajú príslušnú metódu balíkov, Dockeru alebo vlastného príkazu.",
"colSource": "Zdroj",
"colAction": "Zobrazená akcia",
"colNotes": "Čo sa spustí",
"rows": [
{
"source": "Balíky APT alebo APK",
"action": "Použiť aktualizácie OS",
"notes": "Aktualizuje balíky kontajnera. Registrované aplikácie nainštalované ako dpkg alebo apk sú zahrnuté v rovnakom behu."
},
{
"source": "Proxmox VE Helper-Scripts",
"action": "Použiť aktualizáciu",
"notes": "Používa overený wrapper /usr/bin/update. Starý marker bez platného wrappera sa identifikuje, ale automaticky sa nespustí."
},
{
"source": "Vlastný príkaz",
"action": "Spustiť aktualizátor",
"notes": "Spustí uložený príkaz v LXC a nahradí integrovaný aktualizátor danej aplikácie."
},
{
"source": "Docker Engine",
"action": "Aktualizovať Docker Engine",
"notes": "Aktualizuje iba nainštalované balíky Dockeru a potrebné závislosti. Ostatné balíky ani kontajnery nemení."
},
{
"source": "Docker obraz",
"action": "Aktualizovať obraz",
"notes": "Stiahne vybraný obraz a znova vytvorí jeho skupinu služieb Compose alebo chránený samostatný kontajner."
}
],
"callout": "Vlastný príkaz vždy <strong>nahrádza</strong> integrovaný aktualizátor Proxmox VE Helper-Scripts pre danú aplikáciu. Obe metódy sa nespúšťajú za sebou."
},
"decision": {
"heading": "Ako ProxMenux vyberá zobrazenú akciu",
"table": {
"colSituation": "Situácia",
"colAction": "Akcia",
"rows": [
{ "situation": "Čakajú balíky APT alebo APK", "action": "Použiť aktualizáciu OS" },
{ "situation": "Aplikácia používa dpkg alebo apk balík", "action": "Použiť aktualizáciu OS — samostatný príkaz aplikácie nie je potrebný" },
{ "situation": "Existuje kompatibilný helper a aplikácia je registrovaná", "action": "Použiť aktualizáciu cez Community Scripts" },
{ "situation": "Registrovaná aplikácia má vlastný príkaz", "action": "Použiť aktualizáciu týmto príkazom" },
{ "situation": "Existuje nová verzia, ale nie je nastavený helper ani príkaz", "action": "Zobrazí Nie je nastavený aktualizátor a ponúkne pridanie príkazu" },
{ "situation": "Dostupné sú systémové aj aplikačné aktualizácie", "action": "Môže sa zobraziť spoločná akcia Použiť aktualizácie OS + aplikácií" }
]
},
"trailing": "Aplikácia registrovaná iba ako odkaz sa nikdy nezobrazí ako aktualizovateľná — ProxMenux nemá dosť informácií na prepojenie s metódou aktualizácie."
"docker": {
"heading": "Docker Engine a Docker obrazy",
"lead": "Po registrácii Dockeru na karte Aplikácia sa engine a inventár obrazov zobrazia v rovnakej sekcii <strong>Docker</strong>.",
"items": [
"Sledovanie verzie Docker Engine je oddelené od počítadla balíkov OS a má vlastné tlačidlo aktualizácie.",
"Označené lokálne obrazy sa porovnávajú s registrom pomocou nemenného digestu. <strong>Skontrolovať teraz</strong> obnoví inventár bez sťahovania obrazov alebo reštartu kontajnerov.",
"Služby Compose sa aktualizujú z deklarovaného projektu. Obrazy rovnakej skupiny sa spracujú spolu, aby sa projekt nevytváral opakovane.",
"Samostatný kontajner sa znova vytvorí z aktuálnej konfigurácie. Chránený postup uchová údaje na návrat a pri chybe obnoví pôvodný kontajner.",
"Každý obraz možno vybrať samostatne pre manuálne, hromadné aj plánované aktualizácie, okrem deklarovaných závislostí Compose, ktoré musia nasledovať hlavnú službu."
],
"callout": "Kontajnery spustené v Dockeri sa nezobrazujú ako samostatné aplikácie LXC. Ich publikované webové porty možno uložiť ako odkazy Dockeru; aktualizácie obrazov zostávajú v sekcii Docker."
},
"figures": {
"f01": {
"alt": "Karta systémových balíkov s počtom čakajúcich aktualizácií, počtom bezpečnostných aktualizácií a tlačidlom Použiť aktualizáciu OS",
"caption": "Čakajúce systémové balíky: celkový počet, počet bezpečnostných aktualizácií a tlačidlo Použiť aktualizáciu OS"
},
"f02": {
"alt": "Rovnaká karta systémových balíkov po aktualizácii — žiadne čakajúce balíky a štítok OS je aktuálny",
"caption": "Po použití: „Žiadne čakajúce aktualizácie OS“ a štítok OS je aktuálny"
},
"f03": {
"alt": "Karta registrovanej aplikácie so stavom Nie je dostupná metóda aktualizácie a tlačidlom Pridať vlastný aktualizačný príkaz",
"caption": "„Nie je dostupná metóda aktualizácie“ — ProxMenux aplikáciu sleduje, ale ešte nemá nastavené nič, čo by ju aktualizovalo"
},
"f04": {
"alt": "Editor vlastného aktualizačného príkazu s ukážkovým placeholderom v textovom poli",
"caption": "Editor vlastného príkazu s ukážkovým placeholderom, tlačidlami Zrušiť a Uložiť"
},
"f05": {
"alt": "Terminálový panel s názvom Použiť aktualizácie — CT 103, ktorý zobrazuje živý apt výstup pri rozbaľovaní balíkov",
"caption": "Terminálový panel zobrazuje živý výstup aktualizácie, kým apt rozbaľuje balíky vo vnútri CT"
},
"f06": {
"alt": "Karta možností so zapnutým snapshotom pred použitím, záložným úložiskom nastaveným na pbs a zapnutým reštartom po použití",
"caption": "Karta možností so súčasne zapnutým vzdump snapshotom, záložným úložiskom a reštartom po použití"
},
"f07": {
"alt": "Sekcia plánovaných aktualizácií je zapnutá — frekvencia denne o 3:00, cron výraz 0 3 * * * a cieľ nastavený na OS + aplikácia",
"caption": "Plánované aktualizácie sú zapnuté — predvoľba frekvencie, zodpovedajúci cron výraz a vybraný rozsah aktualizácie"
}
"actions": {
"heading": "Samostatné akcie a farby stavu",
"lead": "Každá sekcia zostáva samostatne ovládateľná aj po nastavení hromadnej aktualizácie.",
"items": [
"Tlačidlo <strong>Upraviť</strong> je vždy dostupné. Integrované metódy zobrazia aktuálny príkaz, ktorý možno skontrolovať, nahradiť alebo vymazať.",
"Ak je sledovanie verzie vypnuté, ale aktualizátor existuje, zobrazí sa neutrálna akcia <strong>Spustiť aktualizátor</strong>. ProxMenux netvrdí, že je dostupná aktualizácia.",
"Ak metóda neexistuje, <strong>Nastaviť</strong> otvorí editor vlastného príkazu.",
"Akcia <strong>Aktualizovať obraz</strong> ovplyvní iba vybranú jednotku Dockeru, nie Docker Engine ani nesúvisiace obrazy."
],
"statusColState": "Známy stav",
"statusColAppearance": "Vzhľad",
"statusColMeaning": "Význam",
"statusRows": [
{
"state": "Overená dostupná aktualizácia",
"appearance": "Fialový text, ikona šípky nahor a fialová akcia",
"meaning": "Nainštalovaná a dostupná verzia alebo digesty obrazov sa líšia."
},
{
"state": "Overene aktuálne",
"appearance": "Zelená kontrola a zelená akcia Aktualizované",
"meaning": "Posledná dokončená kontrola potvrdila, že cieľ je aktuálny."
},
{
"state": "Neznáma verzia",
"appearance": "Neutrálny text a neutrálna akcia",
"meaning": "Aktualizátor sa dá spustiť, ale bez údajov o verzii nemožno určiť stav."
}
]
},
"custom": {
"heading": "Pridanie vlastného aktualizačného príkazu",
"p1": "Keď má aplikácia sledovanie verzie, ale nemá metódu aktualizácie, záložka zobrazí <strong>Nie je nastavený aktualizátor</strong>. Kliknutím na <strong>Pridať vlastný aktualizačný príkaz</strong> otvoríte editor.",
"p2": "Príkaz musí predstavovať reálny a úplný postup, ktorý danú aplikáciu aktualizuje. Nevkladajte sem iba príkaz, ktorý číta jej verziu."
},
"figureOut": {
"heading": "Ako zistiť správny príkaz",
"intro": "Neexistuje univerzálny aktualizačný príkaz. Pred uložením najprv zistite, ako bol softvér nainštalovaný a aký postup aktualizácie odporúča jeho projekt.",
"step1Heading": "1. Skontrolujte, či to už nerieši systém",
"step1P1": "Ak bola aplikácia nainštalovaná z repozitárov Debianu, Ubuntu alebo Alpine, zvyčajne sa aktualizuje spolu so systémovými balíkmi. Vtedy nepridávajte vlastný príkaz — použite <strong>Použiť aktualizáciu OS</strong>.",
"step1P2": "Pôvod balíka môžete overiť z konzoly LXC nástrojmi danej distribúcie. Napríklad:",
"step1Cmd1": "dpkg -l | grep -i name",
"step1P3": "alebo:",
"step1Cmd2": "apk info | grep -i name",
"step1P4": "Nahraďte <code>name</code> balíkom, ktorý skúmate. Zhoda ešte automaticky nepotvrdzuje, že ide o hlavný balík — porovnajte názov s dokumentáciou aplikácie.",
"step2Heading": "2. Pozrite oficiálnu dokumentáciu",
"step2P1": "V oficiálnych dokumentoch alebo repozitári hľadajte sekcie ako <strong>Upgrade</strong>, <strong>Update</strong>, <strong>Maintenance</strong> alebo <strong>Manual installation</strong>. Postup musí zodpovedať spôsobu, akým je aplikácia nainštalovaná v danom LXC.",
"step2P2": "Nepoužívajte návody určené pre inú distribúciu, iný typ inštalácie alebo inú verziu.",
"step3Heading": "3. Skontrolujte existujúcu inštaláciu",
"step3Lead": "Ak si nepamätáte, ako bola aplikácia nainštalovaná, pozrite:",
"step3Items": [
"Históriu alebo poznámky pôvodného inštalátora.",
"Cestu, kde sú uložené jej súbory.",
"Definíciu služby, ktorá ju spúšťa.",
"Údržbové skripty dodané aplikáciou.",
"Dokumentáciu uloženú v jej inštalačnom priečinku."
],
"step3P1": "Pri systemd službe môže toto pomôcť nájsť binárku a pracovný priečinok:",
"step3Cmd": "systemctl show service-name -p ExecStart -p WorkingDirectory",
"step3P2": "Pomôže to identifikovať inštaláciu, ale automaticky to neznamená, že riadok <code>ExecStart</code> je aktualizačný príkaz.",
"step4Heading": "4. Otestujte postup v konzole LXC",
"step4Lead": "Otvorte konzolu kontajnera a spustite postup ručne ešte pred uložením do ProxMenuxu. Overte, že:",
"step4Items": [
"Skončí bez otázok alebo interaktívnych menu.",
"Vráti správny exit code.",
"Reštartuje alebo znovu načíta iba služby, ktoré to potrebujú.",
"Aplikácia je po ňom znovu dostupná.",
"Nainštalovaná verzia sa zmení podľa očakávania."
],
"step4Note": "Ak je to možné, pred testom vytvorte zálohu kontajnera.",
"step5Heading": "5. Uložte iba príkaz spúšťaný vo vnútri kontajnera",
"step5P1": "Zadajte iba to, čo sa má vykonať vo vnútri LXC. Nevkladajte:",
"step5Cmd1": "pct exec <vmid> --",
"step5P2": "ProxMenux už vstup do kontajnera rieši sám. Príkaz sa spúšťa ako <code>root</code> cez <code>sh -c</code>, takže podporuje reťazenie operácií aj zmenu priečinka.",
"step5P3": "Ak musí aktualizátor bežať z konkrétnej cesty, uveďte ju priamo:",
"step5Cmd2": "cd /opt/my-app && ./update.sh",
"step5P4": "Ak projekt dodáva aktualizátor na inej ceste, použite cestu a argumenty uvedené v oficiálnej dokumentácii."
},
"requirements": {
"heading": "Požiadavky na spoľahlivý príkaz",
"lead": "Pred spustením z Monitoru overte, že príkaz:",
"heading": "Vlastné aktualizačné príkazy",
"lead": "Vlastný príkaz pokrýva inštalácie bez overeného integrovaného aktualizátora a môže nahradiť bežný postup.",
"items": [
"Beží bez zásahu používateľa.",
"Používa absolútne cesty alebo sa najprv prepne do správneho priečinka.",
"Zastaví, migruje a reštartuje služby tak, ako vyžadujú oficiálne pokyny.",
"Skončí chybou, ak aktualizácia zlyhá.",
"Neobsahuje viditeľné heslá, tokeny ani iné tajné údaje.",
"Nesťahuje ani nespúšťa skripty z nedôveryhodných zdrojov."
"Ak je pole prázdne, otvorte <strong>Nastaviť</strong>; ak metóda existuje, otvorte <strong>Upraviť</strong>.",
"Pri integrovanej aplikácii alebo Docker Engine editor zobrazí používaný príkaz. Uložením iného obsahu sa vytvorí výslovná náhrada pre daný záznam.",
"Úplný postup najprv otestujte v termináli LXC. Musí byť neinteraktívny, používať správny adresár a pri chybe vrátiť nenulový kód.",
"Nepridávajte <code>pct exec</code>; ProxMenux už vstupuje do kontajnera a príkaz spúšťa ako root."
],
"trailing": "Obsah sa ukladá do konfigurácie LXC a spúšťa sa s administrátorskými právami. Pristupujte k nemu rovnako opatrne ako ku každému príkazu spustenému ako <code>root</code>."
"exampleLead": "Príklad úplného postupu v kontajneri:",
"example": "cd /opt/moja-aplikacia && ./update.sh",
"callout": "Príkaz ako <code>myapp --version</code> iba číta verziu a nič neaktualizuje. Príkazy sa spúšťajú s oprávneniami správcu a musia sa kontrolovať ako príkazy shellu root."
},
"difference": {
"heading": "Rozdiel medzi detekčným a aktualizačným príkazom",
"lead": "Obe polia majú rozdielny účel:",
"table": {
"colField": "Pole",
"colLocation": "Umiestnenie",
"colRole": "Úloha",
"rows": [
{
"field": "Príkaz pre nainštalovanú verziu",
"location": "App → pokročilé sledovanie",
"role": "Prečíta a vráti aktuálnu verziu; spúšťa sa ako zoznam argumentov bez shellu."
},
{
"field": "Vlastný aktualizačný príkaz",
"location": "Aktualizácie",
"role": "Spúšťa aktualizačný postup; interpretuje sa cez sh -c."
}
]
},
"trailing": "Nekopírujte slepo hodnotu z jedného poľa do druhého. Príkaz ako <code>myapp --version</code> môže správne zistiť verziu, ale nenainštaluje novú."
},
"apply": {
"heading": "Použitie aktualizácie",
"lead": "Pred kliknutím na tlačidlo použitia:",
"steps": [
"Overte, čo sa bude aktualizovať: systém, jedna aplikácia alebo oboje.",
"Skontrolujte možnosti zálohy a reštartu.",
"Kliknite na príslušné tlačidlo.",
"Sledujte výstup procesu v terminálovom paneli.",
"Overte výsledok a to, že služba znovu odpovedá."
"bulk": {
"heading": "Hromadná aktualizácia",
"lead": "Hromadná aktualizácia vytvorí jednu opakovane použiteľnú akciu pre presný súbor cieľov v LXC. Nachádza sa za sekciami aplikácií a Dockeru a pred <strong>Možnosťami</strong>.",
"items": [
"Balíky OS sú povinné. Musí byť vybraná aspoň jedna ďalšia aplikácia, Docker Engine alebo jednotka Docker obrazu.",
"Aplikácie a jednotky Dockeru sa vyberajú samostatne. Hlavná služba Compose zobrazuje závislosti, ktoré sa aktualizujú spolu s ňou.",
"Odstránené alebo nedostupné ciele sa označia ako neaktuálne a pred uložením ich treba odstrániť.",
"Tlačidlo <strong>Použiť aktualizácie</strong> je fialové, ak má niektorý vybraný cieľ overenú aktualizáciu, zelené, ak sú všetky overene aktuálne, a neutrálne pri neznámom výsledku.",
"Odstránenie hromadnej konfigurácie neodstráni samostatné metódy ani plánovanie."
],
"trailing1": "Ak je LXC zastavený, ProxMenux ho spustí, aby mohol proces prebehnúť. Ak aktualizácia skončí správne a je zapnutý reštart, kontajner sa na konci reštartuje.",
"systemLead": "Pri systémovej aktualizácii:",
"systemItems": [
"Debian a Ubuntu spúšťajú upgrade cez APT.",
"Alpine ho spúšťa cez APK."
],
"appLead": "Pri aktualizácii aplikácie:",
"appItems": [
"Použije sa kompatibilný helper, ak existuje.",
"Spustí sa vlastný príkaz uložený pre aplikáciu, ak je nastavený.",
"Ak je vybraných viac aplikácií, ich metódy sa spustia postupne."
],
"trailing2": "Terminálový panel zobrazuje priebeh a skončí úspešným výsledkom alebo chybovým kódom procesu."
"callout": "Hromadná aktualizácia nenahrádza samostatné tlačidlá. Je to voliteľná skratka pre výber, ktorý sa má spustiť spolu."
},
"backup": {
"heading": "Záloha pred aktualizáciou",
"p1": "Zapnite <strong>Snapshot kontajnera pred použitím</strong>, aby sa pred zásahom do LXC vytvorila záloha <code>vzdump</code>. Môžete vybrať aj cieľové úložisko.",
"p2": "Ak je záloha vyžadovaná a zlyhá, ProxMenux nebude v aktualizácii pokračovať. Zmeny sa tak nezačnú bez požadovaného bodu obnovy.",
"p3": "Táto voľba platí pre ručné spustenia aj plánované úlohy."
},
"restart": {
"heading": "Reštart po aktualizácii",
"p1": "<strong>Reštartovať kontajner po použití</strong> je preferencia, nie dôkaz, že reštart je povinný. Zapnite ju, keď to vyžaduje postup aplikácie alebo nainštalované balíky.",
"p2": "Reštart nastane iba po úspešnom behu. Ak aktualizácia zlyhá, kontajner ostane spustený, aby sa dala chyba skontrolovať.",
"p3": "Možnosti zálohy a reštartu sa ukladajú pre dané LXC a platia aj pre jeho plánované úlohy."
"options": {
"heading": "Možnosti zálohy a reštartu",
"lead": "Rovnaké možnosti platia pre manuálne, hromadné aj plánované behy:",
"items": [
"<strong>Snímka pred použitím</strong> vytvorí zálohu vzdump vo vybranom úložisku. Ak požadovaná záloha zlyhá, aktualizácia sa nespustí.",
"<strong>Reštartovať po použití</strong> reštartuje LXC iba po úspešnom behu.",
"Voľby sa ukladajú pre každý LXC a sú nezávislé od zoznamu cieľov."
]
},
"scheduled": {
"heading": "Plánované aktualizácie",
"p1": "Sekcia <strong>Plánované aktualizácie</strong> automaticky spúšťa rovnaký tok, aký používajú ručné tlačidlá.",
"createLead": "Plán vytvoríte takto:",
"createSteps": [
"Otvorte <strong>Možnosti</strong> a kliknite na <strong>Upraviť</strong>.",
"Zapnite <strong>Plánované aktualizácie</strong>.",
"Vyberte predvolenú frekvenciu alebo zadajte cron výraz.",
"Vyberte, čo sa bude aktualizovať: iba systémové balíky, iba aplikácie alebo systém aj aplikácie.",
"Skontrolujte možnosti zálohy a reštartu.",
"Uložte nastavenie."
"lead": "Plán používa rovnaké spustiteľné ciele a bezpečnostné možnosti ako manuálne akcie.",
"items": [
"Vyberte predvoľbu alebo cron výraz a potom presné ciele: balíky OS, jednotlivé aplikácie, Docker Engine, samostatné jednotky Dockeru alebo skupiny služieb Compose.",
"Oneskorenie po vydaní platí iba pre vybrané aplikácie so sledovaním verzie. Aplikácie bez sledovania spustia aktualizátor pri každom termíne.",
"Stav posledného behu rozlišuje úspech, čiastočné dokončenie, zlyhanie, bezpečnostné pozdržanie a stav bez čakajúcich aktualizácií.",
"Zistené externé plány Proxmox VE Helper-Scripts sa zobrazia samostatne, aby bola viditeľná prekrývajúca sa automatizácia."
],
"p2": "Karta zobrazuje, či je plán aktívny, čo zahŕňa a ako dopadol posledný beh. Vypnutý plán môžete ponechať na neskoršie zapnutie alebo ho úplne odstrániť.",
"p3": "Ak ProxMenux na hostiteľovi nájde externý plán vytvorený cez Community Scripts, zobrazí ho, aby používateľ vedel, že už existuje iná automatizácia.",
"callout": "Pred plánovaním aktualizácií aplikácií ručne otestujte každý helper alebo príkaz. Plánovaná úloha nevie odpovedať na otázky ani opraviť neúplný postup."
"callout": "Pred zapnutím plánu otestujte každú vybranú metódu manuálne. Plánovaný príkaz nemôže odpovedať na interaktívne otázky."
},
"verify": {
"heading": "Kontrola výsledku",
"p1": "Po použití systémových balíkov ProxMenux vynúti čerstvú kontrolu, aby sa počítadlo čakajúcich balíkov aktualizovalo bez čakania na ďalší pravidelný cyklus.",
"p2": "Pri aplikácii sa vráťte do <link>záložky App</link> a kliknite na <strong>Skontrolovať</strong>, ak sa číslo verzie neobnoví hneď. Znovu sa spustí nastavená metóda nainštalovanej verzie a dotaz na upstream zdroj.",
"p3": "Navyše overte, že webové odkazy aplikácie správne odpovedajú. Príkaz, ktorý skončí bez chýb, ešte nenahrádza funkčnú kontrolu služby."
"completion": {
"heading": "Čo sa stane po dokončení",
"lead": "Aktualizácia sa nepovažuje za dokončenú iba preto, že príkaz v termináli skončil.",
"items": [
"Rovnaký beh uloží konečný výsledok a podľa potreby obnoví stav balíkov OS, verzie aplikácií a inventár Dockeru.",
"Vyrovnávacia pamäť LXC sa nahradí overeným stavom po aktualizácii, takže odznaky a tlačidlá nezostanú v starom stave.",
"Po spustení zastaveného alebo obnoveného LXC existujúca udalosť životného cyklu znova obnoví tento LXC. Inventár Dockeru čaká na pripravenosť démona a dočasne prázdny výsledok nepovažuje za konečný.",
"Povolené upozornenia sa odošlú z dokončeného behu vrátane čiastočných zlyhaní a zoskupených výsledkov Docker obrazov."
]
},
"troubleshoot": {
"heading": "Časté problémy",
"noButtonHeading": "Zobrazuje sa Dostupná aktualizácia, ale chýba tlačidlo Použiť aktualizáciu",
"noButtonBody": "Detekcia verzie funguje, ale nenašla sa metóda na inštaláciu aktualizácie. Skontrolujte, či sa aplikácia aktualizuje cez systémové balíky, kompatibilného helpera alebo vlastný príkaz.",
"aptHeading": "Aplikácia sa aktualizuje cez APT alebo APK",
"aptBody": "Použite <strong>Použiť aktualizáciu OS</strong>. Nepridávajte druhý príkaz pre rovnakú operáciu — aplikácia už je súčasťou systémovej aktualizácie.",
"noUpdaterHeading": "Zobrazuje sa Nie je nastavený aktualizátor",
"noUpdaterBody": "ProxMenux aplikáciu sleduje, ale nevie, ako ju aktualizovať. Skontrolujte jej oficiálnu dokumentáciu, otestujte postup v konzole a ak je vhodný, uložte ho cez <strong>Pridať vlastný aktualizačný príkaz</strong>.",
"helperDetectedHeading": "Helper je nájdený, ale nedá sa použiť",
"helperDetectedBody": "Helper môže byť označený ako neaktualizovateľný alebo nespadá medzi rozpoznané metódy. Riaďte sa oficiálnymi pokynmi aplikácie a nepredpokladajte, že každý LXC vytvorený cez Community Scripts podporuje automatické aktualizácie.",
"customFailsHeading": "Vlastný príkaz zlyhá",
"customFailsBody": "Spustite ho znovu v konzole LXC. Skontrolujte pracovnú cestu, oprávnenia, závislosti, neinteraktívne argumenty a exit code. Nemeňte príkaz za inú verziu, kým neoveríte odporúčaný postup podľa projektu."
"troubleshooting": {
"heading": "Bežné situácie",
"colProblem": "Situácia",
"colResolution": "Riešenie",
"rows": [
{
"problem": "Nebola zistená metóda aktualizácie",
"resolution": "Otvorte Nastaviť, pridajte oficiálny neinteraktívny postup a pred plánovaním ho otestujte manuálne."
},
{
"problem": "Zobrazí sa identita Proxmox VE Helper-Scripts, ale nie akcia",
"resolution": "LXC obsahuje staré identifikačné údaje bez overeného wrappera /usr/bin/update. Vlastnú metódu pridajte až po potvrdení správneho postupu."
},
{
"problem": "Docker obrazy sú po štarte alebo obnovení dočasne prázdne",
"resolution": "Počkajte na pripravenosť Dockeru alebo stlačte Skontrolovať teraz. Inventár štart opakuje a dočasne prázdny výsledok nepovažuje za konečný."
},
{
"problem": "Uložený hromadný cieľ už nie je dostupný",
"resolution": "Upravte konfiguráciu, odstráňte neaktuálny cieľ a vyberte jeho aktuálnu náhradu, ak existuje."
},
{
"problem": "Vlastný príkaz zlyhá",
"resolution": "Spustite ho v termináli LXC a skontrolujte cestu, závislosti, neinteraktívne parametre a návratový kód."
}
]
},
"figures": {
"osPending": {
"alt": "Sekcia balíkov operačného systému s počtom čakajúcich a bezpečnostných aktualizácií",
"caption": "Sekcia operačného systému udržiava balíky oddelené od akcií aplikácií a Dockeru."
},
"options": {
"alt": "Možnosti aktualizácie LXC so zálohou pred a reštartom po použití",
"caption": "Nastavenia zálohy a reštartu platia pre manuálne, hromadné aj plánované behy."
}
}
}