Merge remote-tracking branch 'origin/develop' into HEAD

This commit is contained in:
MacRimi
2026-10-18 14:09:50 +02:00
658 changed files with 77297 additions and 2004 deletions
@@ -0,0 +1,13 @@
{
"meta": {
"title": "Pravidlá správania | Dokumentácia ProxMenux",
"description": "Kódex správania ProxMenux a najlepšie postupy pre prispievateľov, testerov a používateľov.",
"ogTitle": "Pravidlá správania | Dokumentácia ProxMenux",
"ogDescription": "Očakávania týkajúce sa zodpovednosti za kód, oznamovania bezpečnostných chýb a rozsahu PR v projekte ProxMenux."
},
"errors": {
"notFound": "Chyba: Súbor CODE_OF_CONDUCT.md nebol nájdený.",
"loadFailed": "Chyba: Nemožno načítať obsah kódexu správania."
},
"contentMarkdown": "# 📝 Kódex správania a odporúčané postupy\n\nTento dokument stanovuje **zásady a usmernenia** na používanie **ProxMenuxu** s cieľom podporovať **rešpekt, spoluprácu a bezpečnosť** pri vývoji.\n\n## 📌 1. Uvedenie autorstva kódu a uznanie\n\n- Pri použití **skriptov, úryvkov kódu alebo nápadov** z iných repozitárov či od iných vývojárov bude vždy uvedený pôvodný autor.\n- V kóde alebo dokumentácii bude komentár s uvedením zdroja a podľa možnosti s odkazom na pôvodný repozitár.\n- Pri použití kódu s konkrétnou **licenciou** je potrebné dodržať jej podmienky.\n\n### ✅ Príklad správneho uvedenia zdroja v kóde:\n\n```bash\n# Skript vychádza z práce [Autor] v [Odkaz na repozitár]\n```\n\n## 🔒 2. Bezpečnosť a zodpovednosť za kód\n\n- Všetok kód v tomto repozitári dodržiava odporúčané postupy bezpečného vývoja.\n- Príspevky, ktoré úmyselne zavádzajú zraniteľnosti alebo nebezpečné postupy, nie sú povolené.\n- Skripty nikdy nesmú ohroziť bezpečnosť systému ani údaje používateľov.\n- Pred implementáciou je potrebné príspevky skontrolovať z hľadiska bezpečnosti a stability.\n\n### ⚠️ Zodpovedné nahlasovanie zraniteľností\n\nAk objavíte bezpečnostnú zraniteľnosť, NEHLÁSTE ju vo verejných issues ani na fórach.\n\nNamiesto toho ju nahláste súkromne e-mailom:\n\n📧 proxmenux@macrimi.pro\n\nPodrobnosti o bezpečnostných zraniteľnostiach a ich nahlasovaní nájdete v našich [bezpečnostných zásadách](./SECURITY.md).\n\n## 🤝 3. Pravidlá komunity\n\nNa zachovanie rešpektujúceho a profesionálneho prostredia musia všetci používatelia dodržiavať tieto pravidlá:\n\n- ✅ V diskusiách buďte úctiví a konštruktívni.\n- ❌ Obťažovanie, nenávistné prejavy ani urážlivé správanie sa nebudú tolerovať.\n- ✅ Spätnú väzbu poskytujte profesionálne a bez osobných útokov.\n- ❌ Porušenie pravidiel môže podľa závažnosti viesť k upozorneniu alebo vylúčeniu.\n\n##\n\nTento dokument podporuje etické používanie kódu, povedomie o bezpečnosti a rešpektujúcu komunitu.\n\n📢 Vytvorme spolu niečo skvelé!\n"
}
@@ -0,0 +1,293 @@
{
"meta": {
"title": "Prispievanie k ProxMenux | ProxMenux Dokumentácia",
"description": "Ako prispieť do ProxMenux: model vetiev (main / develop / feature/*), postup pull requestu, hlavička skriptu s autorstvom a voliteľným odkazom na podporu, dvojfázové rozhranie, funkcie správ a cesta od vetvy funkcie po stabilné vydanie.",
"ogTitle": "Prispievanie k ProxMenux",
"ogDescription": "Model vetiev, pracovný postup, autorstvo v hlavičke a dvojfázové rozhranie, ktoré musia prispievatelia dodržiavať."
},
"header": {
"title": "Prispievanie k ProxMenux",
"description": "ProxMenux víta príspevky komunity: nové skripty, opravy existujúcich, vylepšenia dialógov, preklady aj integrácie. Táto stránka vysvetľuje štruktúru repozitára, model vetiev a postup pull requestu, hlavičku skriptu s autorstvom a voliteľným odkazom na podporu aj pravidlá návrhu pre každý príspevok.",
"section": "O projekte"
},
"twoPagesCallout": {
"title": "Dve súvisiace stránky, jeden projekt",
"body": "Nemýľte si túto stránku s <contributorsLink>Prispievateľmi</contributorsLink>: tá oslavuje ľudí, ktorí už prispievajú (testeri, recenzenti, vývojári). Táto stránka je pre <em>vás</em> – potenciálneho prispievateľa – a vysvetľuje, ako poslať PR, ktoré bude zlúčené."
},
"branching": {
"heading": "Model vetiev",
"intro": "ProxMenux používa trojstupňový vetviaci model:",
"headerBranch": "Vetva",
"headerPurpose": "Účel",
"rows": [
{
"branch": "main",
"purposeRich": "Stabilný kód pripravený na produkciu. Sem sa začleňujú iba zmeny pripravené na vydanie. Túto verziu dostanú používatelia pri bežnej inštalácii ProxMenux."
},
{
"branch": "develop",
"purposeRich": "Aktívna vývojová vetva. Všetky nové zmeny sa najskôr začleňujú sem; ide o kanál „beta“. Keď je stabilné vydanie pripravené, z tejto vetvy sa prenesie do <code>main</code>."
},
{
"branch": "feature/*",
"purposeRich": "Krátkodobé vetvy pre funkciu, opravu alebo vylepšenie. Vzniknú z <code>develop</code> a po kontrole sa cez pull request zlúčia späť do <code>develop</code>."
}
],
"calloutTitle": "Čo to znamená pre užívateľov",
"calloutBody": "Používatelia vetvy <code>main</code> dostávajú otestované vydania. Kto chce nové funkcie skôr a znesie občasné nedostatky, môže sledovať <code>develop</code>. Nové funkcie vždy najprv prejdú cez <code>develop</code>; bez tohto cyklu sa do <code>main</code> nedostanú."
},
"workflow": {
"heading": "Postup pull requestu",
"intro": "Od nápadu po začlenenie do vydania v piatich krokoch:",
"step1Lead": "<strong>Vytvorte vetvu pre funkciu z <code>develop</code></strong>:",
"step1Code": "git clone https://github.com/MacRimi/ProxMenux.git\ncd ProxMenux\ngit checkout develop\ngit pull origin develop\ngit checkout -b feature/your-feature-name",
"step1Trail": "Použite výstižný názov vetvy: <code>feature/zfs-arc-tuning</code>, <code>feature/fix-iommu-detection</code>, <code>feature/add-tailscale-script</code>.",
"step2Lead": "<strong>Pracujte na svojich zmenách a posuňte vetvu:</strong>",
"step2Code": "# Make your changes, then:\ngit add scripts/...\ngit commit -m \"Add ZFS ARC tuning script\"\ngit push -u origin feature/your-feature-name",
"step3": "<strong>Otvorte pull request do <code>develop</code></strong>, nie do <code>main</code>. Na GitHube overte, že základná vetva je <code>develop</code>. Opíšte účel skriptu, jeho zmeny a verzie Proxmox VE, na ktorých ste ho testovali.",
"step4": "<strong>Po kontrole sa zmeny zlúčia do <code>develop</code>.</strong> Správca skontroluje kvalitu kódu, hlavičky a dvojfázové rozhranie. Ak vyžiada úpravy, odošlite ďalšie commity do rovnakej vetvy; PR sa aktualizuje automaticky.",
"step5": "<strong>Stabilné vydania sa prenášajú z <code>develop</code> do <code>main</code>.</strong> Pri vydaní sa <code>main</code> posunie na <code>develop</code> pomocou fast-forward a označí sa tagom. Váš príspevok sa stane súčasťou ďalšej stabilnej verzie."
},
"scriptHeader": {
"heading": "Hlavička skriptu: metadáta a popis",
"intro": "Každý skript ProxMenux začína dvoma susednými blokmi komentárov, ktoré tvoria hlavičku. <strong>Oba sú povinné</strong>: prezradia autora a účel bez potreby čítať samotný kód.",
"bullets": [
"<strong>Horný blok: metadáta.</strong> Autor, voliteľné odkazy na GitHub a podporu, správca, autorské práva, licencia, verzia a dátum aktualizácie. Tu prebieha aj <em>uznanie prispievateľov</em>: pri novom skripte uveďte svoje meno a voliteľne stránku GitHub a profil podpory, napríklad Ko-fi, GitHub Sponsors alebo Buy Me a Coffee.",
"<strong>Dolný blok: popis.</strong> Krátky odsek v jednoduchej angličtine vysvetľuje skript. Číta sa <em>pred</em> kódom a musí sám objasniť účel, hlavné akcie, dotknuté zdroje a predpoklady."
],
"licenseCalloutTitle": "Licenčná linka je pevne stanovená GPL-3.0",
"licenseCalloutBody": "ProxMenux je vydaný pod <strong>GNU General Public License v3.0</strong>. Všetky skripty používajú rovnakú licenciu; riadok <code>License</code> v hlavičke musí obsahovať odkaz GPL-3.0 z príkladu nižšie. Nie je to voľba pre jednotlivý skript. Prispením súhlasíte s vydaním pod GPL-3.0: každý môže skript čítať, upraviť a ďalej šíriť vrátane zmien pri zachovaní rovnakej licencie. Úplné znenie: <licenseLink>MacRimi/ProxMenux/LICENSE</licenseLink>.",
"templateCode": "#!/bin/bash\n\n# ==========================================================\n# ProxMenux - A menu-driven script for Proxmox VE management\n# ==========================================================\n# Author : Your Name\n# GitHub : github.com/yourhandle\n# Sponsor : ko-fi.com/yourhandle\n# Maintainer : MacRimi\n# Copyright : (c) 2026 MacRimi & contributors\n# License : (GPL-3.0) (https://github.com/MacRimi/ProxMenux/blob/main/LICENSE)\n# Version : 1.0\n# Last Updated: DD/MM/YYYY\n# ==========================================================\n# Description:\n# Short paragraph explaining what the script does.\n# Mention the main actions (e.g. \"creates a ZFS pool\",\n# \"configures IOMMU and reboots\", \"imports an ISO into a VM\"),\n# the resources it touches, and any prerequisites the user\n# should be aware of before running it.\n# ==========================================================",
"optionalNote": "Riadky <code>GitHub</code> a <code>Sponsor</code> sú voliteľné – vynechajte ich, ak ich nechcete zverejniť. Všetko ostatné sa vyžaduje.",
"whyCalloutTitle": "Prečo na tom záleží",
"whyCalloutBody": "Prispievanie do otvoreného softvéru je dobrovoľná práca. Meno a prípadný odkaz na podporu priamo v zdrojovom kóde zviditeľňujú autorstvo pri každom čítaní; nestratí sa za názvom projektu. Popis má iný význam: je prvou vecou, ktorú číta budúci správca alebo zvedavý používateľ. Jasný popis často rozhoduje, či skriptu dôverujú alebo sa mu vyhnú."
},
"structure": {
"heading": "Štruktúra projektu",
"intro": "Kde sa v repozitári nachádzajú jednotlivé druhy skriptov:",
"treeCode": "scripts/\n├── menus/ # Top-level menu scripts (entry points)\n├── storage/ # Disk, storage and passthrough scripts\n├── share/ # NFS, Samba, local share scripts\n├── vm/ # VM creation and configuration scripts\n├── gpu_tpu/ # GPU / TPU passthrough scripts\n├── post_install/ # Post-install automation scripts\n├── backup_restore/ # Backup and restore scripts\n├── utilities/ # System utility scripts\n├── global/ # Shared helper libraries (sourced by other scripts)\n├── utils.sh # Shared utility functions and message helpers\n└── help_info_menu.sh # Interactive help and command reference",
"outro": "Každý skript pri štarte načíta <code>utils.sh</code> pomocou source, aby získal funkcie správ, indikátor priebehu, farby a prekladový systém. Zdieľané pomocné knižnice v <code>scripts/global/</code> výslovne načítavajú skripty, ktoré ich potrebujú."
},
"twoPhase": {
"heading": "Dvojfázová politika návrhu UI",
"intro": "Ide o najdôležitejšie pravidlo ProxMenux a najčastejší dôvod požiadaviek na úpravu PR. Každý skript je rozdelený na <strong>presne dve fázy</strong>:",
"headerPhase": "Fáza",
"headerPurpose": "Účel",
"headerScreen": "Stav obrazovky",
"rows": [
{
"phaseRich": "<strong>Fáza 1: výber</strong>",
"purposeRich": "Zbierajte každé rozhodnutie užívateľa. Spustite všetky potrebné prípravné práce (sondy, skeny, kontroly).",
"screenRich": "Prekrytia <code>dialog</code>. Ak kontrola medzi ponukami trvá viac ako sekundu či dve, zobrazte indikátor <code>msg_info</code>, aby používateľ vedel, že skript nezamrzol. Tesne pred ďalším dialógom zavolajte <code>stop_spinner</code>."
},
{
"phaseRich": "<strong>Fáza 2: vykonanie</strong>",
"purposeRich": "Vykonajte všetky operácie. Na obrazovke postupne zobrazujte úplnú históriu priebehu.",
"screenRich": "Viditeľné hlásenia <code>msg_info</code> / <code>msg_ok</code>; nikdy nie <code>dialog</code>."
}
],
"principle": "Zásada: <strong>najprv zhromaždiť všetky voľby, potom všetko vykonať</strong>. Používateľ najprv pracuje s prehľadným dialógovým menu (fáza 1) a potom sleduje vykonávanie vo forme záznamu (fáza 2). Fázy sa nemiešajú: počas vykonávania sa neotvárajú dialógy a počas výberu sa nevypisuje priebeh.",
"phase1Heading": "Fáza 1: typický vzor",
"phase1Code": "# Silent preparatory work between dialogs\nmsg_info \"$(translate \"Checking disk assignments...\")\"\nASSIGNED_TO=$(check_assignments \"$DISK\")\nstop_spinner # ← clears line silently, result saved in variable\n\n# Next dialog can now use ASSIGNED_TO\nif [ -n \"$ASSIGNED_TO\" ]; then\n dialog --yesno \"$(translate \"Disk already assigned. Continue?\")\" $UI_YESNO_H $UI_YESNO_W\nfi\n\n# Collect multiple decisions per item with parallel arrays\ndeclare -a DISK_LIST=()\ndeclare -a DISK_FORMAT_TYPES=()\ndeclare -a DISK_MOUNT_POINTS=()\nfor DISK in $SELECTED; do\n msg_info \"$(translate \"Analyzing disk...\")\"\n CURRENT_FS=$(lsblk -no FSTYPE \"$DISK\" | xargs)\n stop_spinner\n\n FORMAT=$(dialog --backtitle \"$BACKTITLE\" \\\n --title \"$(translate \"Select Filesystem\")\" \\\n --menu \"...\" $UI_SHORT_MENU_H $UI_SHORT_MENU_W $UI_SHORT_MENU_LIST_H \\\n \"ext4\" \"...\" \"xfs\" \"...\" \"btrfs\" \"...\" \\\n 2>&1 >/dev/tty)\n [ -z \"$FORMAT\" ] && continue\n\n DISK_LIST+=(\"$DISK\")\n DISK_FORMAT_TYPES+=(\"$FORMAT\")\ndone",
"phase1RulesIntro": "<strong>Pravidlá pre fázu 1:</strong>",
"phase1Rules": [
"Ak beží indikátor <code>msg_info</code> a potrebujete otvoriť ponuku <code>dialog</code> alebo <code>whiptail</code>, najprv zavolajte <code>stop_spinner</code>. Indikátor nemôže bežať súčasne s prekrytím týchto nástrojov. Ak indikátor nebeží, volanie nie je potrebné.",
"Použite <code>show_proxmenux_logo</code> + <code>msg_title</code> + <code>msg_info</code> na vizuálny kontext dlhej operácie vo fáze 1, napríklad kontroly trvajúcej päť sekúnd či viac. Funkcia už vyčistí obrazovku, preto pred ňou nevolajte <code>clear</code>.",
"Nevolajte <code>show_proxmenux_logo</code> medzi dialógovými menumi, kde nie je čo zobraziť, a vyčistenie obrazovky prázdneho terminálu je len vizuálny hluk.",
"Uložte všetky rozhodnutia a výsledky sondy v premenných alebo paralelných poliach. Viditeľné zhrnutie sa uskutoční na začiatku fázy 2, nie vo fáze 1."
],
"phase2Heading": "Fáza 2: typický vzor",
"phase2Code": "# ── PHASE 2 — EXECUTION ─────────────────────────────\nshow_proxmenux_logo\nmsg_title \"$(translate \"My Script Title\")\"\n\n# Recap Phase 1 preparatory results — show what was already done\nmsg_ok \"$(translate \"CT $CTID selected.\")\"\nmsg_ok \"$(translate \"Repositories verified.\")\"\nmsg_ok \"$(translate \"Disks to process: ${#DISK_LIST[@]}\")\"\n\n# Now execute operations\nfor i in \"${!DISK_LIST[@]}\"; do\n DISK=\"${DISK_LIST[$i]}\"\n FORMAT=\"${DISK_FORMAT_TYPES[$i]}\"\n\n msg_info \"$(translate \"Formatting\") $DISK $(translate \"as\") $FORMAT...\"\n mkfs.\"$FORMAT\" \"$DISK\" >/dev/null 2>&1\n msg_ok \"$(translate \"Formatted.\")\"\ndone\n\nmsg_ok \"$(translate \"Completed. ${#DISK_LIST[@]} disk(s) processed.\")\"\nmsg_success \"$(translate \"Press Enter to return to menu...\")\"\nread -r",
"phase2Rules": "<strong>Pravidlá fázy 2:</strong> začnite s <code>show_proxmenux_logo + msg_title</code> a hneď zhrňte výsledky fázy 1 riadkami <code>msg_ok</code>. Už nevolajte <code>show_proxmenux_logo</code>, pretože by vymazalo nahromadený priebeh. Nevolajte <code>dialog</code>; pri nevyhnutnom rozhodnutí za behu použite <code>whiptail</code> podľa nasledujúcej časti."
},
"dialogVsWhiptail": {
"headingRich": "Kedy používať <code>dialog</code> vs <code>whiptail</code>",
"intro": "Oba nástroje vykresľujú textové používateľské rozhranie, ale na obrazovke sa správajú odlišne. ProxMenux ich preto používa v dvoch samostatných fázach.",
"headerTool": "Nástroj",
"headerWhen": "Kedy ju použiť",
"headerEffect": "Účinok na obrazovku",
"rows": [
{
"toolRich": "<strong><code>dialog</code></strong>",
"whenRich": "<strong>Vždy vo fáze 1.</strong> Každý interaktívny výber, napríklad VM, disk, súborový systém alebo potvrdenie akcie, používa <code>dialog</code>. Ide o predvolený nástroj rozhrania ProxMenux.",
"effectRich": "Preberá terminál: vyčistí obrazovku, kreslí jej prekrývanie a pri zatvorení vráti terminál do svojho predchádzajúceho stavu. Fáza 1, pretože zatiaľ nič užitočné neukazuje."
},
{
"toolRich": "<strong><code>whiptail</code></strong>",
"whenRich": "<strong>Iba vo fáze 2, iba ak je to nevyhnutné.</strong> Typickým prípadom je výzva na reštartovanie na konci vykonávania. Nesiahajte po <code>whiptail</code>, aby ste sa spýtali „pokračovať?“ uprostred vykonávania — toto rozhodnutie malo byť urobené vo fáze 1.",
"effectRich": "Ľahšie prekrytie, ktoré <em>nevymaže</em> kontext terminálu. Nahromadená história <code>msg_ok</code>/<code>msg_info</code> z fázy 2 zostane viditeľná za dialógom. Preto je vhodné, keď už obrazovka zobrazuje priebeh."
}
],
"calloutTitle": "Prečo je rozdelenie dôležité",
"calloutBody": "Ak zavoláte <code>dialog</code> uprostred fázy 2, zmiznú všetky riadky <code>msg_ok</code>, ktoré používateľ dovtedy sledoval. Vymažete tým viditeľný záznam vykonaných krokov. <code>whiptail</code> tomu zabráni. Pravidlo teda nie je svojvoľné: zachováva používateľovi prehľad o tom, čo skript doteraz urobil.",
"rebootHeading": "Výzva na reštart: typické použitie whiptail vo fáze 2",
"rebootIntro": "Ak môže byť po skončení skriptu potrebný reštart, napríklad po zapnutí IOMMU alebo zmene parametrov jadra, výzva na konci fázy 2 používa <code>whiptail</code>. Vždy pridajte vetvu Nie, ktorá upozorní, aby používateľ nepoužíval dotknutý zdroj pred reštartom:",
"rebootCode": "if [[ \"$HOST_REBOOT_REQUIRED\" == \"yes\" ]]; then\n echo \"\"\n if whiptail --title \"$(translate \"Reboot Required\")\" --yesno \\\n \"\\n$(translate \"A host reboot is required before starting the VM. Reboot now?\")\" \\\n 13 78; then\n msg_warn \"$(translate \"Rebooting the system...\")\"\n reboot\n else\n echo \"\"\n msg_info2 \"$(translate \"Do not start the VM until the system has been rebooted.\")\"\n fi\nfi\n\nmsg_success \"$(translate \"Press Enter to return to menu...\")\"\nread -r"
},
"messageFunctions": {
"heading": "Prehľad funkcií správ",
"intro": "Všetky sú definované v <code>utils.sh</code>. Používajte ich pre výstup viditeľný používateľovi, aby skripty mali jednotný vzhľad. Ak potrebujete novú funkciu, napríklad úroveň závažnosti alebo pomocníka rozloženia, navrhnite ju v pull requeste. Po kontrole sa pridá do <code>utils.sh</code>, ak má širšie využitie.",
"headerFunction": "Funkcia",
"headerWhen": "Kedy používať",
"headerSpinner": "Indikátor priebehu",
"rows": [
{
"function": "msg_info \"text\"",
"whenRich": "Prebieha operácia.",
"spinner": "Spustí"
},
{
"function": "stop_spinner",
"whenRich": "Koniec tichej prípravnej práce vo fáze 1: zastaví indikátor a vyčistí riadok.",
"spinner": "Zastaví"
},
{
"function": "msg_ok \"text\"",
"whenRich": "Operácia bola úspešná. Použite aj pre zapnutú funkciu, hoci je ešte potrebný reštart.",
"spinner": "Zastaví"
},
{
"function": "msg_warn \"text\"",
"whenRich": "Skutočné varovanie alebo zhoršený stav.",
"spinner": "Zastaví"
},
{
"function": "msg_error \"text\"",
"whenRich": "Závažná chyba.",
"spinner": "Zastaví"
},
{
"function": "msg_info2 \"text\"",
"whenRich": "Neblokujúce odporúčanie, tyrkysový informačný riadok.",
"spinner": "Zastaví"
},
{
"function": "msg_success \"text\"",
"whenRich": "Záverečná výzva „Stlačte Enter pre návrat“ na konci fázy 2.",
"spinner": "Zastaví"
},
{
"function": "msg_title \"text\"",
"whenRich": "Tučný nadpis so zabudovanými rozostupmi. Používa sa na začiatku fázy 2.",
"spinner": "—"
},
{
"function": "show_proxmenux_logo",
"whenRich": "Vyčistí obrazovku a zobrazí logo. Na začiatku fázy 2 sa volá <em>raz</em>.",
"spinner": "—"
}
]
},
"dialogConventions": {
"heading": "Pravidlá používania dialog",
"bullets": [
"Každému volaniu <code>dialog</code> a <code>whiptail</code> vždy odovzdajte <code>--backtitle \"$BACKTITLE\"</code>. <code>$BACKTITLE</code> je vždy <code>\"ProxMenux\"</code>, nastavené raz v hlavičke skriptu a nikdy neprepísané. Rámec rozhrania musí používateľovi ukazovať názov projektu, nie vlastný nadpis skriptu.",
"Vždy zabaľte titulky a správy s <code>$(translate \"...\")</code>.",
"Vždy presmerujte <code>dialog</code> výstup pomocou <code>2&gt;&amp;1 &gt;/dev/tty</code> — zachytený stdout sa stane výberom používateľa, zatiaľ čo samotné dialógové okno sa kreslí na terminál.",
"Použite štandardné premenné rozmerov UI (<code>$UI_MENU_H</code>, <code>$UI_MSG_W</code>, atď.) pre konzistentnú veľkosť medzi skriptmi.",
"Vždy skontrolujte prázdne / zrušené výbery a zaobchádzajte s nimi elegantne."
],
"exampleIntro": "Úplný príklad: vytvorenie ponuky na výber VM a spracovanie zrušenia.",
"exampleCode": "# 1) Build the list of VMs as alternating \"ID NAME\" pairs.\n# dialog --menu expects this exact shape: tag1 description1 tag2 description2 ...\nVM_LIST=\"\"\nfor vmid in $(qm list | awk 'NR>1 {print $1}'); do\n vm_name=$(qm config \"$vmid\" | awk -F': ' '/^name:/ {print $2}')\n VM_LIST=\"$VM_LIST $vmid \\\"$vm_name\\\"\"\ndone\n\n# 2) Show the dialog. Captured stdout is the user's selection (the VMID).\nVMID=$(eval \"dialog --backtitle \\\"\\$BACKTITLE\\\" \\\n --title \\\"\\$(translate \\\"Select VM\\\")\\\" \\\n --menu \\\"\\$(translate \\\"Choose a VM from the list:\\\")\\\" \\\n \\$UI_MENU_H \\$UI_MENU_W \\$UI_MENU_LIST_H \\\n $VM_LIST \\\n 2>&1 >/dev/tty\")\n\n# 3) Empty result means the user pressed Cancel or Esc — exit silently.\nif [ -z \"$VMID\" ]; then\n exit 0\nfi\n\n# 4) Continue with the rest of Phase 1, knowing VMID is now set.\necho \"User selected VMID=$VMID\""
},
"translation": {
"heading": "Politika prekladu",
"intro": "Všetky užívateľsky viditeľné reťazce musia byť zabalené s funkciou <code>translate</code>. ProxMenux ich automaticky prekladá do všetkých podporovaných jazykov, ktoré píšete anglicky, užívateľ číta ich rodný jazyk.",
"code": "msg_ok \"$(translate \"Operation completed successfully.\")\"\nmsg_error \"$(translate \"Failed to start container\") $CTID.\"\ndialog --title \"$(translate \"Select Storage\")\" ...",
"bullets": [
"Reťazce píšte po anglicky; preklad sa spracuje automaticky pri zostavení.",
"Udržujte stručnosť. Ak je to možné, nepoužívajte premenné vo vnútri dlhých viet.",
"<strong>Neprekladajte</strong> názvy premenných, cesty ani technické identifikátory."
]
},
"variableStyle": {
"heading": "Pravidlá premenných a štýlu",
"bullets": [
"Pre premenné úrovne skriptov použite <code>UPPER_CASE</code>.",
"Pre lokálne funkčné premenné (vyhlásiť s <code>local</code>) použite <code>lower_case</code>.",
"Všetky rozvinutia premenných uzavrite do úvodzoviek: <code>\"$VAR\"</code>, nie <code>$VAR</code>.",
"Použite <code>[[ ]]</code> pre podmienky, nie <code>[ ]</code> (s výnimkou prípadov, keď sa POSIX vyžaduje).",
"<code>show_proxmenux_logo</code> je správny spôsob vyčistenia obrazovky: vyčistí ju a zobrazí logo projektu pre vizuálny kontext. Zavolajte ho raz na začiatku fázy 2 a voliteľne pred dlhou prípravnou kontrolou s indikátorom vo fáze 1."
],
"standardNamesIntro": "Štandardné názvy premenných v rámci projektu:",
"standardNamesCode": "CTID # container ID\nVMID # virtual machine ID\nDISK # device path (e.g. /dev/sdb)\nPARTITION # partition path (e.g. /dev/sdb1)\nSTORAGE # Proxmox storage name\nMOUNT_POINT # filesystem mount path",
"redirectHeading": "Presmerovanie výstupu nástroja počas fázy 2",
"redirectIntro": "Fáza 2 zobrazuje prehľadný záznam riadkov <code>msg_info → msg_ok</code>. Ak volaný nástroj, napríklad apt, mkfs, qm, pct alebo dd, zapisuje na stdout/stderr, posúva správy a naruší prehľad. Používateľ potom nerozozná priebeh skriptu od podrobného výstupu nástroja.",
"withoutRedirectIntro": "<strong>Bez presmerovania</strong>: čo používateľ vidí, ak neošetríte rušivý výstup.",
"withoutRedirectCode": "ℹ Installing kernel package...\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n proxmox-kernel-6.5\n0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 12.5 MB of archives.\nAfter this operation, 47.2 MB of additional disk space will be used.\nGet:1 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 ...\n... [200+ more lines of dpkg output] ...\n✓ Kernel installed.",
"withRedirectIntro": "<strong>S presmerovaním</strong> — ako vyzerá tá istá operácia, keď je šum odoslaný inam:",
"withRedirectCode": "ℹ Installing kernel package...\n✓ Kernel installed.\nℹ Configuring kernel command line...\n✓ Configured.\nℹ Refreshing boot loader...\n✓ Boot loader updated.",
"twoPatternsIntro": "Dva vzory na výber:",
"discardLead": "<strong>Zahodiť výstup</strong>, ak ho nepotrebujete: najjednoduchšia a najrýchlejšia možnosť.",
"discardCode": "DEBIAN_FRONTEND=noninteractive apt-get install -y \"$package\" >/dev/null 2>&1",
"logLead": "<strong>Pošlite výstup do súboru denníka</strong>, keď ho budete chcieť neskôr skontrolovať (ladenie neúspešnej inštalácie, kontrola toho, čo dpkg skutočne urobil). Toto je preferovaný vzor pre akúkoľvek operáciu apt:",
"logCode": "apt-get install -y \"$package\" >> \"$log_file\" 2>&1",
"referenceOutro": "<code>scripts/global/update-pve9_2.sh</code> je referenčná implementácia: každé volanie <code>apt-get</code> zapisuje do súboru záznamu. Používateľ vidí iba prehľadný tok <code>msg_info → msg_ok</code>, no pri probléme možno zo súboru presne zistiť, čo apt vykonal."
},
"dosAndDonts": {
"heading": "Čo robiť a čomu sa vyhnúť",
"doHeading": "✅ Robiť",
"doBullets": [
"<code>stop_spinner</code> pred <code>dialog</code> vo fáze 1 iba vtedy, keď <code>msg_info</code> spinner beží.",
"Fáza 2 začína s <code>show_proxmenux_logo + msg_title + msg_ok</code> zhrnutie výsledkov fázy 1.",
"Pre úspešne zapnuté funkcie použite <code>msg_ok</code>, aj keď je potrebný reštart.",
"Používajte <code>whiptail</code> (nie <code>dialog</code>) pre akýkoľvek postup po vykonaní, ktorý sa musí objaviť vo fáze 2.",
"V dialógových oknách reštartu vždy zahrňte vetvu „Nie“, ktorá varuje používateľa, aby nespúšťal dotknutý zdroj, kým nebude reštartovaný.",
"Logiku určenú iba pre VM chráňte kontrolou <code>[[ -f \"/etc/pve/qemu-server/$'{'vmid'}'.conf\" ]]</code>: radiče a NVMe PCIe nemožno priradiť LXC cez PCI passthrough.",
"Použite <code>ensure_repositories</code> z <code>utils-install-functions.sh</code> namiesto bezpodmienečného <code>apt-get update</code>.",
"Používajte paralelné polia vo fáze 1, ak každá položka potrebuje viac dialógov."
],
"dontHeading": "❌ Nerobiť",
"dontBullets": [
"Zavolajte <code>dialog</code>, kým je spinner aktívny.",
"Preskočiť zhrnutie fázy 1 na začiatku fázy 2.",
"Zavolať <code>show_proxmenux_logo</code> druhýkrát; vymaže všetko, čo fáza 2 vypísala.",
"Použite <code>dialog</code> vo fáze 2 (použite <code>whiptail</code> pre zriedkavý nevyhnutný prípad).",
"Použite holý <code>clear</code>.",
"Obaľovať <code>msg_title</code> prázdnymi riadkami <code>echo \"\"</code> — potrebné medzery už obsahuje.",
"Použiť <code>msg_warn</code> pre hlásenie úspešne zapnutej funkcie, ktorá je <code>msg_ok</code>.",
"Spustiť bezpodmienečné <code>apt-get update</code>; namiesto toho použite <code>ensure_repositories</code>."
]
},
"submitting": {
"heading": "Predloženie príspevku",
"steps": [
"Vytvorte fork repozitára <code>MacRimi/ProxMenux</code> na GitHube a potom svoj fork naklonujte.",
"Vytvorte vetvu <code>feature/*</code> z <code>develop</code> (pozrite <em>Model vetiev</em> vyššie).",
"Postupujte podľa tejto príručky pre akékoľvek nové alebo zmenené skripty. Napíšte hlavičku s Vaším menom; pridajte voliteľný riadok sponzora, ak chcete.",
"Otestujte skript na skutočnej inštancii Proxmox VE: fázu 1 so všetkými vetvami dialógov a fázu 2 so všetkými operáciami aj čistým návratom pri chybe.",
"Otvorte pull request <strong>do vetvy <code>develop</code></strong> s jasným opisom: čo skript robí, čo sa zmenilo a na ktorej verzii Proxmox VE bol otestovaný.",
"Uistite sa, že váš príspevok rešpektuje <cocLink>Kódex správania</cocLink>."
],
"securityOutro": "Pokiaľ ide o otázky citlivé na bezpečnosť, postupujte podľa toku zverejnenia v <securityLink>SECURITY.md</securityLink> namiesto otvárania verejnej otázky."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"kind": "external",
"url": "https://github.com/MacRimi/ProxMenux/blob/main/CONTRIBUTING.md",
"label": "CONTRIBUTING.md (úplný sprievodca)",
"tail": " — záväzný zdroj všetkých pravidiel vrátane pokročilých hardvérových postupov."
},
{
"kind": "internal",
"href": "/docs/about/contributors",
"label": "Prispievatelia",
"tail": " — ľudia, ktorých práca formovala vydania ProxMenux. Ide o inú stránku než túto."
},
{
"kind": "internal",
"href": "/docs/about/code-of-conduct",
"label": "Kódex správania",
"tail": " — Každý prispievateľ súhlasí s dodržiavaním noriem."
},
{
"kind": "external",
"url": "https://github.com/MacRimi/ProxMenux/discussions",
"label": "GitHub Discussions",
"tail": " — Ak si nie ste istí, či idea sedí, alebo nájsť spolupracovníkov na väčšiu funkciu, spýtajte sa pred stavaním."
}
]
}
}
@@ -0,0 +1,38 @@
{
"meta": {
"title": "Prispievatelia | Dokumentácia ProxMenux",
"description": "Poďakovanie ľuďom, vďaka ktorým ProxMenux vzniká: testerom, kontrolórom a vývojárom, ktorí sa podieľajú na každom vydaní.",
"ogTitle": "Prispievatelia | Dokumentácia ProxMenux",
"ogDescription": "Zoznámte sa s prispievateľmi ProxMenux."
},
"header": {
"title": "Prispievatelia",
"description": "Projekt ProxMenux rastie vďaka svojim prispievateľom. Táto stránka oceňuje ich prácu: testovanie zostáv pred vydaním, odhaľovanie regresií, kontrolu PR a formovanie nových funkcií.",
"section": "O projekte"
},
"beyond": {
"title": "Ďalší prispievatelia",
"body": "Mnohí ďalší ľudia prispievajú hlásením chýb, návrhmi funkcií v Discussions, beta testovaním a prekladmi. Úplný zoznam prispievateľov do kódu nájdete v <extlink>grafe prispievateľov na GitHube</extlink>. Táto stránka vyzdvihuje ľudí, ktorí sa najaktívnejšie zapájajú do testovania a kontroly vydaní ProxMenuxu."
},
"testers": {
"heading": "Testeri a kontrolóri",
"intro": "Títo ľudia patrili medzi prvých prispievateľov do projektu. Testovaním, hlásením problémov a návrhmi zlepšení pomohli ProxMenuxu vyrásť do dnešnej podoby.",
"roles": {
"testing": "Testovanie",
"testingReviewer": "Testovanie a kontrola"
},
"youtube": "YouTube"
},
"contribute": {
"heading": "Chceš prispieť?",
"intro": "Akýkoľvek príspevok je vítaný – kód, testovanie, dizajn, dokumentácia alebo len zdieľanie nápadov:",
"tester": "<strong>Tester</strong> — vyskúšajte <beta>beta kanál</beta> a pred stabilným vydaním nahláste, čo funguje a čo nie.",
"developer": "<strong>Vývojár</strong> — Bash, Next.js (TypeScript) a trochu Pythonu pre virtuálne prostredie prekladov (venv). PR na <gh>GitHube</gh> sú vítané.",
"designer": "<strong>Dizajnér</strong> — vylepšenia používateľského rozhrania, ikony a snímky obrazovky pre dokumentáciu.",
"ideas": "<strong>Nápady</strong> — pred vytvorením požiadavky na novú funkciu otvorte tému v <disc>GitHub Discussions</disc>."
},
"coc": {
"title": "Najprv si prečítajte kódex správania",
"body": "Pred odoslaním kódu alebo nahlásením problému si prečítajte <coclink>Pravidlá správania a osvedčené postupy</coclink>. Opisujú očakávania týkajúce sa zodpovednosti za kód, oznamovania bezpečnostných chýb a rozsahu PR."
}
}
+94
View File
@@ -0,0 +1,94 @@
{
"meta": {
"title": "Časté otázky | Dokumentácia ProxMenux",
"description": "Časté otázky o ProxMenuxe: funkcie, inštalácia, kompatibilita od PVE 8, prispôsobenie, aktualizácie, bezpečnosť, produkčné použitie, systémové súbory, prispievanie a odinštalovanie.",
"ogTitle": "Časté otázky | Dokumentácia ProxMenux",
"ogDescription": "Časté otázky o inštalácii ProxMenuxu, kompatibilite, bezpečnosti a možnostiach prispievania."
},
"header": {
"title": "Často kladené otázky",
"description": "Bežné otázky o ProxMenuxe: čo to je, komu slúži, inštalácia, aktualizácia, odinštalovanie, kompatibilita, prispôsobenie, bezpečnosť a prispievanie. Ak tu svoju otázku nenájdete, pozrite si GitHub Discussions alebo vytvorte issue.",
"section": "O projekte"
},
"quickLinks": {
"title": "Rýchle odkazy",
"installationLabel": "Inštalácia",
"installationSuffix": " — inštalačný príkaz na jednom riadku a potrebné závislosti.",
"introductionLabel": "Úvod",
"introductionSuffix": " — čo ProxMenux robí, za päť minút.",
"uninstallLabel": "Odinštalovať",
"uninstallSuffix": " — úplné odstránenie programu.",
"issuesLabel": "GitHub Issues",
"discussionsLabel": "Diskusie"
},
"q1": {
"question": "Čo je ProxMenux a na čo slúži?",
"p1Rich": "<strong>ProxMenux</strong> je interaktívny nástroj s ponukami, ktorý sprístupňuje <strong>Proxmox VE</strong> všetkým používateľom bez ohľadu na ich technické skúsenosti. Zjednodušuje vykonávanie príkazov a umožňuje spravovať systém bez pokročilých znalostí Linuxu.",
"p2": "Menej skúsení používatelia môžu spúšťať príkazy cez prehľadné ponuky a nemusia ich ručne zadávať do terminálu. Skúseným správcom ProxMenux šetrí kroky pri opakovaných úlohách: zabezpečení po inštalácii, GPU passthrough, importe VM vo formáte OVF a rotácii snímok ZFS.",
"p3": "Proxmox VE sa široko používa na:",
"items": [
"Virtualizácia na podnikovej úrovni",
"HomeLab a osobné cloudové riešenia",
"Multimediálne servery, automatizácia a ďalšie"
]
},
"q2": {
"question": "Ako nainštalujem ProxMenux?",
"p1Rich": "Postupujte podľa <installlink>inštalačnej príručky</installlink>. V skratke:",
"stableInstall": "bash -c \"$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)\"",
"p2": "Po nainštalovaní jednoducho spustite:",
"menuCmd": "menu"
},
"q3": {
"question": "Je ProxMenux kompatibilný so všetkými verziami Proxmoxu?",
"bodyRich": "<strong>Nie — ProxMenux vyžaduje Proxmox VE 8 alebo novší.</strong> PVE 7 a staršie verzie nie sú podporované. Ak ešte používate PVE 7, najskôr prejdite na 8.x podľa oficiálneho postupu Proxmoxu. Následný prechod z 8 na 9 môžete vykonať v ProxMenuxe cez <upgradelink>Nástroje → Aktualizovať PVE 8 na PVE 9</upgradelink>."
},
"q4": {
"question": "Môžem prispôsobiť ProxMenux?",
"p1Rich": "Aktualizácie môžu prepísať miestne zmeny hlavných skriptov, preto tieto súbory neupravujte priamo. Prispôsobiť si však <em>môžete</em>:",
"items": [
"Banner konzoly prostredníctvom nástroja <strong>FastFetch</strong> v možnostiach po inštalácii.",
"Ktoré voliteľné súčasti sa nainštalujú (Monitor, Fail2Ban, Lynis a ďalšie): vyberiete ich počas inštalácie alebo neskôr v príslušných ponukách."
]
},
"q5": {
"question": "Ako aktualizujem ProxMenux?",
"p1Rich": "Keď je dostupná nová verzia, ProxMenux ju zistí pri ďalšom spustení <code>menu</code> a ponúkne aktualizáciu. Ak ju prijmete, nahradí súbory a konfiguráciu nástroja v existujúcej inštalácii. Nemusíte nič sťahovať ručne.",
"p2Rich": "Používatelia stabilnej verzie dostávajú stabilné aktualizácie a používatelia beta verzie beta aktualizácie. Po vydaní stabilnej verzie na to beta upozorní pri ďalšom otvorení ponuky a ponúkne automatický prechod. Pozrite si <betalink>beta program</betalink>."
},
"q6": {
"question": "Kde môžem nahlásiť problémy?",
"p1Rich": "Chyby nahlasujte cez <issueslink>GitHub Issues</issueslink>. Uveďte kroky na ich zopakovanie, chybové hlásenie a podľa potreby výstup Monitora z príkazu <code>journalctl -u proxmenux-monitor -n 50</code>.",
"p2Rich": "V prípade problémov s <strong>bezpečnosťou</strong> ich prosím <strong>nezverejňujte</strong>. Prečítajte si <coclink>Kódex správania a osvedčené postupy</coclink> o zodpovednom postupe zverejnenia."
},
"q7": {
"question": "Môžem prispieť k ProxMenux?",
"p1Rich": "<strong>Samozrejme.</strong> ProxMenux je otvorený komunitný projekt. Prispieť môžete kódom (Bash, Next.js/TypeScript a prekladové nástroje v Pythone), testovaním, dokumentáciou, dizajnom alebo nápadmi.",
"item1Rich": "Pred otvorením žiadosti o funkciu prediskutujte nápady v <discusslink>GitHub diskusiách</discusslink>.",
"item2Rich": "Pred odoslaním pull requestu si prečítajte <coclink>kódex správania a odporúčané postupy</coclink>.",
"item3Rich": "Na <contriblink>stránke prispievateľov</contriblink> nájdete aktuálnych testerov a recenzentov."
},
"q8": {
"question": "Upravuje ProxMenux kritické systémové súbory?",
"p1Rich": "<strong>Inštalácia ProxMenuxu pridá nasledujúce súčasti.</strong>",
"item1Rich": "Závislosti cez apt: <code>dialog</code>, <code>curl</code>, <code>jq</code> a <code>git</code>. Preklady používajú vopred vytvorené katalógy JSON; inštalátor na hostiteľa nepridáva virtuálne prostredie na preklad.",
"item2Rich": "Adresárový strom skriptov v <code>/usr/local/share/proxmenux/</code>.",
"item3Rich": "Spúšťač v <code>/usr/local/bin/menu</code>.",
"item4Rich": "Voliteľne: služba systemd pre Monitor, <code>proxmenux-monitor.service</code>.",
"p2Rich": "ProxMenux <em>nemení</em> základnú konfiguráciu Proxmoxu, pokiaľ o to výslovne nepožiadate v príslušnej ponuke. Oprava siete napríklad upravuje <code>/etc/network/interfaces</code>, ale až po vašom potvrdení a vytvorení zálohy."
},
"q9": {
"question": "Je bezpečné používať ProxMenux v produkčnom prostredí?",
"bodyRich": "<strong>Áno.</strong> Keďže ProxMenux mení základné súbory Proxmoxu iba na výslovnú žiadosť, možno ho používať aj v produkčnom prostredí. Ako pri každej automatizácii ho najprv otestujte v kontrolovanom prostredí a pred deštruktívnymi operáciami majte zálohy. Týka sa to napríklad prechodu z PVE 8 na 9, formátovania diskov či odstránenia VM."
},
"q10": {
"question": "Ako odinštalujem ProxMenux?",
"p1Rich": "V ProxMenuxe: <strong>Nastavenia → Odinštalovať ProxMenux</strong>. Odinštalovanie odstráni skripty, spúšťač a službu Monitor a voliteľne aj vybrané závislosti. Súbory <code>/root/.bashrc</code> a <code>/etc/motd</code> obnoví zo záloh vytvorených pri inštalácii, ak sú dostupné.",
"p2Rich": "Celý postup nájdete na stránke <uninstalllink>Odinštalovanie ProxMenuxu</uninstalllink>."
},
"q11": {
"question": "VirusTotal označuje inštalačnú URL ako podozrivú — je bezpečná?",
"p1Rich": "Výsledok 1/95 od <em>Chong Lua Dao</em>, nahlásený v issue #162, správca projektu označil za falošný poplach. Inštalátor používa vzor <code>curl | bash</code> a môže stiahnuť <code>jq</code> z jeho oficiálneho vydania na GitHube. Takéto <em>správanie</em> môže spustiť heuristickú detekciu; historické hlásenie nie je hodnotením všetkých budúcich stiahnutí.",
"p2Rich": "ProxMenux má úplne otvorený zdrojový kód a inštalačný skript si môžete skontrolovať riadok po riadku: <scriptlink>install_proxmenux.sh</scriptlink>. Ďalšie súvislosti nájdete v <issuelink>issue #162</issuelink>."
}
}
+67
View File
@@ -0,0 +1,67 @@
{
"meta": {
"title": "O projekte | Dokumentácia ProxMenux",
"description": "O projekte ProxMenux: ciele, prispievatelia, časté otázky a pravidlá správania. Nástroj s otvoreným zdrojovým kódom na správu Proxmox VE 8+ cez ponuky, ktorý vyvíja a udržiava MacRimi s malým tímom testerov a prispievateľov.",
"ogTitle": "O projekte | Dokumentácia ProxMenux",
"ogDescription": "O ProxMenuxe — nástroji s otvoreným zdrojovým kódom na správu Proxmox VE 8+ cez ponuky."
},
"header": {
"title": "O projekte",
"description": "Informácie o projekte, časté otázky, prispievatelia a pravidlá správania. ProxMenux je nástroj s otvoreným zdrojovým kódom na správu Proxmox VE 8+ cez ponuky, ktorý vyvíja a udržiava MacRimi s pomocou malého tímu testerov a prispievateľov.",
"section": "O projekte"
},
"callout": {
"title": "Otvorený zdrojový kód, vývoj vedený komunitou",
"body": "ProxMenux sa poskytuje pod licenciou GPL-3.0 a vyvíja sa verejne na GitHube. Každý skript možno skontrolovať a každú zmenu dohľadať. Hlásenia chýb, nápady, kód aj testovanie sú vítané."
},
"section": {
"heading": "V tejto časti:",
"options": [
{
"icon": "HelpCircle",
"href": "/docs/about/faq",
"title": "FAQ",
"description": "Časté otázky: čo je ProxMenux, inštalácia, kompatibilita, prispôsobenie, aktualizácie, bezpečnosť, používanie v produkcii a odinštalovanie."
},
{
"icon": "Users",
"href": "/docs/about/contributors",
"title": "Prispievatelia",
"description": "Poďakovanie ľuďom, vďaka ktorým ProxMenux vzniká: testerom, kontrolórom a vývojárom, ktorí sa podieľajú na každom vydaní."
},
{
"icon": "ScrollText",
"href": "/docs/about/code-of-conduct",
"title": "Kódex správania",
"description": "Hodnoty projektu, zodpovednosť za kód a pravidlá prispievania. Povinné čítanie pred odoslaním PR alebo hlásenia problému."
}
]
},
"involved": {
"heading": "Zapojte sa",
"intro": "Tri miesta na zapojenie sa do projektu:",
"cards": [
{
"href": "https://github.com/MacRimi/ProxMenux/issues/new",
"title": "🐛 Nahlásiť chybu",
"description": "GitHub Issues — priložte záznamy a kroky na zopakovanie problému."
},
{
"href": "https://github.com/MacRimi/ProxMenux/discussions",
"title": "💡 Navrhnúť funkciu",
"description": "GitHub Discussions — podeľte sa o nápady pred odoslaním PR."
},
{
"href": "https://github.com/MacRimi/ProxMenux/pulls",
"title": "🔀 Odoslať PR",
"description": "GitHub Pull Requests — najskôr si prečítajte pravidlá správania."
}
]
},
"support": {
"heading": "Podpora projektu",
"introRich": "Ak vám ProxMenux šetrí čas, najjednoduchšie mu pomôžete osloviť ďalších ľudí tak, že <starlink>dáte repozitáru na GitHube ⭐</starlink>. Ak chcete pomôcť viac:",
"kofiLabel": "Podpora pre Ko-fi",
"kofiOutro": " — prispejete správcovi na kávu a podporíte pokračovanie vývoja."
}
}
@@ -0,0 +1,220 @@
{
"meta": {
"title": "Vytváranie záloh — interaktívny postup zálohovania | ProxMenux",
"description": "Interaktívny postup zálohovania v ProxMenux: dva vstupné body (ponuka TUI nástroja Scripts a webové rozhranie Monitor), tri ciele, dva režimy profilu, jeden krok dočasnej prípravy a jeden potvrdzovací dialóg. Stránka opisuje maticu šiestich možností, predvolený a vlastný profil a to, čo používateľ vidí od výberu zálohy až po uloženie archívu do cieľa.",
"ogTitle": "Zálohovanie ProxMenux — vytváranie záloh",
"ogDescription": "Interaktívny postup zálohovania s tromi cieľmi, dvoma profilmi a spoločným krokom dočasnej prípravy.",
"twitterTitle": "Vytváranie záloh | ProxMenux",
"twitterDescription": "Interaktívny postup zálohovania s tromi cieľmi a dvoma režimami profilu."
},
"header": {
"title": "Vytváranie záloh",
"description": "Interaktívny postup zálohovania: vyberte cieľ a profil, skontrolujte súhrn v potvrdzovacom dialógu a sledujte uloženie archívu. Oba vstupné body používajú rovnaký backend a vytvárajú zhodné archívy.",
"section": "Záloha a obnova"
},
"intro": {
"title": "Dva vstupné body, rovnaká funkčnosť",
"body": "TUI nástroja Scripts a webové rozhranie Monitor ponúkajú <strong>presne rovnaké funkcie</strong>. Každá záloha — manuálna aj plánovaná — prechádza rovnakou maticou výberu (tri ciele × dva profily) a pre každú bunku volá rovnakú funkciu backendu (<code>_bk_pbs</code>, <code>_bk_borg</code> alebo <code>_bk_local</code>). Archívy vytvorené cez oba vstupné body sú nerozoznateľné. Výber závisí od preferencií: TUI je vhodné pre SSH a skripty; Monitor umožňuje ovládanie myšou a obsahuje aj zobrazenia upozornení a priebežného výpisu záznamov."
},
"entryPoints": {
"heading": "Dva vstupné body",
"rows": [
{
"entry": "ProxMenux Scripts (TUI)",
"path": "menu → Utilities → Host Config Backup",
"detail": "Dialógový tok, SSH-priateľský. Hlavné menu predstavuje šesť možností priamo. Používa <code>backup_menu</code> v <code>backup_host.sh</code>."
},
{
"entry": "ProxMenux Monitor (webové rozhranie)",
"path": "Backups tab → Create backup",
"detail": "Postup vedený sprievodcom. Rovnakých šesť možností je zobrazených v dvojkrokovom formulári (cieľ → profil). Cez rozhranie Flask API sa volajú rovnaké funkcie backendu."
}
]
},
"modes": {
"heading": "Manuálne vs plánované zálohy",
"body": "Zálohy možno vytvárať v dvoch režimoch: <strong>manuálne</strong> (interaktívny postup opísaný na tejto stránke — používateľ vyberie cieľ a profil z ponuky a sleduje uloženie archívu) alebo <strong>plánovane</strong> (úloha bez obsluhy, ktorá sa spúšťa časovačom v štýle cron a používa pravidlá uchovávania nastavené pre danú úlohu). Oba režimy podporujú rovnaké tri ciele a dva profily a sú dostupné cez oba vstupné body — ponuku TUI nástroja Scripts a kartu Backups v Monitore. Plánované úlohy používajú cez <code>run_scheduled_backup.sh</code> rovnaké funkcie backendu ako manuálny postup; vytvorené archívy sú nerozoznateľné.",
"seeAlso": "Stránka plánovaných úloh opisuje celý postup vrátane vytvorenia úlohy, jej pripojenia k existujúcemu časovaču vzdump v PVE a nastavenia hodnôt uchovávania.",
"monitorAlt": "ProxMenux Monitor Zálohy zobrazí nový plánovaný dialóg zálohovania s cieľovým, profilom, harmonogramom a retenčnými poľami.",
"monitorCaption": "Plánovaná záloha — ProxMenux Monitor. Rovnaký dialóg sprievodcu ako pri manuálnej zálohe má v dolnej časti polia plánu a uchovávania pre spúšťanie bez obsluhy."
},
"matrix": {
"heading": "Matica šiestich možností",
"intro": "Výber určuje spustený backend aj použitú stratégiu výberu ciest. Podrobnosti o konfigurácii každej bunky nájdete na stránkach jednotlivých cieľov.",
"rows": [
{
"combo": "1",
"destination": "PBS",
"profile": "Štandardné",
"action": "Uploaduje štandardný profil plus trvalé doplnky do nakonfigurovaného PBS úložiska."
},
{
"combo": "2",
"destination": "Borg",
"profile": "Štandardné",
"action": "Vytvorí archív so štandardným profilom plus trvalé doplnky vo vybranom úložisku Borg."
},
{
"combo": "3",
"destination": "Lokálne",
"profile": "Štandardné",
"action": "Napíše archív <code>.tar.zst</code> so štandardným profilom plus trvalé doplnky k nakonfigurovanému lokálnemu cieľu."
},
{
"combo": "4",
"destination": "PBS",
"profile": "Vlastné",
"action": "Pred odoslaním do PBS otvorí výber ciest; používateľ zaškrtne požadované cesty a môže pridať nové."
},
{
"combo": "5",
"destination": "Borg",
"profile": "Vlastné",
"action": "Pred vytvorením archívu Borg otvorí výber ciest."
},
{
"combo": "6",
"destination": "Lokálne",
"profile": "Vlastné",
"action": "Pred zápisom lokálneho súboru <code>.tar.zst</code> otvorí výber ciest."
}
]
},
"profiles": {
"heading": "Štandardný vs vlastný profil",
"defaultTitle": "Predvolený profil",
"defaultBody": "Predvolený profil je pripravený zoznam z <code>hb_default_profile_paths</code> (opísaný v časti <em>Ako to funguje</em> pod nadpisom <em>Kategórie ciest</em>) spolu so všetkými položkami zo súboru trvalých doplnkov <code>/usr/local/share/proxmenux/backup-extra-paths.txt</code>. Používateľ potvrdí cieľ a možnosti šifrovania a záloha pokračuje bez ďalšieho výberu ciest.",
"customTitle": "Vlastný profil",
"customBody": "Vlastný profil otvorí zoznam so všetkými cestami predvoleného profilu (nezaškrtnuté) a všetkými trvalými doplnkami (vopred zaškrtnuté, s predponou <code>[+]</code>). Používateľ zaškrtne cesty pre toto spustenie a cez <em>Pridať vlastnú cestu</em> môže doplniť novú absolútnu cestu. Takto pridaná cesta sa uloží do <code>backup-extra-paths.txt</code>, aby ju budúce zálohy zahrnuli automaticky bez opätovného pridávania. Odškrtnutie trvalého doplnku ho vynechá len pri tomto spustení, ale neodstráni ho zo súboru — na odstránenie slúži samostatná akcia <em>Spravovať vlastné cesty</em> mimo postupu zálohovania.",
"customPickerAlt": "Vlastný kontrolný zoznam profilu zobrazujúci predvolené cesty profilu (nezaškrtnuté) a trvalé doplnky (vopred zaškrtnuté s predponou [+]) plus tlačidlá na pridanie novej cesty alebo potvrdenie výberu.",
"customPickerCaption": "Vlastný profil — výber ciest. Cesty predvoleného profilu nie sú zaškrtnuté; trvalé doplnky sú vopred zaškrtnuté s predponou [+]. Používateľ zaškrtne cesty pre toto spustenie.",
"manageCustomAlt": "Ponuka správy vlastných ciest so zoznamom trvalých doplnkov a možnosťami pridávania, odstraňovania a úprav.",
"manageCustomCaption": "Spravovať vlastné cesty — miesto, kde sa pridávajú alebo odstraňujú trvalé doplnky. Každá tu uvedená cesta sa automaticky zahrnie do záloh v predvolenom režime bez potreby otvárať výber ciest vlastného profilu."
},
"commonPipeline": {
"heading": "Čo beží bez ohľadu na cieľ",
"intro": "Po určení profilu každý backend vykoná rovnaký postup dočasnej prípravy a potom pokračuje vlastným spôsobom odosielania. <code>hb_prepare_staging</code> zostaví strom archívu v <code>/tmp/proxmenux-DESTINATION-stage.XXXXXX</code> a naplní každý z troch blokov údajov.",
"steps": [
{
"step": "1",
"name": "Zostava rootfs",
"detail": "Pre každú vybranú cestu spustí <code>rsync -a</code> do <code>staging_root/rootfs/</code>. Databáza pmxcfs v <code>/var/lib/pve-cluster/config.db</code> sa zachytí samostatne cez <code>sqlite3 .backup</code>, aby vznikla konzistentná snímka bez zastavenia klastra; pomocné súbory <code>.db-wal</code> / <code>.db-shm</code> sa z rsync vylúčia. Ak <code>sqlite3</code> nie je dostupné, uloží sa namiesto toho súbor <code>config.db.raw-fallback</code>, ktorý obnova pri importe prevezme ako databázu. Z <code>/root/</code> sa vylúčia dočasné podcesty (história bash, vyrovnávacie pamäte, kôš). Cesty chýbajúce v zdroji sa zapíšu do <code>metadata/missing_paths.txt</code> bez zastavenia zálohy."
},
{
"step": "2",
"name": "Vytvorenie manifestu",
"detail": "<code>build_manifest.sh</code> koordinuje šesť zberných modulov a zapíše <code>manifest.json</code> do koreňa dočasného adresára. Pri zlyhaní modulu sa pre príslušnú sekciu použije zdokumentovaná prázdna predvolená hodnota; manifest zostane platný."
},
{
"step": "3",
"name": "Zoznam balíkov",
"detail": "<code>apt-mark showmanual</code> je zachytený doslovne do <code>metadata/packages.manual.list</code>. Stav komponentu je už vnútri obnovených rootfs (<code>components_status.json</code>), pretože <code>/usr/local/share/proxmenux/</code> je súčasťou štandardného profilu."
},
{
"step": "4",
"name": "Informácie o spustení",
"detail": "<code>metadata/run_info.env</code> zaznamenáva identitu spustenia zálohy – názov hostiteľa, časovú pečiatku, verziu jadra – používanú pri kontrole kompatibility obnovy na určenie smeru medzi jadrami."
},
{
"step": "5",
"name": "Oznámenie (začiatok)",
"detail": "Spustí sa <code>hb_notify_lifecycle \"start\"</code>. Ak sú v Monitore nastavené upozornenia, používateľ dostane udalosť <em>Zálohovanie hostiteľa sa začalo</em>. Bez nakonfigurovaných kanálov sa upozornenie neodošle."
}
]
},
"included": {
"heading": "Čo ide dnu a čo zostane vonku",
"intro": "Každá cesta v určenom profile (predvolené + trvalé doplnky + výber vo vlastnom režime) je skopírovaná s <code>rsync -aAXH --numeric-ids</code>. Spoločný zoznam vylúčení sa vzťahuje na každú cestu a dva adresáre majú dodatočné výnimky špecifické pre jednotlivé trasy.",
"globalTitle": "Globálne vylúčenia (uplatnené na každú cestu)",
"globalItems": [
"<code>images/</code> — výpisy obrazov.",
"<code>dump/</code> — výstupy vzdump.",
"<code>tmp/</code> - dočasné súbory.",
"<code>*.log</code> — súbory záznamov."
],
"rootTitle": "Výnimky <code>/root/</code>",
"rootBody": "<code>/root/</code> je súčasťou predvoleného profilu, aby sa do archívu zahrnuli používateľské skripty a konfigurácia. Dočasné podcesty sa vynechajú:",
"rootItems": [
"<code>.bash_history</code>",
"<code>.cache/</code>",
"<code>tmp/</code>",
"<code>.local/share/Trash/</code>"
],
"proxmenuxTitle": "Výnimky <code>/usr/local/share/proxmenux/</code>",
"proxmenuxBody": "Tento adresár obsahuje iba používateľský stav — <code>components_status.json</code>, predvoľby a vyrovnávaciu pamäť po inštalácii. Kód, ktorý už cieľ má z vlastnej inštalácie ProxMenux, sa vylúči, aby obnova neprepísala aktuálne binárne súbory cieľa staršími:",
"proxmenuxItems": [
"<code>restore-pending/</code>, <code>scripts/</code>, <code>web/</code>",
"<code>monitor-app/</code>, <code>monitor-app.*/</code>, <code>AppImage/</code>",
"<code>images/</code>, <code>json/</code>",
"<code>utils.sh</code>, <code>helpers_cache.json</code>",
"<code>ProxMenux-Monitor.AppImage*</code>, <code>install_proxmenux*.sh</code>"
],
"notInProfileTitle": "Cesty mimo profilu",
"notInProfileBody": "Všetko, čo nie je uvedené v <code>hb_default_profile_paths</code> a nepridal ako vlastné alebo trvalé extra nie je súčasťou zálohy. Pozoruhodné príklady:",
"notInProfileItems": [
"<strong>Disky VM a LXC</strong> — zálohuje ich <code>vzdump</code>, nie táto funkcia. Konfiguračné súbory hostí v <code>/etc/pve/nodes/*/qemu-server/*.conf</code> a <code>lxc/*.conf</code> sa zachytia (nachádzajú sa v <code>/etc/pve</code>), aby obnova obnovila inventár; samotné disky sa znovu pripoja z existujúcej zálohy vzdump/PBS.",
"<strong><code>/boot</code> a <code>/boot/efi</code></strong> — binárne súbory jadra, initramfs a oddiel UEFI ESP po obnove znova vytvorí cieľový systém pomocou <code>update-initramfs</code>, <code>update-grub</code> alebo <code>proxmox-boot-tool refresh</code>. Zavádzač sa nikdy nekopíruje doslova.",
"<strong>Súborové systémy jadra a behu systému</strong> — <code>/proc</code>, <code>/sys</code>, <code>/dev</code> a <code>/run</code> sú pseudosúborové systémy vytvárané jadrom a udev; nikde sa trvalo neukladajú.",
"<strong>Binárne súbory balíkov v <code>/usr/bin</code>, <code>/usr/lib</code>, <code>/lib</code>, <code>/sbin</code></strong> — APT na cieľovom systéme ich znova nainštaluje podľa <code>packages.manual.list</code>.",
"<strong><code>/var/log/</code>, <code>/var/tmp/</code>, <code>/var/cache/</code></strong> — priebežný stav konkrétneho hostiteľa, ktorý sa neobnovuje.",
"<strong><code>/home/USER</code></strong> Nie v štandardnom profile. Pridať ako vlastnú cestu, keď systém nesie užívateľské domovské adresáre, ktoré musia prežiť obnovenie."
],
"customPathsTitle": "Ako sa spracúvajú vlastné cesty",
"customPathsBody": "Vlastná cesta pridaná priamo vo vlastnom režime alebo uložená v <code>backup-extra-paths.txt</code> prechádza rovnakým postupom <code>rsync</code> ako cesty predvoleného profilu. Platia globálne vylúčenia. Ak sa vlastná cesta nachádza pod <code>/root/</code> alebo <code>/usr/local/share/proxmenux/</code>, naďalej platia aj uvedené vylúčenia pre konkrétnu cestu. Každá archivovaná cesta — predvolená aj vlastná — sa zaznamená v <code>metadata/paths_archived.txt</code>. Cesty, ktoré v zdroji neexistujú, sa zapíšu do <code>metadata/missing_paths.txt</code> bez zastavenia zálohy."
},
"archiveStructure": {
"heading": "Štruktúra archívu",
"intro": "Dočasný prípravný adresár vytvorený každým backendom má rovnaké usporiadanie bez ohľadu na miesto určenia. Archív tarball, PBS <code>.pxar</code> alebo Borg uchováva tento strom doslovne.",
"tree": "backup-[timestamp]/\n├── manifest.json # structured host state (kernel_params, hardware, storage, guests, components, source_host)\n├── metadata/\n│ ├── packages.manual.list # output of apt-mark showmanual\n│ ├── run_info.env # hostname, timestamp, kernel version, pmxcfs method\n│ ├── paths_archived.txt # exact list of paths that reached rootfs/\n│ └── missing_paths.txt # paths from the profile absent on source\n└── rootfs/\n ├── etc/ # /etc/pve, /etc/network, /etc/systemd/network, /etc/ssh, /etc/apt, ...\n ├── root/ # /root without volatile subpaths\n ├── usr/local/ # /usr/local/bin, /usr/local/sbin, /usr/local/share/proxmenux (state only)\n └── var/ # /var/lib/pve-cluster (config.db via sqlite3 .backup), /var/spool/cron/crontabs"
},
"confirmation": {
"heading": "Zhrnutie potvrdenia",
"body": "Pred zápisom akýchkoľvek údajov do cieľa ProxMenux zobrazí súhrnný dialóg s cieľom, ID zálohy alebo názvom archívu, stavom šifrovania a zoznamom kopírovaných ciest. Zrušenie v tomto bode zálohovanie bezpečne ukončí — obslužný mechanizmus <code>trap</code> nastavený vo funkcii backendu odstráni dočasný prípravný adresár a do cieľa sa nedostanú žiadne čiastočné údaje."
},
"writing": {
"heading": "Písanie na miesto určenia",
"intro": "Po potvrdení každý backend vykoná vlastný krok zápisu. Podrobnosti opisujú stránky jednotlivých cieľov; spoločnými prvkami sú záznam, sprievodný súbor a upozornenie o dokončení.",
"rows": [
{
"topic": "Súbor záznamu",
"detail": "Každý backend napíše celý svoj výstup do <code>/tmp/proxmenux-DESTINATION-backup-YYYYMMDD_HHMMSS.log</code> a pri zlyhaní ponúkne jeho otvorenie v rolovacom dialógu. Cesta záznamu je vytlačená v súhrne dokončenia iba vtedy, keď má súbor obsah."
},
{
"topic": "Sprievodný súbor (iba lokálne)",
"detail": "<code>hb_write_archive_sidecar</code> vytvorí <code>*.proxmenux.json</code> vedľa lokálneho archívu, takže Monitor ho identifikuje ako zálohu hostiteľa ProxMenux aj po presunutí alebo premenovaní."
},
{
"topic": "Upozornenie (dokončenie/zlyhanie)",
"detail": "Spustí sa <code>hb_notify_lifecycle \"complete\"</code> alebo <code>\"fail\"</code> s trvaním, veľkosťou archívu a — pri zlyhaní — posledným riadkom záznamu, ktorý vyzerá ako chyba."
}
]
},
"finishedScreens": {
"heading": "Ako vyzerá dokončená záloha",
"intro": "Rovnaká udalosť dokončenia sa zobrazí cez oba vstupné body. TUI vypíše súhrn do terminálu; karta Backups v Monitore zobrazí spustenie v zozname archívov s veľkosťou, trvaním a indikátormi stavu.",
"scriptsAlt": "ProxMenux Scripts TUI zobrazujúce dokončenú zálohu hostiteľa – cieľ, ID zálohy, cestu snapshot, veľkosť údajov, trvanie a stav šifrovania.",
"scriptsCaption": "Dokončená záloha — ProxMenux Scripts (TUI). Súhrn dokončenia vypíše cieľ, ID zálohy, názov výslednej snímky alebo archívu, veľkosť údajov, trvanie a stav šifrovania.",
"monitorAlt": "ProxMenux Monitor s kartou Backups znázorňujúcou dokončenú zálohovaciu položku hostiteľa s veľkosťou, trvaním, indikátorom metódy a indikátorom šifrovania.",
"monitorCaption": "Dokončená záloha — karta Backups v ProxMenux Monitor. Nová záloha sa objaví v zozname archívov s indikátorom cieľovej metódy, veľkosťou, trvaním a — ak je to relevantné — ikonou zámku šifrovania."
},
"whereNext": {
"heading": "Kam ísť ďalej",
"items": [
{
"label": "Ciele",
"href": "/docs/backup-restore/destinations",
"tail": " — Detaily konfigurácie pre Local, PBS a Borg."
},
{
"label": "Plánované úlohy",
"href": "/docs/backup-restore/scheduled-jobs",
"tail": " — spúšťanie rovnakej zálohy bez obsluhy podľa plánu namiesto interaktívneho spúšťania."
},
{
"label": "Obnovenie",
"href": "/docs/backup-restore/restoring",
"tail": " — postup, ktorý používa zálohy vytvorené podľa tejto stránky."
}
]
}
}
@@ -0,0 +1,170 @@
{
"meta": {
"title": "Obnova medzi rôznymi jadrami — rozpoznanie smeru, bezpečný výber a prispôsobenie | ProxMenux",
"description": "Ako ProxMenux obnoví zálohu hostiteľa na cieľ s inou hlavnou verziou jadra. Vysvetľuje rozpoznanie smeru rozdielu, bezpečný filter vynechávajúci kritické cesty pri novšom cieľovom jadre a štvorfázové doplnenie nastavení IOMMU, ID VFIO a vlastných parametrov bez doslovného kopírovania súborov viazaných na jadro.",
"ogTitle": "ProxMenux Backup — obnova medzi verziami jadra a doplnenie nastavení",
"ogDescription": "Obnova medzi verziami jadra podľa smeru zmeny s bezpečným filtrom a doplnením nastavení nezávislým od jadra.",
"twitterTitle": "Obnova medzi rôznymi jadrami | ProxMenux",
"twitterDescription": "Ako ProxMenux spracováva obnovenie, keď sa cieľové jadro líši od zálohy."
},
"header": {
"title": "Obnova medzi kernelmi",
"description": "Ako ProxMenux zvláda obnovenie, keď cieľový hostiteľ spustí iné jadro od toho, ktoré je zaznamenané v zálohe, najmä keď cieľ spustí novšie jadro. Opisuje, ako sa rozdiel detekuje, ako sa prefiltrujú cesty kritické z hľadiska zavádzania, ktoré by mohli porušiť cieľ, a ako sa užívateľská konfigurácia znovu dodáva bez kopírovania súborov viazaných na jadro doslova.",
"section": "Záloha a obnova"
},
"intro": {
"title": "Každý skok do jadra je riadený inak",
"body": "Jadro hostiteľa Proxmox má verziu ako <code>6.17.13-2-pve</code>. Prvé dve čísla (<strong>6.17</strong>) označujú hlavnú verziu; po ich zmene nemusia byť staršie konfiguračné súbory platné. Pri odlišnej verzii jadra v zálohe a cieli sa postup vetví podľa smeru zmeny, pretože obe situácie majú odlišné riziká. Zálohy s novším jadrom než cieľ sa obnovujú bez filtra, podľa zaznamenaných testov cez viac verzií. Zálohy so starším jadrom potrebujú filter, aby staré nastavenia nebránili štartu novšieho cieľa."
},
"directionCheck": {
"heading": "Kontrola smeru",
"intro": "Počas kontroly kompatibility <code>hb_compat_check</code> porovnáva jadro zaznamenané v manifeste zálohy s aktuálnym jadrom cieľa (<code>uname -r</code>) a klasifikuje obnovenie do jedného z troch prípadov, uložené vo vnútornej premennej <code>HB_COMPAT_KERNEL_DIRECTION</code>:",
"rows": [
{
"direction": "same",
"condition": "Hlavná verzia jadra sa zhoduje medzi zálohou a cieľom.",
"behavior": "Úplné obnovenie toku beží nezmenený. Žiadny ďalší filter, žiadna hydratácia, žiadne špeciálne upozornenie v UI."
},
{
"direction": "bk_newer",
"condition": "Jadro zálohy je NOVŠIE než cieľové (napríklad záloha z jadra 7.0 a cieľ s jadrom 6.17).",
"behavior": "Úplný postup obnovy zostáva nezmenený, ako pri <code>same</code>, bez filtra. Uvedené testy overili reinštaláciu ovládačov pre cieľové jadro, nastavenie IOMMU a spustenie VM s odovzdanou GPU."
},
{
"direction": "bk_older",
"condition": "Jadro zálohy je STARŠIE než cieľové (napríklad záloha z jadra 6.17 a cieľ s jadrom 7.0).",
"behavior": "Filter bezpečnej podskupiny a štvorfázová hydratácia nižšie sú aktivované. Obnova pokračuje – cieľ reprodukuje zdroj, ale súbory kritické pri zavádzaní sa neskopírujú doslovne."
}
]
},
"whyBkNewerIsSafe": {
"heading": "Prečo záloha s novším jadrom ako cieľ obnoví nezmenený",
"body": "Pri cieli so <em>starším</em> jadrom než v zálohe používa obnova mechanizmy nezávislé od verzie jadra. Inštalátory ovládačov GPU a PCI zistia bežiace jadro cez <code>uname -r</code> a zostavia DKMS pre cieľ. APT použije binárne balíky cieľovej distribúcie. Parametre IOMMU, napríklad <code>intel_iommu=on</code>, zostávajú stabilné medzi hlavnými verziami. Podľa tohto návrhu sú zoznamy zakázaných modulov, nastavenia GRUB a initramfs zo zálohy syntakticky použiteľné aj na staršom jadre; neznáme parametre jadro ignoruje. ProxMenux preto tento smer spracúva rovnako ako obnovu s rovnakým jadrom."
},
"safeSubsetFilter": {
"heading": "Bezpečný subsetový filter (iba ak je cieľové jadro novšie)",
"intro": "Keď je cieľové jadro novšie ako záložné, kontrola kompatibility pridáva 16 ciest kritických pre štart z <code>hb_unsafe_paths_cross_version</code> do <code>RS_SKIP_PATHS</code>. Tieto cesty sú vylúčené z obnovy, pretože písanie ich verzie zo staršieho jadra nad cieľom spusteným novším spôsobilo paniku jadra pri testovaní. Trasy pokrývajú päť kategórií:",
"categoryRows": [
{
"category": "Zavádzač",
"paths": "<code>/etc/default/grub</code>, <code>/etc/kernel</code>",
"reason": "GRUB defaults viazaná na predchádzajúce poradie jadier a stav proxmox-boot-tool (cmdline, ESP UUIDs, háčiky), ktorý odkazuje na cesty a identifikátory zo staršej inštalácie."
},
{
"category": "Kernelové moduly a štartovacie artefakty",
"paths": "<code>/etc/modules-load.d</code>, <code>/etc/modprobe.d</code>, <code>/etc/initramfs-tools</code>",
"reason": "Zoznamy automaticky načítaných modulov premenovaných medzi hlavnými verziami jadra, neplatné voľby modulov a hooky initramfs napísané pre staršie jadro."
},
{
"category": "Úložný systém a identita súborového systému",
"paths": "<code>/etc/fstab</code>, <code>/etc/multipath</code>, <code>/etc/iscsi</code>, <code>/etc/udev/rules.d</code>, <code>/etc/zfs</code>",
"reason": "UUID, ktoré v tejto inštalácii nemusia existovať, viaccestné ovládače, ktoré sa menia medzi jadrami, iSCSI parametre, ktoré sa vyvíjajú, pravidlá udev, ktoré sa môžu viazať na neexistujúce podsystémy, stav ZFS (<code>zpool.cache</code> + <code>hostid</code>), ktoré môžu uzamknúť pool ako cudzie."
},
{
"category": "APT zdroje",
"paths": "<code>/etc/apt</code>",
"reason": "Vydania v zdrojoch APT môžu pri ďalšej aktualizácii spôsobiť zníženie verzií kritických balíkov."
},
{
"category": "systemd",
"paths": "<code>/etc/systemd/system</code>, <code>/etc/systemd/journald.conf</code>, <code>/etc/systemd/logind.conf</code>, <code>/etc/systemd/system.conf</code>, <code>/etc/systemd/user.conf</code>",
"reason": "Vlastné úpravy jednotiek a odkazy .wants viazané na staršiu hlavnú verziu systemd; konfiguračné kľúče, ktoré novší systemd nemusí rozpoznať."
}
],
"outroBody": "Filter beží PRED konfirmačným dialógom, takže užívateľ vidí presný zoznam ciest, ktoré budú preskočené, kategorizované z dôvodu. Obnovenie stále pokračuje všetko ostatné (konfigurácia VM/LXC, sieť, /etc/pve, užívatelia, cron, ProxMenux stav, balíčky, ovládače, /root) je obnovená normálne."
},
"hydration": {
"heading": "Kernel-agnostická hydratácia",
"intro": "Filter vynechá kritické súbory, preto doplnenie znovu použije vybrané nastavenia: parametre IOMMU, ID VFIO, vlastný <code>GRUB_TIMEOUT</code> a zoznamy blokovaných modulov nvidia. Beží pri novšom cieľovom jadre. Zlúčenie cmdline zachová kľúče cieľa a doplní chýbajúce moduly. Povolené hodnoty GRUB a používateľské súbory môžu nahradiť odlišný obsah cieľa. Opakovanie rovnakých vstupov je idempotentné.",
"phaseRows": [
{
"phase": "1a GRUB cesta",
"detail": "Pre hostiteľov s GRUB (ext4/lvm). <code>_rs_hyd_grub</code> zlúči parametre z <code>manifest.kernel_params.cmdline_extra</code> zálohy do <code>GRUB_CMDLINE_LINUX_DEFAULT</code> cieľa a preskočí existujúce kľúče. Potom obnoví povolené kľúče <code>GRUB_*</code> (<code>GRUB_TIMEOUT</code>, <code>GRUB_TIMEOUT_STYLE</code>, <code>GRUB_DEFAULT</code>, <code>GRUB_TERMINAL</code>, <code>GRUB_DISABLE_OS_PROBER</code>, <code>GRUB_SERIAL_COMMAND</code>, <code>GRUB_GFXMODE</code>, <code>GRUB_GFXPAYLOAD_LINUX</code>) zo súboru <code>/etc/default/grub</code> zálohy, ak sa ich hodnoty líšia od cieľa."
},
{
"phase": "1b — systemd-boot / ZFS",
"detail": "Pre systemd-boot (zvyčajne ZFS ako koreňový systém). <code>_rs_hyd_kernel_cmdline</code> zlúči používateľské parametre z <code>cmdline_extra</code> do cieľového <code>/etc/kernel/cmdline</code>, pričom zachová jeho vlastné parametre štartu <code>root=</code>, <code>boot=</code> a <code>rootflags=</code>."
},
{
"phase": "2 — /etc/modules zlúčenie",
"detail": "<code>_rs_hyd_modules</code> dopĺňa moduly z <code>manifest.kernel_params.modules_loaded_at_boot</code>, ktoré sú na bielom zozname (<code>vfio</code>, <code>vfio_pci</code>, <code>vfio_iommu_type1</code>, <code>vfio_virqfd</code>, <code>kvm</code>, <code>kvm_intel</code>, <code>kvm_amd</code>, <code>nvidia</code>, <code>nvidia_drm</code>, <code>nvidia_modeset</code>, <code>nvidia_uvm</code>, <code>i915</code>, <code>xe</code>) a ešte nie sú prítomné v cieľovom <code>/etc/modules</code>."
},
{
"phase": "3 — Kopírovanie povolených súborov",
"detail": "<code>_rs_hyd_files</code> skopíruje súbory vytvorené používateľom z prípravného rootfs na živý cieľ, keď sa obsah líši. Whitelist pokrýva súbory VFIO/nvidia/blacklist podľa pravidiel <code>/etc/modprobe.d</code>, <code>/etc/modules-load.d</code> a ProxMenux VFIO sa viaže na pravidlo + nvidia udev podľa pravidiel <code>/etc/udev/rules.d</code>. Distro-vlastnené súbory (<code>pve-blacklist.conf</code>, <code>mdadm.conf</code>, <code>nvme.conf</code>) sú zámerne vylúčené, pretože sa ich obsah mení medzi vydaniami."
},
{
"phase": "4 — Vynútenie obnovy po štarte",
"detail": "Štyri fázy píšu priamo na živý cieľ mimo bežného postupu obnovy. Aby zlúčené žetóny/moduly/súbory nadobudli účinnosť na ďalšom štarte, <code>HB_HYDRATION_APPLIED=1</code> sa šíri cez <code>plan.env</code> na <code>apply_pending_restore.sh</code>, čo núti <code>NEEDS_INITRAMFS=1</code> a <code>NEEDS_GRUB=1</code> bez ohľadu na to, čo bolo v zozname. Post-boot dispečer potom regeneruje initramfs a osvieži bootloader."
}
]
},
"planCommit": {
"heading": "Plánovanie a vykonanie — používateľ najprv vidí náhľad",
"body": "Doplnenie má dva režimy. Pred potvrdením ProxMenux spustí <code>_rs_apply_bk_older_hydration</code> v režime <code>plan</code>: vypočíta zmeny, naplní <code>RS_HYDRATION_SUMMARY</code> zeleným zoznamom akcií a nič nezapíše. Dialóg ho zobrazí vedľa žltého zoznamu vynechaných ciest, aby používateľ vopred poznal zmeny. Po potvrdení spustí rovnakú funkciu v režime <code>commit</code>: tie isté fázy a logika, teraz so zápisom do cieľa. Zrušenie ponechá cieľ nedotknutý."
},
"flowDiagram": {
"heading": "Tok, keď je cieľové jadro novšie ako záložné",
"intro": "Kroky pridané, keď je cieľové jadro novšie, sú v rámci normálneho toku obnovy. Všetko ostatné – horúce použitie, čakajúca príprava, inštalácia balíka, dispečer po spustení – beží identicky ako pri obnove rovnakého jadra.",
"diagram": " ┌────────────────────────────────────────────────────────────┐\n │ hb_compat_check │\n │ HB_COMPAT_KERNEL_DIRECTION = bk_older │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ Add 16 boot-critical paths to RS_SKIP_PATHS │\n │ /etc/default/grub, /etc/kernel, /etc/modules-load.d, ... │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ _rs_apply_bk_older_hydration \"plan\" │\n │ Compute what would be merged │\n │ Populate RS_HYDRATION_SUMMARY (green block) │\n │ No writes │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ Confirmation dialog │\n │ Amber: paths skipped by safe-subset filter │\n │ Green: tokens/files reapplied by hydration │\n │ User accepts or cancels │\n └───────────────────────────┬────────────────────────────────┘\n │ (accepted)\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ _rs_apply_bk_older_hydration \"commit\" │\n │ Phase 1a/1b: merge cmdline tokens + GRUB keys │\n │ Phase 2: append modules to /etc/modules │\n │ Phase 3: copy whitelisted vfio/nvidia files │\n │ Set HB_HYDRATION_APPLIED=1 │\n └───────────────────────────┬────────────────────────────────┘\n │\n ▼\n ┌────────────────────────────────────────────────────────────┐\n │ Rest of the restore runs normally │\n │ _rs_apply hot (skips RS_SKIP_PATHS) │\n │ _rs_prepare_pending_restore (writes plan.env with │\n │ HB_HYDRATION_APPLIED=1) │\n │ packages.manual.list install │\n │ Reboot │\n │ apply_pending_restore.sh (forces NEEDS_INITRAMFS=1, │\n │ NEEDS_GRUB=1 because of the hydration flag) │\n │ apply_cluster_postboot.sh │\n │ update-initramfs -u -k all │\n │ update-grub / proxmox-boot-tool refresh │\n │ component --auto-reinstall │\n └────────────────────────────────────────────────────────────┘"
},
"concreteExamples": {
"heading": "Konkrétne príklady",
"intro": "Doplnenie nastavení má pri bežných scenároch pozorovateľné výsledky. Dva príklady automaticky spracovaných prípadov:",
"rows": [
{
"scenario": "GPU priechod (VFIO)",
"detail": "Zdroj mal <code>intel_iommu=on iommu=pt</code> v cmdline, <code>vfio</code>/<code>vfio_pci</code>/<code>vfio_iommu_type1</code> v <code>/etc/modules</code>, <code>/etc/modprobe.d/vfio.conf</code> s <code>options vfio-pci ids=10de:2216</code>, a <code>/etc/modprobe.d/blacklist-nvidia.conf</code>. Hydratácia zlučuje žetóny cmdline do cieľovej GRUB alebo jadra cmdline, pridá vfio moduly do <code>/etc/modules</code>, a skopíruje dva používateľom vytvorené modprobe súbory. Pri ďalšom štarte je IOMMU aktívna, moduly VFIO sa načítajú, GPU je viazaný na vfio-pci a VM sa spustí s funkčným odovzdaním GPU."
},
{
"scenario": "Vlastné GRUB predvolené",
"detail": "Zdroj mal <code>GRUB_TIMEOUT=1</code> a <code>GRUB_DISABLE_OS_PROBER=true</code>. Hydratácia číta oba kľúče z <code>/etc/default/grub</code> zálohy, vidí, že sa líšia od čerstvých predvolených inštalácií, a prepíše tieto dva riadky v cieľovom súbore (uloženie všetko ostatné, vrátane <code>GRUB_DISTRIBUTOR</code>, nedotknuté)."
}
]
},
"callout": {
"warningTitle": "Čo sa pri novšom cieľovom jadre neobnovuje",
"warningBody": "Doplnenie obnoví iba vybrané nastavenia považované za prenosné medzi jadrami: parametre IOMMU, ID VFIO, povolené kľúče GRUB a moduly z pevného zoznamu (<code>vfio*</code>, <code>nvidia*</code>, <code>i915</code>, <code>xe</code>, <code>kvm*</code>). Ostatné položky, ako vlastné hooky initramfs v <code>/etc/initramfs-tools/hooks/</code>, nepovolené súbory v <code>/etc/modprobe.d/</code> a vlastné úpravy jednotiek systemd, zostanú vynechané. Môžu používať rozhrania jadra, rozloženie <code>/sys</code> a hooky <code>udev</code>, ktoré sa medzi hlavnými verziami menia a môžu zabrániť štartu. Na presné obnovenie štartovacieho reťazca použite rovnakú hlavnú verziu jadra ako v zálohe."
},
"codeReference": {
"heading": "Kde mechanizmy žijú",
"intro": "Pre vývojárov, ktorí chcú sledovať alebo rozšíriť správanie obnovy medzi verziami jadra:",
"rows": [
{
"component": "Smerové zistenie",
"location": "<code>hb_compat_check</code> v <code>lib_host_backup_common.sh</code>. Nastaví <code>HB_COMPAT_KERNEL_DIRECTION</code>."
},
{
"component": "Zoznam ciest bezpečného filtra",
"location": "<code>hb_unsafe_paths_cross_version</code> v <code>lib_host_backup_common.sh</code>. Vypíše <code>path\\treason</code> riadky používané ako CLI filter a webový koncový ukazovateľ <code>/api/host-backups/restore/prepare</code>."
},
{
"component": "Hydratačné fázy",
"location": "<code>_rs_hyd_grub</code>, <code>_rs_hyd_kernel_cmdline</code>, <code>_rs_hyd_modules</code>, <code>_rs_hyd_files</code> v <code>backup_host.sh</code>. Orchestrovaný <code>_rs_apply_bk_older_hydration</code>."
},
{
"component": "Vynútenie obnovy po štarte",
"location": "<code>apply_pending_restore.sh</code> prečíta <code>HB_HYDRATION_APPLIED</code> z <code>plan.env</code> a vynúti <code>NEEDS_INITRAMFS=1</code>/<code>NEEDS_GRUB=1</code>."
},
{
"component": "Webový náhľad",
"location": "<code>/api/host-backups/restore/prepare</code> v <code>flask_server.py</code>. Načíta pomocnú knižnicu, spustí <code>_rs_apply_bk_older_hydration</code> v režime plánu, vráti akcie na Web modus."
}
]
},
"whereNext": {
"heading": "Kam ísť ďalej",
"items": [
{
"label": "Obnovenie",
"href": "/docs/backup-restore/restoring",
"tail": " — úplný postup obnovy, do ktorého sa tieto mechanizmy zapájajú."
},
{
"label": "Ako to funguje",
"href": "/docs/backup-restore/how-it-works",
"tail": " — manifest a zberné funkcie vytvárajúce blok <code>kernel_params</code>, z ktorého doplnenie číta."
}
]
}
}
@@ -0,0 +1,234 @@
{
"meta": {
"title": "Cieľ Borg — typy repozitárov, overenie SSH a šifrovanie | ProxMenux",
"description": "Cieľ Borg ukladá zálohy hostiteľa ProxMenux do lokálneho úložiska, na pripojený externý disk alebo na vzdialený server cez SSH. Opisuje vyhľadanie spustiteľného súboru borg, štyri úvodné možnosti kľúča SSH, šifrovanie repokey, uloženú konfiguráciu cieľa a uchovávanie podľa plánovanej úlohy.",
"ogTitle": "ProxMenux Backup — cieľ Borg",
"ogDescription": "Ako ProxMenux ukladá zálohy hostiteľa do úložísk Borg s overením SSH a šifrovaním repokey.",
"twitterTitle": "Cieľ záloh Borg | ProxMenux",
"twitterDescription": "Lokálne úložiská Borg, úložiská na USB a dostupné cez SSH pre zálohy hostiteľa."
},
"header": {
"title": "Borg",
"description": "Cieľ Borg píše zálohy hostiteľa do úložiska Borg. Podporujú sa tri typy úložiska: cesta k lokálnemu súborovému systému, namontovaný externý disk alebo vzdialený server cez SSH. Deduplikácia po blokoch vo všetkých archívoch v úložisku a voliteľné šifrovanie repokey.",
"section": "Záloha a obnova"
},
"aboutBorg": {
"heading": "Čo je Borg?",
"body": "Borg, známy aj ako BorgBackup, je otvorený zálohovací nástroj s deduplikáciou, ktorý udržiava komunita Borg Backup. Každý archív ukladá ako bloky premenlivej dĺžky v úložisku. Bloky sa zdieľajú medzi archívmi, takže opakovaná záloha nezmenených údajov spotrebuje takmer nulové dodatočné miesto. Borg nie je viazaný na Proxmox: je to univerzálny nástroj používaný v mnohých prostrediach. ProxMenux ho používa ako jeden z troch cieľov záloh hostiteľa. Všetky tu opísané mechanizmy (typy úložísk, borg-serve cez SSH, šifrovanie repokey a prune) sú štandardným správaním Borgu."
},
"intro": {
"title": "Deduplikácia po blokoch s lokálnymi úložiskami alebo úložiskami cez SSH",
"body": "Úložisko Borg ukladá bloky zdieľané medzi všetkými svojimi archívmi. Opakovaná záloha nezmeneného súboru preto neprenáša ani neukladá nové údaje. ProxMenux používa pri zálohovaní <code>borg create</code> a pri obnove <code>borg extract</code>. Úložisko môže byť na rovnakom súborovom systéme ako zdroj, na pripojenom externom disku alebo na vzdialenom hostiteľovi cez SSH."
},
"binarySourcing": {
"heading": "Spustiteľný súbor borg",
"intro": "Borg nie je základnou závislosťou inštalátora ProxMenux. Keď beží záloha, <code>hb_ensure_borg</code> vyrieši binárny zo štyroch zdrojov v poradí a vráti prvý, ktorý funguje:",
"rows": [
{
"priority": "1",
"source": "Systém <code>borg</code>",
"detail": "Ak má hostiteľ už <code>borg</code> nainštalovaný cez APT (<code>which borg</code>), použije sa tento binárny kód."
},
{
"priority": "2",
"source": "Vyrovnávacia pamäť stavového adresára",
"detail": "<code>/usr/local/share/proxmenux/borg</code> — súbor uchovaný po predchádzajúcom stiahnutí z GitHubu na tomto hostiteľovi."
},
{
"priority": "3",
"source": "Balík AppImage Monitora",
"detail": "<code>/usr/local/share/proxmenux/monitor-app/usr/bin/borg</code> — AppImage obsahuje podpísaný borg-linux64. Táto možnosť funguje aj bez internetu: hostiteľ má stále použiteľný <code>borg</code>."
},
{
"priority": "4",
"source": "GitHub stiahnuť",
"detail": "Stiahnutie pomocou <code>wget</code> z pevne určenej URL súboru <code>borg-linux64</code> v <code>github.com/borgbackup/borg/releases/</code>, overené oproti konštante SHA-256 v <code>lib_host_backup_common.sh</code> (<code>HB_BORG_LINUX64_SHA256</code>). Pri nesúlade kontrolného súčtu sa binárny súbor odstráni a zálohovanie sa preruší. Stiahnutý súbor sa uchová v stavovom adresári, takže ďalšie zálohovania použijú postup 2."
}
]
},
"repoTypes": {
"heading": "Typy úložísk",
"intro": "Typ úložiska je vybraný pri pridaní cieľa. Každý typ rieši inú URL úložiska, ktorému Borg rozumie.",
"rows": [
{
"type": "remote",
"url": "ssh://USER@HOST/RPATH",
"detail": "Úložisko žije na vzdialenom serveri, ktorý prevádzkuje <code>borg serve</code>. Vyžaduje pripojenie SSH k tomu serveru."
},
{
"type": "usb",
"url": "/mnt/MOUNTPOINT/borgbackup",
"detail": "Repozitár žije na pripojenom externom disku (zvyčajne USB). Pripojenie je riešené pomocou <code>hb_prompt_mounted_path</code>, ktorý detekuje, pripojí alebo formáty USB partícií podľa potreby."
},
{
"type": "local",
"url": "/backup/borgbackup (any absolute path)",
"detail": "Úložisko žije v lokálnom adresári. Zmysluplné iba vtedy, keď je cieľový adresár na samostatnom fyzickom disku – úložisko na rovnakom disku ako zdroj chráni pred chybou operátora, ale nie pred zlyhaním disku."
}
]
},
"serverSetup": {
"heading": "Príprava servera Borg (strana servera)",
"intro": "Typ úložiska <code>remote</code> vyžaduje funkčný server Borg dostupný cez SSH. ProxMenux server sám nenastavuje; iba autorizuje kľúč pre existujúci účet. Táto časť opisuje požiadavky pred pripojením.",
"hostChoicesTitle": "Kde môže server žiť",
"hostChoicesBody": "Každý host Linux s prístupom SSH spĺňa požiadavky. Spoločné nastavenia:",
"hostChoicesItems": [
"Dedikovaný NAS alebo záložný box (Debian, Ubuntu, TrueNAS SCALE so shellom).",
"Kontajner LXC vnútri uzol Proxmox. Malá stopa, izolovaná od hostiteľa, ktorý riadi zálohy.",
"Ďalší hostiteľ Proxmox v rovnakej sieti LAN alebo VM kdekoľvek dosiahnuteľný cez SSH."
],
"lxcWarningTitle": "LXC ako server Borg",
"lxcWarningBody": "Ak server Borg beží v LXC, generate-auto vyžaduje pri inštalácii kľúča účet povoľujúci overenie SSH heslom. Ak nie je dostupný, použite ručnú inštaláciu kľúča alebo alternatívu generate-pct cez hostiteľa PVE.",
"requirementsTitle": "Požiadavky na server",
"requirementsRows": [
{
"requirement": "Spustiteľný súbor borg na ceste <code>/usr/bin/borg</code>",
"detail": "Riadok <code>command=\"/usr/bin/borg serve ...\"</code>, ktorý ProxMenux zapíše do <code>authorized_keys</code>, používa túto pevnú cestu. APT (<code>apt install borgbackup</code>) sem program nainštaluje. Samostatný binárny súbor musí mať symbolický odkaz na ceste <code>/usr/bin/borg</code>."
},
{
"requirement": "Dedikovaný užívateľský účet (zvyčajne <code>borg</code>)",
"detail": "Vlastní adresár úložiska a prijíma prichádzajúce SSH spojenie. Nepotrebuje sudo alebo shell prístup authorized_keys linka aj tak znemožňuje interaktívne shelly."
},
{
"requirement": "Zapisovateľný adresár úložiska",
"detail": "Cesta, ktorú operátor poskytuje ProxMenux (napríklad <code>/backup/borgbackup</code>) musí existovať na serveri a musí byť vo vlastníctve používateľa borg."
},
{
"requirement": "SSH démon akceptujúci používateľa borg",
"detail": "<code>PubkeyAuthentication yes</code> (predvolené). Overenie heslom je potrebné iba pri inštalácii kľúča cez <em>generate-auto</em>. Po nainštalovaní kľúča môže server overenie heslom úplne vypnúť."
}
],
"minimalSetupTitle": "Nastavenie minimálneho servera",
"minimalSetupBody": "Na serveri Borg so systémom Debian alebo Ubuntu tvoria základ konfigurácie štyri príkazy spustené ako root:",
"minimalSetupCmd": "apt install borgbackup\nuseradd -m -d /home/borg -s /bin/bash borg\nmkdir -p /backup/borgbackup\nchown borg:borg /backup/borgbackup",
"minimalSetupNote": "Keď je server pripravený a povoľuje overenie SSH heslom, režim <code>generate-auto</code> nainštaluje kľúč cez účet s právom zapisovať do authorized_keys používateľa borg. Ďalšie zálohy používajú tento kľúč obmedzený na <code>borg serve</code> v nastavenej ceste. Bez prihlásenia heslom ho nainštalujte ručne alebo cez hostiteľa PVE."
},
"sshAuth": {
"heading": "Overenie SSH (klientská strana)",
"intro": "Remote Borg archívy sú prístupné cez SSH. Spojenie beží od ProxMenux host na užívateľský účet na serveri Borg, ktorý beží <code>borg serve</code>. Tento užívateľ je zvyčajne pomenovaný <code>borg</code>, NIE je admin / root užívateľa servera borg-serve príkazový riadok zablokuje pripojenie k tejto konkrétnej trase úložiska (pozri nižšie kľúčové stratégie).",
"strategiesTitle": "Možnosti kľúča SSH",
"strategiesIntro": "Pri pridaní vzdialeného cieľa vyžiada ProxMenux používateľa SSH, hostiteľa, port a vzdialenú cestu a ponúkne štyri možnosti overenia. Ak je overenie heslom odmietnuté, ponúkne aj alternatívu generate-pct. Režimy sú opísané nižšie:",
"strategyRows": [
{
"mode": "generate-auto",
"label": "Odporúčané",
"detail": "ProxMenux vygeneruje alebo znovu použije pár kľúčov ed25519 na ceste <code>~/.ssh/borg_proxmenux_HOST_ed25519</code>. Pomocou <code>sshpass</code> otestuje prihlásenie a nainštaluje verejný kľúč do <code>~borg/.ssh/authorized_keys</code>. Heslo patrí účtu, ktorý môže do súboru zapisovať, zvyčajne root alebo borg. Používa sa pri nastavení a neukladá sa."
},
{
"mode": "generate-manual",
"label": "Žiadne admin heslo na tomto hostiteľovi",
"detail": "ProxMenux generuje pár kľúčov, ako je uvedené vyššie, ale zobrazuje plnú linku <code>authorized_keys</code> pre operátora na manuálne vkladanie do servera. Admin heslo nikdy neopustí ProxMenux hostiteľa, pretože to nie je nikdy žiadané."
},
{
"mode": "generate-pct",
"label": "Borg server je PVE LXC",
"detail": "Server Borg beží vo vnútri LXC na uzle PVE. ProxMenux povoľuje kľúč cez <code>pct exec</code> z PVE hostiteľa a root na hostiteľovi PVE píše do LXC's <code>~borg/.ssh/authorized_keys</code> bez potreby SSH do LXC sama o sebe."
},
{
"mode": "existing",
"label": "Použiť existujúci kľúč",
"detail": "ProxMenux skenuje <code>/root/.ssh/</code> a <code>$HOME/.ssh/</code> na analyzovateľné súkromné ​​kľúče ed25519/RSA a uvádza ich. Operátor vyberie jednu alebo manuálne prejde na neštandardnú cestu."
},
{
"mode": "none",
"label": "Štandardná konfigurácia SSH",
"detail": "Bez vlastného kľúča: Borg používa predvolenú konfiguráciu SSH hostiteľa, zvyčajne <code>~/.ssh/id_rsa</code> alebo agenta SSH."
}
],
"restrictTitle": "Čiara authorized_keys",
"restrictBody": "Pre každý vygenerovaný kľúč obmedzí riadok <code>authorized_keys</code> zapísaný na serveri použitie kľúča na toto volanie borg-serve pre nastavenú cestu úložiska:",
"restrictLine": "command=\"/usr/bin/borg serve --restrict-to-path RPATH\",restrict PUBKEY",
"restrictNote": "<code>command=</code> núti každé SSH sedenie pomocou tohto kľúča spustiť len to borg-serve príkaz; <code>restrict</code> vypne port forwarding, agent forwarding, X11 forwarding a PTY alokácie. Kľúč nemožno použiť na otvorenie interaktívneho shellu na serveri alebo na prístup k akejkoľvek inej ceste úložiska, aj keď má účet širšie práva."
},
"savedTargets": {
"heading": "Uložené ciele",
"intro": "Uložený cieľ uchová konfiguráciu úložiska pod zrozumiteľným názvom, aby údaje nebolo potrebné zadávať znova. Súbory v stavovom adresári ProxMenux:",
"rows": [
{
"file": "borg-targets.txt",
"content": "Jeden riadok pre každý cieľ: <code>NAME|REPO|SSH_KEY_PATH|ENCRYPT_MODE</code>. Funkcia <code>hb_collect_borg_configs</code> ho načíta pri zostavovaní ponuky cieľov."
},
{
"file": "borg-pass-NAME.txt",
"content": "Passfráza pre cieľ uvedený vyššie (<code>chmod 600</code>). Prítomný len vtedy, keď si operátor vybral kódovanie repokey."
}
],
"outro": "Uloženie cieľa je voliteľné. Odmietnutím sa neuloží pomenovaná konfigurácia, ale vygenerovaný kľúč SSH sa neodstráni. Ak je šifrovanie repokey zapnuté bez uloženého cieľa, ProxMenux aj tak uloží prístupovú frázu do staršieho súboru borg-pass.txt."
},
"encryption": {
"heading": "Šifrovanie",
"body": "Repozitáre sa inicializujú so zvoleným režimom šifrovania cez <code>hb_borg_init_if_needed</code>: ak je dostupný novší príkaz <code>borg repo-create -e MODE</code>, použije sa ten, inak starší <code>borg init --encryption=MODE</code>. ProxMenux ponúka dva režimy: <code>repokey</code> (predvolený) a <code>none</code>. V režime <code>repokey</code> Borg ukladá šifrovací kľúč priamo do repozitára. Prístup vyžaduje heslovú frázu, ktorú ProxMenux žiada zadať dvakrát, overí zhodu a pri uloženom cieli ju uloží do <code>borg-pass-NAME.txt</code>, inak do staršieho súboru opísaného vyššie. Po uložení sa zobrazí povinné potvrdenie: heslová fráza je jedinou cestou k zašifrovaným archívom a jej strata znemožní obnovu všetkých archívov v repozitári."
},
"runtimeEnv": {
"heading": "Runtime prostredie",
"intro": "ProxMenux exportuje nasledujúce premenné prostredia pred vyvolaním <code>borg</code>. Konfigurujú pripojenie a odomykajú úložisko bez vloženia tajomstiev do príkazového riadku.",
"rows": [
{
"var": "BORG_RSH",
"value": "ssh -i SSH_KEY_PATH -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new [-p PORT]",
"purpose": "Príkaz vzdialeného shellu pre úložiská Borg cez SSH. Vybraný kľúč pridá voľby identity. Keď sa cieľ prvýkrát pridá s neštandardným portom, ProxMenux pridá aj -p PORT; uložené ciele, plánované úlohy a Monitor namiesto toho používajú port z URL ssh://. Bez vlastného kľúča a pri novom cieli s predvoleným portom zostane premenná nenastavená a Borg používa konfiguráciu SSH hostiteľa."
},
{
"var": "BORG_PASSPHRASE",
"value": "(passfráza z borg-pass-NAME.txt)",
"purpose": "Odomkne repokey. Nastaviť iba vtedy, keď cieľ používa šifrovanie <code>repokey</code>. Nikdy sa neobjaví v zozname procesných argumentov."
},
{
"var": "BORG_ENCRYPT_MODE",
"value": "repokey | none",
"purpose": "Použité <code>hb_borg_init_if_needed</code> pri inicializácii úložiska, ktoré ešte neexistuje. Ignorované <code>borg create</code> na existujúcich archívoch."
},
{
"var": "BORG_RELOCATED_REPO_ACCESS_IS_OK",
"value": "yes",
"purpose": "Potlačí interaktívnu otázku Borgu, keď sa URL úložiska líši od pôvodnej adresy, napríklad po premenovaní bodu pripojenia alebo zmene adresy hostiteľa SSH."
},
{
"var": "BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK",
"value": "yes",
"purpose": "Potlačí interaktívnu výzvu, ktorú Borg vyvolá pri prvom prístupe k nezašifrovanému úložisku z nového klienta."
}
]
},
"archiveFormat": {
"heading": "Archive pomenovanie a uchovávanie",
"intro": "Každá záloha vytvorí nový archív vo vnútri úložiska.",
"namePattern": "hostcfg-HOSTNAME-YYYYMMDD_HHMMSS",
"retentionBody": "Pre plánované úlohy, <code>run_scheduled_backup.sh</code> beží <code>borg prune</code> proti úložisku po každom úspešnom zálohovaní s retenčnými hodnotami nastavenými na úlohu (<code>--keep-last</code>, <code>--keep-daily</code>, <code>--keep-weekly</code>). Interaktívne zálohy neprerezávajú."
},
"restoreAccess": {
"heading": "Získavanie na strane obnovy",
"body": "Obnova vypíše archívy pomocou <code>borg list REPO</code> a vybraný archív rozbalí príkazom <code>borg extract REPO::ARCHIVE-NAME</code> do prípravného adresára. Funkcia <code>_rs_check_layout</code> ho odovzdá štandardnému procesu obnovy. Rovnaké príkazy fungujú aj ručne mimo ProxMenux. Rozbalený strom má trojblokovú štruktúru opísanú v časti <em>Ako to funguje</em>."
},
"references": {
"heading": "Odkazy",
"intro": "Oficiálna dokumentácia Borg ku komponentom, ktoré ProxMenux používa.",
"items": [
{
"label": "Dokumentácia Borg",
"href": "https://borgbackup.readthedocs.io/",
"tail": " — hlavný rozcestník pre pojmy, nasadenie, rýchly začiatok a všetky príkazy."
},
{
"label": "borg create",
"href": "https://borgbackup.readthedocs.io/en/stable/usage/create.html",
"tail": " — príkaz, ktorý ProxMenux používa pri každej zálohe, so všetkými podporovanými voľbami."
},
{
"label": "Šifrovanie úložiska",
"href": "https://borgbackup.readthedocs.io/en/stable/usage/init.html#encryption-mode",
"tail": " — režimy šifrovania podporované Borgom vrátane repokey, ktorý ProxMenux používa predvolene."
},
{
"label": "borg serve a nasadenie cez SSH",
"href": "https://borgbackup.readthedocs.io/en/stable/deployment/central-backup-server.html",
"tail": " — nastavenie centrálneho servera Borg dostupného cez SSH vrátane príkazu borg-serve a voľby restrict-to-path, ktoré ProxMenux zapisuje do authorized_keys."
},
{
"label": "borg prune",
"href": "https://borgbackup.readthedocs.io/en/stable/usage/prune.html",
"tail": " — model uchovávania pre --keep-last / --keep-daily / --keep-weekly, ktorý ProxMenux uplatňuje pri každej plánovanej úlohe."
}
]
}
}
@@ -0,0 +1,110 @@
{
"meta": {
"title": "Ciele záloh — lokálny archív, Proxmox Backup Server a Borg | ProxMenux",
"description": "Tri úložné backendy prijímajú rovnaký obsah zálohy ProxMenux: lokálny archív .tar.zst na ľubovoľnom zapisovateľnom súborovom systéme, zálohu PBS v dátovom úložisku Proxmox Backup Server alebo archív Borg v lokálnom či vzdialenom repozitári Borg. Každý backend má vlastné vlastnosti kompresie, deduplikácie, šifrovania a sieťovej komunikácie.",
"ogTitle": "Ciele záloh ProxMenux",
"ogDescription": "Lokálny archív, Proxmox Backup Server a Borg — tri úložné backendy pre rovnaký obsah zálohy hostiteľa.",
"twitterTitle": "Ciele záloh ProxMenux | ProxMenux",
"twitterDescription": "Miestny archív, Proxmox Backup Server a Borg backendy pre zálohovanie hostiteľov."
},
"header": {
"title": "Ciele",
"description": "Tri úložné backendy podporované funkciou ProxMenux Backup: lokálny archív, Proxmox Backup Server (odporúčaný) a Borg. Každý prijíma rovnaký archív s tromi blokmi údajov; líšia sa formátom úložiska, deduplikáciou, modelom šifrovania a sieťovými požiadavkami.",
"section": "Záloha a obnova"
},
"intro": {
"title": "Rovnaký obsah, tri backendy",
"body": "Každá záloha vytvorí rovnaké tri bloky údajov (rootfs, manifest, aplikácie). Jednotlivé ciele sa líšia spôsobom uloženia týchto údajov a ich získania na obnovu. Každý backend je samostatná funkcia v <code>backup_host.sh</code> — <code>_bk_local</code>, <code>_bk_pbs</code>, <code>_bk_borg</code> — všetky tri však zdieľajú rovnaký krok dočasnej prípravy (<code>hb_prepare_staging</code>) a rovnakú vetvu kódu obnovy. Voľba cieľa ovplyvňuje iba zápis a získanie údajov; nemení priebeh obnovy ani spôsob použitia archívu."
},
"comparison": {
"heading": "Porovnanie funkcií",
"intro": "Nasledujúca tabuľka uvádza konkrétne rozdiely medzi tromi backendmi, ako sa správajú v ProxMenux dnes. Všetky hodnoty opisujú pozorované správanie samotného backendu, nie redakčné odporúčania.",
"rows": [
{
"feature": "Formát úložiska",
"local": "Jeden súbor <code>.tar.zst</code> (alebo <code>.tar.gz</code>, ak <code>zstd</code> chýba).",
"pbs": "Záloha PBS (bloky <code>.pxar</code> v dátovom úložisku).",
"borg": "Borg archív vnútri úložiska Borg (segment súbory)."
},
{
"feature": "Kompresia",
"local": "zstd (štandardná úroveň) cez <code>tar --zstd</code>. gzip fallback.",
"pbs": "Spravuje ju proxmox-backup-client. ProxMenux nemení nastavenia kompresie.",
"borg": "Vstavaná kompresia Borg. ProxMenux volá borg create bez zmeny nastavení kompresie."
},
{
"feature": "Deduplikácia",
"local": "Žiadne. Každá záloha je úplne nezávislý archív.",
"pbs": "Úplná deduplikácia na úrovni blokov medzi všetkými zálohami v dátovom úložisku.",
"borg": "Úplná deduplikácia na úrovni blokov medzi všetkými archívmi v repozitári."
},
{
"feature": "Šifrovanie v pokoji",
"local": "Žiadne (podliehajú ochrane súborového systému).",
"pbs": "Voliteľné šifrovanie na strane klienta pomocou súboru kľúča. Po zapnutí sa objekt obnovy odošle ako samostatná skupina záloh.",
"borg": "Voliteľné šifrovanie repokey (kľúč uložený v repo, odomknutý heslom)."
},
{
"feature": "Uchovávanie / čistenie",
"local": "Použije sa pre každú plánovanú úlohu cez <code>KEEP_LAST</code>. Staré archívy sa odstránia spolu so sprievodnými súbormi a záznamami spúšťacieho skriptu. Interaktívne zálohy nevykonávajú čistenie.",
"pbs": "Použité pre každú plánovanú úlohu cez <code>proxmox-backup-client prune --keep-last / --keep-daily / --keep-weekly</code>. Interaktívne zálohy nevykonávajú čistenie.",
"borg": "Použité pre každú plánovanú úlohu cez <code>borg prune --keep-last / --keep-daily / --keep-weekly</code>. Interaktívne zálohy nevykonávajú čistenie."
},
{
"feature": "Sieť",
"local": "Žiadne. Píše do lokálneho bodu pripojenia (obvykle interný disk alebo USB disk).",
"pbs": "TCP na server PBS (predvolený port 8007). Požaduje prihlasovacie údaje PBS + odtlačok certifikátu.",
"borg": "Lokálna cesta súborového systému alebo tunel SSH k vzdialenému Borg hostiteľovi."
},
{
"feature": "Závislosti",
"local": "<code>tar</code>, <code>zstd</code> (predvolene prítomné na Proxmoxe).",
"pbs": "Balík <code>proxmox-backup-client</code> (dodávaný s Proxmox VE 8+).",
"borg": "Binárny <code>borg</code>. Automatické poskytovanie ProxMenux z balíka Monitor AppImage v prípade, že chýba."
},
{
"feature": "Prístup potrebný na obnovu",
"local": "Akýkoľvek hostiteľ s tar+zstd môže extrahovať archív. Nie je potrebné PBS/Borg.",
"pbs": "Vyžaduje <code>proxmox-backup-client</code>, prihlasovacie údaje PBS a súbor kľúča (pri šifrovanej zálohe).",
"borg": "Vyžaduje <code>borg</code> + cestu k úložisku + heslo (ak je zašifrované)."
}
],
"captionCode": "feature",
"captionLocal": "Lokálne",
"captionPbs": "Proxmox Backup Server (odporúčané)",
"captionBorg": "Borg"
},
"sameArchive": {
"heading": "Rozloženie archívu sa nemení s destináciou",
"body": "V každom z troch cieľov sa nachádza rovnaká štruktúra <code>rootfs/</code> + <code>metadata/</code> + <code>manifest.json</code> opísaná v časti <em>Ako to funguje</em>. Rozbalenie lokálneho archívu <code>.tar.zst</code>, obnova <code>.pxar</code> z PBS aj rozbalenie archívu Borg cez <code>borg extract</code> vytvoria rovnaký adresárový strom. Vetva kódu obnovy (<code>_rs_check_layout</code>, <code>_rs_apply</code>, <code>_rs_prepare_pending_restore</code>) číta rovnaké tri bloky údajov bez potreby vedieť, z ktorého cieľa pochádzajú."
},
"extractStandalone": {
"heading": "Rozbalenie zálohy mimo ProxMenux",
"intro": "Akýkoľvek z troch formátov archívu je možné čítať pomocou štandardných nástrojov bez nainštalovaného ProxMenux na počítači. Nižšie uvedené príkazy vytvárajú rovnaký adresárový strom, ktorý obnova používa interne.",
"localCmd": "# From a local .tar.zst archive:\ntar --zstd -xf hostcfg-HOST-TIMESTAMP.tar.zst\n\n# From a .tar.gz fallback:\ntar -xzf hostcfg-HOST-TIMESTAMP.tar.gz",
"pbsCmd": "# From a PBS backup (requires proxmox-backup-client):\nproxmox-backup-client restore \\\n --repository USER@REALM@HOST:DATASTORE \\\n host/hostcfg-HOST/BACKUP-TIME \\\n hostcfg.pxar /tmp/hostcfg\n\n# Add --keyfile KEY-PATH when the backup is encrypted.",
"borgCmd": "# Z archívu Borg (vyžaduje borg a heslo pre šifrované repozitáre):\nborg extract REPO-PATH::ARCHIVE-NAME\n\n# Zo vzdialeného repozitára dostupného cez SSH:\nborg extract ssh://USER@HOST:PORT/REPO-PATH::ARCHIVE-NAME",
"note": "Rozbalený strom možno ručne skontrolovať alebo použiť na manuálnu obnovu. Presný postup získania údajov, ktorý ProxMenux používa na pozadí, opisujú stránky jednotlivých cieľov."
},
"whereNext": {
"heading": "Podrobnosti jednotlivých cieľov",
"intro": "Každá destinácia má svoju vlastnú stránku pokrývajúcu konfiguračný tok, formát on-disku a príkaz na získanie údajov použitý pri obnove.",
"items": [
{
"label": "Lokálny archív",
"href": "/docs/backup-restore/destinations/local",
"tail": " — prednastavenie lokálneho cieľa, pripojenie USB disku, ochrana pred uložením archívu do jeho vlastného zdroja a sprievodný súbor JSON, pomocou ktorého Monitor rozpozná zálohu."
},
{
"label": "Proxmox Backup Server (odporúčané)",
"href": "/docs/backup-restore/destinations/pbs",
"tail": " — výber dátového úložiska, prihlasovacie údaje a odtlačok certifikátu, životný cyklus súboru šifrovacieho kľúča, prístupová fráza na obnovu a odoslanie objektu obnovy do PBS na obnovu po čistej inštalácii."
},
{
"label": "Borg",
"href": "/docs/backup-restore/destinations/borg",
"tail": " — lokálne repozitáre a repozitáre dostupné cez SSH, zdroje binárneho súboru Borg (systém / vyrovnávacia pamäť / balík AppImage nástroja Monitor / stiahnutie z GitHubu), inicializácia repozitára, správa prístupových fráz a nastavenie kľúča SSH pre vzdialené repozitáre."
}
]
}
}
@@ -0,0 +1,75 @@
{
"meta": {
"title": "Lokálny archív — tar.zst na súborovom systéme alebo USB disku | ProxMenux",
"description": "Lokálny cieľ zálohy vytvorí jediný archív .tar.zst v ľubovoľnom zapisovateľnom adresári: na internom disku, v bode pripojenia Proxmoxu, na zdieľaní NFS alebo na USB disku. Stránka opisuje nastavenie, rozpoznanie a pripojenie USB diskov, ochranu pred uložením archívu do zálohovanej cesty a sprievodný súbor JSON, ktorý zálohu identifikuje.",
"ogTitle": "ProxMenux Backup — lokálny cieľ archívu",
"ogDescription": "Ako ProxMenux píše lokálne zálohy ako .tar.zst archívy a ako nastaviť cieľový adresár alebo USB disk.",
"twitterTitle": "Lokálny cieľ zálohy | ProxMenux",
"twitterDescription": "Ako ProxMenux píše lokálne zálohy ako .tar.zst archívy na súborovom systéme alebo USB disku."
},
"header": {
"title": "Lokálny archív",
"description": "Lokálny cieľ zapisuje jeden komprimovaný archív tar do ľubovoľného zapisovateľného adresára na hostiteľovi: na interný disk, pripojenie NFS alebo SMB či USB disk.",
"section": "Záloha a obnova"
},
"intro": {
"title": "Jeden súbor, samostatný",
"body": "Lokálna záloha vytvorí jediný súbor <code>hostcfg-HOST-TIMESTAMP.tar.zst</code> (alebo <code>.tar.gz</code>, ak <code>zstd</code> nie je dostupné). Súbor obsahuje celý strom archívu — <code>manifest.json</code>, <code>metadata/</code> a <code>rootfs/</code> — a možno ho obnoviť na ľubovoľnom hostiteľovi Proxmox postupom obnovy ProxMenux alebo ručne rozbaliť cez <code>tar --zstd -xf</code> na ľubovoľnom systéme Linux. Netreba server, inicializáciu repozitára ani externú závislosť. Ak nie sú dostupné PBS ani Borg, tento cieľ ponúka najkratšiu cestu obnovy."
},
"targetConfig": {
"heading": "Nastavenie cieľového adresára",
"intro": "Miestny cieľ je <strong>jeden trvalý cieľový adresár</strong> — nie zoznam. ProxMenux ukladá voľbu operátora na <code>/usr/local/share/proxmenux/local-target.conf</code> a číta ju pri každej zálohe. Ak nie je nakonfigurovaný žiadny cieľ, použije sa predvolený <code>HB_LOCAL_TARGET_DEFAULT = /var/lib/vz/dump</code> (rovnaký adresár, ktorý Proxmox používa pre svoje vlastné výstupy <code>vzdump</code>). Cieľ sa konfiguruje z <em>Konfigurovať ciele zálohovania → Lokálne ciele</em>:",
"options": [
"<strong>Použiť predvolené (<code>/var/lib/vz/dump</code>).</strong> Lokálne úložisko Proxmox. Prítomný pri každej inštalácii Proxmox; archív sa nachádza vedľa výstupov vzdump a automaticky ho preberá karta Zálohy monitora.",
"<strong>Zadajte vlastnú cestu.</strong> Môžete použiť akúkoľvek absolútnu cestu súborového systému: pripojenie NFS, zdieľanie SMB pripojené cez <code>fstab</code>, vyhradený súbor údajov ZFS, druhý interný disk. ProxMenux overí, že cesta existuje a je adresárom, pred jej uložením.",
"<strong>Vyberte jednotku USB.</strong> Otvorí podponuku USB (nižšie), ktorá detekuje vymeniteľné zariadenia a ponúka pripojenie alebo formátovanie."
]
},
"usbFlow": {
"heading": "Rozpoznanie a pripojenie USB disku",
"intro": "Podponuka USB uvádza oddiely na vymeniteľných zariadeniach hlásených nástrojom <code>lsblk</code>. Každý oddiel sa zobrazí s veľkosťou, menovkou súborového systému a aktuálnym stavom. Stav určuje ponúkanú akciu ProxMenux.",
"statesTitle": "Tri stavy zariadenia",
"stateRows": [
{
"state": "pripojené",
"shown": "Veľkosť · štítok · [fstype] · → /mount/point",
"action": "Oddiel je už pripojený. Jeho výber uloží aktuálny bod pripojenia ako lokálny cieľ zálohy. Žiadne nové pripojenie sa nevykoná."
},
{
"state": "odmontované",
"shown": "Veľkosť · menovka · [fstype] · (nepripojený — bude pripojený)",
"action": "Súborový systém je prítomný, ale nie je namontovaný. Po potvrdení, ProxMenux spustí <code>hb_mount_usb_partition</code>: vytvorí <code>/mnt/backup-LABEL</code> (alebo cestu založenú na UUID, ak nie je označenie), pripojí partíciu a uloží bod pripojenia ako miestny cieľ."
},
{
"state": "prázdny",
"shown": "Veľkosť · surový USB disk — bez súborového systému (bude NAFORMÁTOVANÝ)",
"action": "Zariadenie nemá súborový systém. Tento deštruktívny postup chráni dvojité potvrdenie. Najprv dialóg Áno/Nie upozorní, že operácia vymaže disk. Potom musí používateľ do vstupného poľa <strong>zadať presnú cestu zariadenia</strong> (napr. <code>/dev/sdb</code>), až následne ProxMenux vytvorí novú tabuľku GPT s oddielom ext4 a pripojí ho."
}
],
"notMountedFallback": "Ak nie je detekované žiadne USB zariadenie, podmenu spadne späť do jednoduchého vstupného poľa. Operátor môže zadať ľubovoľnú cestu k bodu pripojenia; ak cesta nie je registrovaným bodom pripojenia, dialóg s potvrdením varuje pred pokračovaním."
},
"safetyCheck": {
"heading": "Bezpečnostná kontrola - cieľ vnútri záložnej cesty",
"body": "Pred zapísaním archívu <code>_bk_local</code> overí, že cieľový adresár <strong>nie je</strong> podcestou žiadneho zálohovaného adresára. Bežnou chybou by bolo pridanie <code>/root</code> do profilu a výber <code>/root/backups</code> ako cieľ — archív by potom zahrnul sám seba, buď by vytvoril poškodený archív, alebo by rástol bez obmedzenia, kým sa disk nezaplní. Kontrola vyrieši obe cesty pomocou <code>readlink -m</code>, porovná ich a v prípade konfliktu preruší zálohovanie pomocou dialógového okna, ktoré pomenuje konfliktnú cestu a uvedie tri spôsoby, ako to vyriešiť: vybrať cieľ mimo konfliktnej cesty, odstrániť vlastnú položku, ktorá obsahuje cieľ, alebo použiť vlastný režim na zrušenie začiarknutia konfliktnej cesty pre toto spustenie."
},
"archiveFormat": {
"heading": "Formát archívu a kompresia",
"intro": "Výstupné meno súboru vloží zdrojové meno hostiteľa a záložnú časovú pečiatku tak, že adresár, v ktorom je niekoľko archívov, sa chronologicky triedi a každý súbor je sebaidentifikačný.",
"namePattern": "hostcfg-HOSTNAME-YYYYMMDD_HHMMSS.tar.zst",
"compressionTitle": "Kompresia",
"compressionBody": "Hlavný postup používa <code>tar --zstd -cf</code> — jediný príkaz komprimujúci na predvolenej úrovni zstd. Ak <code>zstd</code> v zdroji nie je dostupné (na Proxmoxe zriedkavé, ale možné pri minimálnych inštaláciách), ProxMenux použije <code>gzip</code>. V tomto náhradnom postupe sa pri dostupnom <code>pv</code> pridá ukazovateľ priebehu, takže používateľ vidí rast veľkosti archívu v reálnom čase; bez <code>pv</code> sa použije obyčajné <code>tar -czf</code> bez priebežného výpisu.",
"sourceTitle": "Čo ide do archívu",
"sourceBody": "Príkaz tar sa spustí s <code>-C \"$staging_root\" .</code>, čím archivuje <strong>celý koreň dočasného prípravného adresára</strong>: <code>rootfs/</code>, <code>metadata/</code> a <code>manifest.json</code>. Všetky tri bloky údajov ležia vedľa seba na najvyššej úrovni archívu tar. Rozbalením vznikne presne ten strom, ktorý používa kód obnovy."
},
"sidecar": {
"heading": "Sprievodný súbor JSON",
"intro": "Každá úspešná lokálna záloha produkuje sesterský súbor: <code>HOSTNAME-TIMESTAMP.tar.zst.proxmenux.json</code>, zapísaný vedľa archívu funkciou <code>hb_write_archive_sidecar</code>. Tento malý súbor JSON umožňuje ProxMenux Monitor identifikovať archív ako zálohu ProxMenux hostiteľa, aj keď je neskôr presunutý, premenovaný alebo archivovaný inde.",
"contentTitle": "Obsah sprievodného súboru",
"contentBody": "Sprievodný súbor obsahuje verziu schémy, údaj o tom, či záloha vznikla interaktívne alebo plánovanou úlohou (<code>kind</code>), ID úlohy pri plánovaných spusteniach, použitý režim profilu (<code>default</code> alebo <code>custom</code>), názov zdrojového hostiteľa, pôvodný názov súboru archívu, časovú pečiatku vytvorenia ISO-8601 a veľkosť archívu v bajtoch.",
"whyBody": "Karta Backups v Monitore prehľadáva nakonfigurované lokálne adresáre a hľadá sprievodné súbory <code>*.proxmenux.json</code>, nie súbory <code>*.tar.zst</code>, pretože <code>.tar.zst</code> bez sprievodného súboru nemusí byť zálohou ProxMenux. Hľadanie je rýchle (súbory JSON sú malé) a párovanie zostane platné aj po premenovaní archívu, ak sa zodpovedajúco premenuje aj sprievodný súbor."
},
"restoreAccess": {
"heading": "Obnova z miestneho archívu",
"body": "Postup obnovy ProxMenux nájde lokálne archívy vyhľadaním sprievodných súborov v nastavenom lokálnom cieli a zobrazí ich v zozname archívov. Výber archívu spustí <code>_rs_check_layout</code>, ktorý rozbalí archív tar do dočasného prípravného adresára a pred pokračovaním overí štruktúru troch blokov údajov. Pri ručnom rozbalení mimo ProxMenux príkaz <code>tar --zstd -xf hostcfg-HOSTNAME-TIMESTAMP.tar.zst -C /tmp/hostcfg</code> vytvorí rovnaký strom, ktorý používa kód obnovy."
}
}
@@ -0,0 +1,113 @@
{
"meta": {
"title": "Cieľ Proxmox Backup Server — repozitár, šifrovanie a obnova | ProxMenux",
"description": "Cieľ PBS ukladá zálohy hostiteľa ProxMenux ako zálohy PBS. Stránka opisuje zisťovanie úložísk z /etc/pve/storage.cfg, ručnú konfiguráciu PBS, odoslanie .pxar, šifrovanie na strane klienta so súborom kľúča a voliteľnou obnovovacou kópiou chránenou prístupovou frázou aj obnovu kľúča z viacerých zdrojov na novo nainštalovanom hostiteľovi.",
"ogTitle": "Zálohovanie ProxMenux — cieľ Proxmox Backup Server",
"ogDescription": "Ako ProxMenux ukladá zálohy hostiteľa na Proxmox Backup Server so šifrovaním súborom kľúča na strane klienta a uloženou kópiou na obnovu.",
"twitterTitle": "PBS Záložné miesto ProxMenux",
"twitterDescription": "Cieľ Proxmox Backup Server so šifrovaním súborom kľúča a obnovovacou kópiou chránenou prístupovou frázou."
},
"header": {
"title": "Proxmox Backup Server",
"description": "Cieľ PBS odosiela celý prípravný adresár ako jednu zálohu .pxar do dátového úložiska Proxmox Backup Server. Voliteľne ju šifruje na strane klienta súborom kľúča a vedľa každej zálohy môže uložiť aj obnovovaciu kópiu kľúča chránenú prístupovou frázou.",
"section": "Záloha a obnova"
},
"recommendedBadge": "Odporúčané miesto určenia",
"aboutPbs": {
"heading": "Čo je Proxmox Backup Server",
"body": "Proxmox Backup Server (PBS) je zálohovací server spoločnosti Proxmox, ktorý vyvíja a udržiava rovnaký tím ako Proxmox VE. Prijíma zálohy z hostiteľov Proxmox VE (VM, kontajnerov LXC a cez <code>proxmox-backup-client</code> aj ľubovoľných adresárov hostiteľa), podporuje deduplikáciu po blokoch, šifrovanie na strane klienta a pravidlá uchovávania na serveri. ProxMenux používa PBS ako jeden z troch cieľov záloh hostiteľa. Všetky tu opísané mechanizmy PBS (skupiny záloh, archívy <code>.pxar</code>, <code>--backup-id</code> a šifrovanie súborom kľúča) patria k štandardnému správaniu PBS."
},
"intro": {
"title": "Jedna záloha pri každom spustení, deduplikácia po blokoch",
"body": "Záloha PBS vytvorí v dátovom úložisku jednu položku pod identifikátorom <code>host/hostcfg-HOSTNAME/BACKUP-TIME</code>. Obsah tvorí archív <code>.pxar</code> s rovnakou trojblokovou štruktúrou ako v časti <em>Ako to funguje</em>. PBS deduplikuje bloky medzi všetkými zálohami v úložisku, takže ďalšie zálohy toho istého hostiteľa prenášajú a ukladajú iba zmenené bloky. Uchovávanie pri plánovaných úlohách riadi samotný ProxMenux: po každom úspešnom spustení vykoná <code>run_scheduled_backup.sh</code> príkaz <code>proxmox-backup-client prune</code> s voľbami <code>--keep-last</code> / <code>--keep-daily</code> / <code>--keep-weekly</code> podľa hodnôt nastavených v úlohe."
},
"repoSelection": {
"heading": "Výber úložiska",
"intro": "ProxMenux objavuje archív PBS z dvoch zdrojov na každej zálohe. Operátor vyberie jeden z jednotného menu; voľba určuje <code>HB_PBS_REPOSITORY</code>, <code>HB_PBS_SECRET</code> a <code>HB_PBS_FINGERPRINT</code> pre spustenie.",
"sourceRows": [
{
"source": "Proxmox storage.cfg (automaticky zistené)",
"path": "/etc/pve/storage.cfg + /etc/pve/priv/storage/NAME.pw",
"content": "Každá sekcia <code>pbs:</code> v konfigurácii úložísk Proxmoxu sa zistí automaticky. Server, dátové úložisko, používateľské meno a odtlačok certifikátu sa prevezmú z tejto sekcie. Heslo sa načíta z adresára prihlasovacích údajov Proxmoxu. V ProxMenux ho netreba zadávať znova: úložisko je dostupné hneď po konfigurácii v Proxmoxe."
},
{
"source": "ProxMenux manuálna konfigurácia",
"path": "/usr/local/share/proxmenux/pbs-manual-configs.txt + pbs-pass-NAME.txt + pbs-fingerprint-NAME.txt",
"content": "Pridáva sa cez <em>Nastaviť ciele záloh → Ciele PBS → Pridať PBS</em>. Zadáva sa názov, používateľské meno (<code>root@pam</code> alebo <code>user@pbs!token</code>), hostiteľ alebo IP adresa, dátové úložisko a heslo. Pri prázdnom hesle sa výzva zopakuje: inak by sa prázdna hodnota potichu uložila a každá ďalšia záloha by zlyhala s nejasnou chybou overenia. Táto možnosť slúži pre PBS, ktorý nie je zaregistrovaný ako úložisko Proxmoxu."
}
],
"menuTitle": "Výberové menu",
"menuBody": "Oba zdroje sú v jednej ponuke a každý riadok označuje pôvod (<code>[proxmox]</code> alebo <code>[manual]</code>). Položky bez zisteného hesla majú upozornenie <code>⚠ no password</code>; pri ich výbere treba heslo zadať pred spustením zálohy. Odtlačok sa odovzdáva nástroju <code>proxmox-backup-client</code> cez premennú prostredia <code>PBS_FINGERPRINT</code>. Ak odtlačok chýba, klient pri prvej zálohe interaktívne požiada operátora o prijatie certifikátu servera."
},
"backupCommand": {
"heading": "Záložný príkaz",
"intro": "Odoslanie používa jediné volanie <code>proxmox-backup-client backup</code>. ProxMenux pomocou <code>env</code> odovzdáva klientovi heslo, šifrovacie heslo a odtlačok ako premenné prostredia.",
"cmd": "env \\\n PBS_PASSWORD=\"$HB_PBS_SECRET\" \\\n PBS_ENCRYPTION_PASSWORD=\"$HB_PBS_ENC_PASS\" \\\n PBS_FINGERPRINT=\"$HB_PBS_FINGERPRINT\" \\\n proxmox-backup-client backup \\\n hostcfg.pxar:$staging_root \\\n --repository USER@REALM@HOST:DATASTORE \\\n --backup-type host \\\n --backup-id hostcfg-HOSTNAME \\\n --backup-time BACKUP-EPOCH \\\n [--keyfile /usr/local/share/proxmenux/pbs-key.conf]",
"backupIdTitle": "Identifikačné meno zálohy",
"backupIdBody": "Predvolený identifikátor zálohy je <code>hostcfg-HOSTNAME</code>. Pred odoslaním ho operátor potvrdí alebo upraví. Znaky mimo <code>[A-Za-z0-9_-]</code> aj pomlčky na konci sa odstránia. Opakované použitie rovnakého ID je zámerné: PBS ho chápe ako <em>skupinu</em> a každá ďalšia záloha pribudne do tejto skupiny ako nová položka so spoločnou deduplikáciou s predchádzajúcimi zálohami.",
"pxarTitle": "Prečo je zdrojom celý prípravný adresár",
"pxarBody": "Zdrojom archívu <code>.pxar</code> je celý <code>staging_root</code>: spolu <code>rootfs/</code>, <code>metadata/</code> aj <code>manifest.json</code>. Staršie verzie používali ako zdroj <code>$staging_root/rootfs</code>, takže v archíve chýbal adresár <code>metadata/</code>. Kontrola kompatibility pri obnove nemala čo čítať a zobrazovala upozornenia na iného hostiteľa aj pri obnove na pôvodnom hostiteľovi. Staré zálohy obsahujúce iba rootfs sa stále obnovujú správne pomocou tretej vetvy <code>_rs_check_layout</code>, ktorá plochý strom <code>etc/var/root/usr</code> zabalí do hierarchie <code>rootfs/</code>."
},
"encryption": {
"heading": "Šifrovanie na strane klienta",
"glossaryHint": "Táto časť používa pojmy <em>súbor kľúča</em>, <em>prístupová fráza</em> a <em>obnovovacia obálka</em>. <glosarioLink>Slovník pojmov</glosarioLink> vysvetľuje ich rozdiely jednou vetou pre každý pojem.",
"intro": "Šifrovanie PBS na strane klienta šifruje bloky súborom kľúča na zdrojovom hostiteľovi ešte pred odoslaním. V ProxMenux je voliteľné. Ak sa zapne, operátor pri nastavení výslovne zvolí áno alebo nie, či sa má na PBS uložiť aj obnovovacia kópia súboru kľúča chránená prístupovou frázou. Voľbu môže neskôr zmeniť v Monitore. Súbor kľúča je vždy na kanonickej ceste <code>/usr/local/share/proxmenux/pbs-key.conf</code> a pri každej ďalšej šifrovanej zálohe sa použije bez ďalších otázok.",
"keyfileTitle": "Nastavenie súboru kľúčov",
"keyfileBody": "Dialóg šifrovania sa zobrazí pri prvej šifrovanej zálohe hostiteľa. Najprv sa opýta, či sa má záloha šifrovať: <em>Nie</em> pokračuje bez šifrovania, <em>Áno</em> prejde na druhý krok. Ten závisí od toho, či je na ceste <code>/usr/local/share/proxmenux/pbs-key.conf</code> už nainštalovaný súbor kľúča. Ak áno, použije sa bez otázok a zálohovanie pokračuje; ani pri ďalších zálohách sa otázka neopakuje. Ak nie, ponuka poskytne dve možnosti. <em>Vygenerovať nový súbor kľúča</em> spustí <code>proxmox-backup-client key create --kdf none</code>. <em>Použiť existujúci súbor kľúča</em> automaticky zistí kľúč spravovaný PVE: ak je vybrané úložisko PBS v Proxmoxe zaregistrované so šifrovacím kľúčom na ceste <code>/etc/pve/priv/storage/&lt;NAME&gt;.enc</code>, súbor sa bez otázok skopíruje na kanonickú cestu ProxMenux. Ak sa nenájde zodpovedajúci kľúč PVE, dialóg vyžiada absolútnu cestu, kam operátor už súbor kľúča na hostiteľovi umiestnil. V oboch prípadoch sa uloží na kanonickú cestu s <code>chmod 600</code>.",
"modesTitle": "Súbor kľúča pre každý hostiteľ alebo spoločný súbor",
"modesIntro": "Oba modely sú podporované a ani jeden nie je povinný. Operátor si vyberie podľa organizácie svojich hostiteľov.",
"modesPerHostTitle": "Vlastný súbor kľúča pre každý hostiteľ (predvolené)",
"modesPerHostBody": "Každý hostiteľ generuje svoj vlastný súbor kľúčov prvýkrát, čo umožňuje šifrovanie PBS. Izolácia je maximálna: ohrozenie súboru kľúčov jedného hostiteľa nevystavuje zálohy žiadneho iného hostiteľa. Odporúčané pre produkčné prostredia a pre prostredia, v ktorých majú hostitelia rôznych vlastníkov alebo hranice súladu.",
"modesSharedTitle": "Zdieľaný súbor kľúča (import na každom hostiteľovi)",
"modesSharedBody": "Jeden súbor hlavného kľúča vygenerovaný raz a nainštalovaný na každom hostiteľovi pomocou možnosti <em>Použiť existujúci súbor kľúča</em>. Správa je jednoduchšia: jediné tajomstvo na ochranu a ktorýkoľvek hostiteľ môže dešifrovať archívy akéhokoľvek iného (užitočné na konsolidáciu, nácvik obnovy medzi hostiteľmi alebo centralizované overenie zálohy). Kompromisom je, že únik zdieľaného súboru kľúča odhalí každého hostiteľa naraz. Odporúča sa pre domáce laboratóriá a pre flotily, kde majú všetci hostitelia rovnakého vlastníka a hranice dôvery.",
"recoveryTitle": "Odoslanie kľúča na PBS — rozhoduje operátor",
"recoveryBody": "Hneď po výbere súboru kľúča položí ProxMenux výslovnú otázku <em>Odoslať kľúč na PBS?</em> s dvoma odpoveďami. <strong>Kým operátor nezvolí Áno, na PBS sa neodošle žiadny obnovovací artefakt.</strong> Predvolená voľba je <em>Nie, ponechať iba lokálne</em>: kľúč zostane na kanonickej miestnej ceste, ProxMenux neodosiela na PBS žiadne obnovovacie artefakty a externú kópiu zabezpečí operátor. Tlačidlo <em>Stiahnuť súbor kľúča</em> v riadku cieľa PBS v Monitore ju poskytne na požiadanie. Voľba <em>Áno, odoslať</em> vyžiada dvakrát prístupovú frázu na obnovu a overí zhodu. ProxMenux ňou zašifruje súbor kľúča pomocou AES-256-CBC a PBKDF2 (600 000 iterácií, náhodná soľ) a vytvorí <code>pbs-key.recovery.enc</code>. Každá ďalšia šifrovaná záloha odošle túto obálku na PBS ako priradenú skupinu záloh. Pri týchto odoslaniach sa na PBS neposiela prístupová fráza ani súbor kľúča v otvorenom tvare. Voľbu možno kedykoľvek zmeniť v Monitore: ovládací prvok v riadku PBS prepína Áno/Nie a okamžite použije Spustiť odosielanie, Zastaviť odosielanie alebo Aktualizovať prístupovú frázu podľa aktuálneho stavu.",
"blobUploadTitle": "Párovaná záložná skupina na PBS",
"blobUploadBody1": "Keď je režim úschovy <em>Áno, nahrať</em>, ProxMenux odošle obálku na obnovenie do PBS po každej zašifrovanej zálohe ako druhá, spárovaná skupina záloh s rovnakým názvom ako hostiteľská skupina, ale končiaca na <code>-keyrecovery</code>. Tieto dve skupiny sedia vedľa seba v zozname dátového skladu – jedna pre zálohy hostiteľa, druhá pre obálky na obnovenie. <strong>Obálka nikdy neopustí hostiteľa v obyčajnom texte</strong>: šifrovanie prebieha na samotnom hostiteľovi pomocou AES-256-CBC a PBKDF2 predtým, ako prejdú akékoľvek bajty na drôt (<code>openssl enc -aes-256-cbc -pbkdf2 -iter 600000 -salt</code>). PBS prijíma iba už zašifrovanú obálku.",
"envelopeSecurityTitle": "Predstavuje odoslanie obnovovacieho súboru na PBS bezpečnostné riziko?",
"envelopeSecurityBody": "Obnovovací súbor je šifrovaný pri prenose aj pri uložení. Prístupová fráza na obnovu neopúšťa hostiteľa: šifrovanie prebehne lokálne pred odoslaním a PBS dostane iba zašifrovaný výsledok. Správca PBS alebo ktokoľvek s prístupom k dátovému úložisku môže obnovovací súbor stiahnuť, ale bez prístupovej frázy nedokáže prečítať súbor kľúča vnútri; ide o nečitateľný šifrovaný text. Na získanie súboru kľúča treba obe časti súčasne: obnovovací súbor aj prístupovú frázu. Obe má iba operátor.",
"blobUploadConstraintTitle": "Prečo dve skupiny namiesto jedného zašifrovaného",
"blobUploadConstraintBody": "Jediné volanie <code>proxmox-backup-client backup</code> zašifruje všetky svoje archívy rovnakým súborom kľúča alebo nezašifruje žiadny; kombinácia nie je možná. Záloha hostiteľa sa musí zašifrovať jeho kľúčom, ale obnovovacia obálka sa nesmie odoslať v tom istom volaní. Bola by zašifrovaná práve kľúčom, ktorý obsahuje. Na novo nainštalovanom hostiteľovi by ju nebolo možné otvoriť: na dešifrovanie kľúča by bol potrebný ten istý kľúč. Preto sa oba artefakty odosielajú nezávisle a zobrazujú sa ako dve skupiny. Klient PBS šifruje zálohu hostiteľa súborom kľúča a ProxMenux pred odoslaním šifruje obnovovaciu obálku prístupovou frázou. Dve odlišné šifrovacie vrstvy chránia dva odlišné objekty.",
"blobUploadImageAlt": "Rozhranie PBS zobrazuje skupiny záloh hostcfg-HOSTNAME a hostcfg-HOSTNAME-keyrecovery vedľa seba v zozname dátového úložiska.",
"blobUploadImageCaption": "Rozhranie PBS — priradené skupiny záloh. Hlavná skupina obsahuje zálohy hostiteľa; skupina -keyrecovery obsahuje súbor kľúča chránený prístupovou frázou.",
"recoverTitle": "Obnovenie nového hostiteľa",
"recoverBody": "Ak miestny súbor kľúča chýba na kanonickej ceste, napríklad po preinštalovaní hostiteľa alebo úmyselnom odstránení, obnova vyskúša tri zdroje v poradí a skončí pri prvom použiteľnom kľúči. Najprv sa bez otázok skopíruje zodpovedajúci kľúč spravovaný PVE z <code>/etc/pve/priv/storage/&lt;NAME&gt;.enc</code> na kanonickú cestu, ak existuje pre vybrané úložisko PBS. Ak je na PBS dostupná skupina <code>-keyrecovery</code>, druhý krok stiahne jej najnovšiu snímku a vyžiada prístupovú frázu na dešifrovanie. Ak ani jedna možnosť nefunguje alebo ich operátor odmietne, tretí krok vyžiada absolútnu cestu k súboru kľúča na tomto hostiteľovi a skopíruje ho na kanonickú cestu. Monitor poskytuje rovnaký import v okne podrobností zálohy. Ak Obnoviť, Stiahnuť alebo Zobraziť obsah potrebuje chýbajúci kľúč, hore sa zobrazí jantárový panel. Ak je kľúč nainštalovaný, ale nezodpovedá šifrovaniu zálohy, PBS vráti chybu <code>wrong key — manifest's key XX does not match provided key YY</code>. Rovnaké tri akcie potom zobrazia štruktúrovaný panel so zvýrazneným odtlačkom kľúča požadovaným manifestom, aby operátor vedel, ktorý kľúč má pre túto zálohu importovať.",
"monitorManagementTitle": "Správa súboru kľúčov z monitora",
"monitorManagementBody": "Monitor zobrazuje ovládanie súboru kľúča priamo v každom riadku cieľa PBS na stránke konfigurácie záloh. Sú tam tri akcie: <em>Stiahnuť</em> exportuje aktuálny súbor do prehliadača operátora; <em>Nahrať</em> nahradí nainštalovaný súbor dodaným súborom, pričom pôvodný prepíše až po úspešnom uložení nového na kanonickú cestu; <em>Odstrániť</em> zmaže súbor z hostiteľa. Vedľa je ovládanie obnovovacej kópie: výber Áno/Nie pre <em>Odoslať kľúč na PBS?</em>, pole prístupovej frázy pri voľbe Áno a kontextové tlačidlo na použitie voľby <em>Spustiť odosielanie</em>, <em>Zastaviť odosielanie</em> alebo <em>Aktualizovať prístupovú frázu</em>. Všetky akcie používajú rovnaké koncové body Flask ako terminálové rozhranie, takže účinok na disku a stav na PBS sú z oboch rozhraní rovnaké."
},
"restoreAccess": {
"heading": "Získavanie na strane obnovy",
"body": "Obnova zisťuje zálohy hostiteľa ProxMenux na PBS zoznamom skupín v nakonfigurovanom úložisku a filtrovaním podľa vzoru identifikátora zálohy. Karta Zálohy v Monitore zobrazuje rovnaký zoznam. Výber zálohy spustí <code>proxmox-backup-client restore</code> s rovnakým úložiskom, heslom a odtlačkom, prípadne aj s <code>--keyfile</code>, ak bola záloha šifrovaná. Archív <code>.pxar</code> sa rozbalí do prípravného adresára, ktorý <code>_rs_check_layout</code> odovzdá štandardnému procesu obnovy. Pri ručnom získaní mimo ProxMenux rozbalí ten istý príkaz archív na ľubovoľnú cestu; výsledný strom možno skontrolovať alebo použiť pri ručnej obnove."
},
"references": {
"heading": "Odkazy",
"intro": "Oficiálna dokumentácia Proxmox Backup Server ku komponentom, ktoré ProxMenux používa.",
"items": [
{
"label": "Dokumentácia Proxmox Backup Server",
"href": "https://pbs.proxmox.com/docs/",
"tail": " — hlavný rozcestník pre inštaláciu, správu, úložiská, používateľov a roly."
},
{
"label": "proxmox-backup-client",
"href": "https://pbs.proxmox.com/docs/backup-client.html",
"tail": " — nástroj príkazového riadka, ktorý ProxMenux používa pri každej zálohe a obnove. Opisuje identifikátory a typy záloh, archívy, syntax úložísk a premenné prostredia."
},
{
"label": "Šifrovanie na strane klienta",
"href": "https://pbs.proxmox.com/docs/backup-client.html#encryption",
"tail": " — vytvorenie súboru kľúča, režimy --kdf a model šifrovania, ktorý ProxMenux rozširuje o obnovovaciu kópiu chránenú prístupovou frázou."
},
{
"label": "Správa dátových úložísk",
"href": "https://pbs.proxmox.com/docs/storage.html",
"tail": "— vytváranie a správa dátových úložísk, ktoré prijímajú zálohy hostiteľa, vrátane rozloženia chunk-store a povolení."
},
{
"label": "Prerezávanie a zber odpadu",
"href": "https://pbs.proxmox.com/docs/maintenance.html#pruning",
"tail": " — model uchovávania pre --keep-last / --keep-daily / --keep-weekly, ktorý ProxMenux uplatňuje pre každú plánovanú úlohu, aj spôsob, akým PBS uvoľňuje nepoužívané bloky po odstránení starých záloh."
}
]
}
}
@@ -0,0 +1,230 @@
{
"meta": {
"title": "Slovník — zálohovanie a obnova | ProxMenux",
"description": "Slovník systému zálohovania a obnovy ProxMenux: šifrovanie, súbor kľúčov, prístupová fráza, obálka obnovy, PBS, bloky, rootfs, manifest, vykonávací proces a doplnenie medzi verziami jadra.",
"ogTitle": "Slovník zálohovania a obnovy | ProxMenux",
"ogDescription": "Jasné definície slovnej zásoby použitej cez zálohovanie a obnovenie dokumentácie ProxMenux.",
"twitterTitle": "Slovník zálohovania a obnovy | ProxMenux",
"twitterDescription": "Prístupová fráza, súbor kľúčov, obálka obnovy, rootfs, manifest, PBS a bloky — všetko vysvetlené na jednom mieste."
},
"header": {
"title": "Slovník pojmov",
"description": "Pojmy z dokumentácie zálohovania a obnovy spolu s definíciami.",
"section": "Záloha a obnova"
},
"intro": {
"body": "Pojmy sú zoskupené podľa témy. Každý záznam dáva termín a krátku definíciu."
},
"groups": [
{
"title": "Šifrovanie a obnovenie kľúča",
"intro": "Slovník pre šifrovací blok PBS. Zahŕňa dve odlišné tajomstvá: binárny súbor kľúčov a písomné heslo.",
"entries": [
{
"id": "passphrase-recuperacion",
"term": "Prístupová fráza na obnovu",
"def": "Textové heslo, ktoré užívateľ vyberá na ochranu obálky <a href=\"#sobre-recuperacion\">obnovenie </a>. Vyžaduje sa dvakrát s kontrolou zhody a používa sa len na šifrovanie obálky a dešifrovanie súboru, ak je niekedy potrebné obnoviť súbor kľúčov. <strong>Nie je to heslo, ktoré odomkne samotný súbor kľúčov </strong> a nikdy sa nepošle PBS. Počas normálnej zálohy nikdy neopustí hostiteľa."
},
{
"id": "clave-cifrado",
"term": "Súbor kľúčov (šifrovací kľúč)",
"def": "Súbor kľúča používaný proxmox-backup-client na šifrovanie <a href=\"#chunk\">blokov</a> pred odoslaním do PBS. Bez príslušného kľúča sa šifrované dáta nedajú čítať. ProxMenux ho uloží do <code>/usr/local/share/proxmenux/pbs-key.conf</code> s režimom <code>600</code>. Chráňte ho; <a href=\"#sobre-recuperacion\">obálka obnovy</a> slúži na jeho získanie pri strate."
},
{
"id": "contrasena-keyfile",
"term": "Heslo súboru kľúčov (KDF heslo)",
"def": "Voliteľné heslo, ktoré môže byť prenášané samotným súborom kľúčov, odlišné od <a href=\"#passphrase-recuperacion\">prístupovej frázy na obnovu</a>. Existuje len vtedy, keď bol súbor s kľúčom vytvorený <code>--kdf scrypt</code> (zvyčajne importovaný súbor kľúčov). Bez neho nie je možné súbor kľúčov odomknúť pre použitie. ProxMenux pretrváva v zašifrovanej forme na hostiteľa, takže plánované zálohy môžu bežať bez interaktívneho promptu."
},
{
"id": "sobre-recuperacion",
"term": "Obálka obnovy",
"def": "Súbor <a href=\"#clave-cifrado\">súbor kľúčov</a> zabalený do ďalšej vrstvy: je zašifrovaný <a href=\"#passphrase-recuperacion\">prístupovou frázou na obnovu</a> použitie <a href=\"#aes-256-cbc\">AES-256-CBC</a> a <a href=\"#pbkdf2\">PBKDF2</a> predtým, než opustí hostiteľa. Nahrá sa do PBS ako <code>-keyrecovery</code> skupina. Bez passfrázy je obálka nepriehľadná: sťahovanie z PBS neodhaľuje súbor kľúčov."
},
{
"id": "cifrado-cliente",
"term": "Šifrovanie na strane klienta",
"def": "Model šifrovania, pri ktorom sa dáta zašifrujú na zdrojovom hostiteľovi pred odoslaním. PBS prijíma a ukladá iba šifrované dáta; bez súboru kľúča ich neprečíta ani správca PBS s prístupom k dátovému úložisku. ProxMenux na tomto modeli stavia a pridáva <a href=\"#sobre-recuperacion\">obálku obnovy</a>."
},
{
"id": "kdf-none",
"term": "--kdf none",
"def": "Možnosť <code>proxmox-backup-client key create</code>, ktorá vytvára súbor kľúčov bez pripojenej pasovej frázy. Súbor kľúčov možno použiť priamo bez promptu, ktorý je nevyhnutný pre plánované pracovné miesta bez dozoru. Toto ProxMenux používa štandardne pri generovaní nového súboru kľúčov."
},
{
"id": "kdf-scrypt",
"term": "--kdf scrypt",
"def": "Možnosť <code>proxmox-backup-client key create</code>, ktorá vytvára súbor kľúčov chránený pomocou <a href=\"#contrasena-keyfile\">prístupovej frázy súboru kľúča</a>. Každé použitie súboru kľúčov si vyžaduje odomknutie s touto passfrázou. ProxMenux akceptuje tento štýl súboru kľúčov pri importe a ukladá heslo šifrované, takže plánované zálohy môžu spustiť bez dozoru."
},
{
"id": "aes-256-cbc",
"term": "AES-256-CBC",
"def": "Štandardné symetrické šifrovanie. ProxMenux ju používa (prostredníctvom <code>openssl enc -aes-256-cbc</code>) na zabalenie <a href=\"#clave-cifrado\">súboru kľúča</a> s <a href=\"#passphrase-recuperacion\"> prístupovou frázou na obnovu</a> a výrobu <a href=\"#sobre-recuperacion\">obálky</a>."
},
{
"id": "pbkdf2",
"term": "PBKDF2",
"def": "Kryptografická funkcia, ktorá z prístupovej frázy zadanej človekom odvodí binárny šifrovací kľúč. Mnohými iteráciami spomaľuje útoky hrubou silou. Pri šifrovaní obálky obnovy ju ProxMenux používa so 600 000 iteráciami a náhodnou soľou."
}
]
},
{
"title": "Štruktúra zálohy",
"intro": "Pojmy popisujúce, čo žije v zálohe, bez ohľadu na cieľ.",
"entries": [
{
"id": "rootfs",
"term": "rootfs / koreňový súborový systém",
"def": "Súborová kópia systému zdrojového hostiteľa vytvorená pomocou <code>rsync</code> podľa <a href=\"#perfil-defecto\">predvoleného profilu</a> a <a href=\"#rutas-personalizadas\">vlastných ciest</a>. Nie je to obraz celého disku: kopírujú sa iba cesty s konfiguráciou alebo stavom, ktoré Proxmox nedokáže sám obnoviť."
},
{
"id": "manifiesto",
"term": "Manifest (manifest.json)",
"def": "Štruktúrovaný dokument JSON opisujúci zdrojový hostiteľ v čase zálohovania: hardvér, úložisko, jadro, ProxMenux-inštalované komponenty a inventár VM a LXC. Vyrába ho šesť nezávislých zberateľov. Obnoviteľný tok ho využíva na porovnanie zdroja a cieľa."
},
{
"id": "staging",
"term": "Staging adresár",
"def": "Dočasný adresár, kde ProxMenux zhromažďuje tri bloky (rootfs, metaúdaje a manifest) pred ich zabalením a nahrávanie do cieľa. Po dokončení zálohy sa automaticky odstráni, a to aj po prerušení."
},
{
"id": "perfil-defecto",
"term": "Predvolený profil",
"def": "Vybraná sada ciest, ktoré ProxMenux predvolene kopíruje v každej zálohe. Zahŕňa konfiguráciu PVE, sieť, SSH, jadro, apt, nástroje ProxMenux a ďalšie. Je definovaná v kóde a opísaná na stránke <em>Ako to funguje</em>."
},
{
"id": "rutas-personalizadas",
"term": "Vlastné cesty",
"def": "Extra cesty, ktoré užívateľ pridáva na vrchol <a href=\"#perfil-defecto\">predvoleného profilu</a>. Buď perzistentné (uložené v <code>backup-extra-paths.txt</code>) alebo iba pre dané spustenie (vybrané vo vlastnom režime)."
}
]
},
{
"title": "Miesta určenia a skladovanie",
"intro": "Pojmy súvisiace s cieľom zálohy — server PBS, lokálny archív alebo repozitár Borg — a usporiadaním dát v PBS.",
"entries": [
{
"id": "repositorio-pbs",
"term": "PBS repozitár",
"def": "Kombinácia Proxmox Backup Server + <a href=\"#datastore\">úložisko údajov</a> + používateľ, ktorý prijíma zálohu. Identifikované podľa reťazca <code>user@realm@host:datastore</code>. Jeden PBS server môže hostiť niekoľko úložísk."
},
{
"id": "datastore",
"term": "Dátové úložisko",
"def": "Konkrétne dátové úložisko na serveri PBS so zálohami a ich blokmi. Každé je na súborovom systéme servera PBS a má vlastné oprávnenia a pravidlá."
},
{
"id": "chunk",
"term": "Chunk / chunk deduplikácia",
"def": "PBS rozdelí zálohu na bloky premenlivej veľkosti, každý identifikuje hashom a uloží ho iba raz, aj keď sa vyskytuje vo viacerých zálohách. Následné zálohy rovnakého alebo podobných hostiteľov tak vyžadujú málo ďalšieho miesta."
},
{
"id": "fingerprint",
"term": "Odtlačok prsta",
"def": "Kryptografický odtlačok certifikátu PBS servera TLS. Umožňuje klientovi overiť, či sa rozpráva s plánovaným serverom bez toho, aby sa spoliehal na verejný certifikačný orgán. ProxMenux ho prenáša na <code>proxmox-backup-client</code> prostredníctvom premennej prostredia <code>PBS_FINGERPRINT</code>."
},
{
"id": "grupo-copia",
"term": "Skupina zálohy",
"def": "Logická skupina v PBS pre postupné zálohy toho istého zdroja. Nové zálohy využívajú deduplikáciu s predchádzajúcimi. Pri zapnutom šifrovaní používa ProxMenux dve skupiny na hostiteľa: jednu pre jeho zálohu a druhú s príponou <code>-keyrecovery</code> pre <a href=\"#sobre-recuperacion\">obálku obnovy</a>."
},
{
"id": "backup-id",
"term": "ID zálohy",
"def": "Názov skupiny <a href=\"#grupo-copia\">backup</a>. ProxMenux predvolený <code>hostcfg-HOSTNAME</code> a umožňuje užívateľovi upraviť pred nahrávaním; nepodporované znaky sú automaticky odstránené."
},
{
"id": "pxar",
"term": ".pxar",
"def": "PBS-native archív formát pre adresáre. Správa sa ako archív tar optimalizovaný pre deduplikáciu kúskov: PBS namiesto ukladania nepriehľadného súboru rozbije svoj obsah na opakovane použiteľné kúsky."
}
]
},
{
"title": "Vykonávanie a plánovanie",
"intro": "Pojmy systému plánovaných úloh ProxMenux.",
"entries": [
{
"id": "runner",
"term": "Vykonávací proces",
"def": "Skript <code>run_scheduled_backup.sh</code> vykonávajúci plánovanú zálohu. Prečíta konfiguráciu úlohy, spustí príslušný backend (Local, PBS alebo Borg), po úspechu uplatní pravidlá uchovávania a odošle nastavené oznámenia."
},
{
"id": "trabajo-programado",
"term": "Plánovaná úloha",
"def": "Pretrvávajúca konfigurácia opakovaného zálohovania. Drží cieľ, poverovacie listiny, šifrovanie, harmonogram a uchovávanie. Žije na <code>/var/lib/proxmenux/backup-jobs/&lt;id&gt;.env</code>."
},
{
"id": "modo-adjunto",
"term": "Pripojený režim",
"def": "Úloha bez vlastného časovača. Hook job-end PVE <code>vzdump</code> ju spustí po zálohách hostí pri zhodnom úložisku. Vybraná nadradená úloha poskytne cieľ a uchovávanie, ktoré sa pri každom spustení znova načíta z nadradenej úlohy, ale hook porovnáva úložisko, nie ID nadradenej úlohy. Spustiť ju môže aj iná úloha s tým istým úložiskom. Iba Local a PBS."
},
{
"id": "timer-systemd",
"term": "Časovač Systemd",
"def": "Štandardný mechanizmus systemd, ktorý spúšťa príkaz podľa kalendára. ProxMenux vytvára časovač pre každú <em>nezávislú</em> plánovanú úlohu. Úlohy v <a href=\"#modo-adjunto\">pripojenom režime</a> časovač nemajú; spúšťa ich hook PVE."
},
{
"id": "retencion",
"term": "Uchovávanie (keep-last, keep-daily…)",
"def": "Politika, ktorá rozhodne, ktoré staršie zálohy udržať a ktoré prerezávať. Definované podľa úloh s parametrami ako <code>keep-last</code>, <code>keep-daily</code>, <code>keep-weekly</code>, <code>keep-monthly</code>. Aplikuje vykonávací proces po každej úspešnej zálohe."
}
]
},
{
"title": "Obnoviť",
"intro": "Pojmy z postupu obnovy.",
"entries": [
{
"id": "restauracion-universal",
"term": "Všeobecná obnova",
"def": "Tok obnovy ProxMenux neextrahuje iba súborový systém: prečíta manifest, aby zistil rozdiely medzi zdrojom a cieľom, reprodukuje konfiguráciu systému a znova spustí inštalačné programy pre komponenty spravované ProxMenux. Cieľom je reprodukovať hostiteľa zdroja, nielen archív."
},
{
"id": "hidratacion",
"term": "Hydratácia (cross-kernel)",
"def": "Krok obnovy, ktorý zlúči používateľské nastavenia zo zdroja (parametre IOMMU, ID zariadení VFIO, vlastné úpravy a kľúče GRUB) s novou konfiguráciou štartu cieľa bez doslovného kopírovania súborov viazaných na zdrojové jadro. Beží, ak je jadro cieľa novšie než v zálohe."
},
{
"id": "cross-kernel",
"term": "Obnova medzi kernelmi",
"def": "Obnovte tam, kde sa jadro cieľa líši od jadra zdroja (zvyčajne je novšie). Vyžaduje sa prechod <a href=\"#hidratacion\">hydratácia</a>, aby sa predišlo presúvaniu súborov nekompatibilných s jadrom cieľa."
},
{
"id": "instalador-postboot",
"term": "Inštalátor post-boot",
"def": "Komponenty reinštalované po prvom štarte obnoveného hostiteľa (ovládače NVIDIA, ovládače Coral TPU, nástroje AMD GPU, nástroje Intel GPU). Každý inštalátor beží proti jadru cieľa, takže obnovený hostiteľ nezávisí od prítomnosti jadra zdroja."
},
{
"id": "compatibility-check",
"term": "Kontrola kompatibility",
"def": "Porovnanie medzi zdrojovým manifestom a cieľovým stavom, ktorý ProxMenux vykonáva na začiatku obnovy. Rozhoduje, ktoré časti sú skopírované doslovne, ktoré potrebujú hydratáciu a ktoré sú znovu vytvorené inštalátorom."
},
{
"id": "equipo-recien-instalado",
"term": "Čerstvá inštalácia",
"def": "Hostiteľ preinštalovaný od nuly bez lokálneho <a href=\"#clave-cifrado\">súboru kľúča</a>. Obnova šifrovanej zálohy vyžaduje najprv získať kľúč z <a href=\"#sobre-recuperacion\">obálky</a> uloženej v PBS pomocou <a href=\"#passphrase-recuperacion\">prístupovej frázy na obnovu</a>."
}
]
}
],
"whereNext": {
"heading": "Kde ďalej",
"items": [
{
"label": "Ako to funguje",
"href": "/docs/backup-restore/how-it-works",
"tail": " — kde sa v zálohe nachádza rootfs, manifest a inventár aplikácií."
},
{
"label": "Cieľ Proxmox Backup Server",
"href": "/docs/backup-restore/destinations/pbs",
"tail": "— kde sú do hĺbky zdokumentované šifrovanie na strane klienta, súbor kľúčov, prístupová fráza na obnovenie a obálka."
},
{
"label": "Obnovenie",
"href": "/docs/backup-restore/restoring",
"tail": " — postup obnovy a použitie manifestu."
}
]
}
}
@@ -0,0 +1,205 @@
{
"meta": {
"title": "Ako ProxMenux Backup funguje interne — rootfs, manifest a aplikácie",
"description": "Podrobný obsah zálohy ProxMenux: rootfs skopírovaný pomocou rsync podľa predvoleného profilu ciest, štruktúrovaný manifest vytvorený šiestimi nezávislými zbernými skriptmi a inventár aplikácií, ktorý riadi automatickú reinštaláciu balíkov a komponentov po obnove.",
"ogTitle": "Ako ProxMenux Backup funguje interne",
"ogDescription": "Tri časti zálohy ProxMenux: rootfs, manifest a aplikácie.",
"twitterTitle": "Ako funguje zálohovanie ProxMenux | ProxMenux",
"twitterDescription": "Tri časti zálohy ProxMenux a spôsob, akým z nich obnova znovu vytvorí zdrojového hostiteľa."
},
"header": {
"title": "Ako to funguje",
"description": "Vnútorná štruktúra zálohy ProxMenux — súborový systém, manifest a inventár aplikácií — a spôsob, akým ich obnova používa na vytvorenie pôvodného hostiteľa na cieli, ktorý môže mať iné jadro.",
"section": "Záloha a obnova"
},
"intro": {
"title": "Jeden archív, tri časti",
"body": "Každá záloha vytvorí tri jasne oddelené časti v spoločnom prípravnom adresári. Archív odoslaný do cieľa (lokálny <code>.tar.zst</code>, záloha PBS alebo archív Borg) obsahuje túto istú štruktúru. Obnova používa všetky tri: <strong>manifest</strong> pred zmenami určí rozdiely a výnimky; <strong>rootfs</strong> poskytne konfiguračné súbory, ktoré sa použijú za behu alebo po reštarte; <strong>inventár aplikácií</strong> riadi inštaláciu balíkov a reinštaláciu komponentov po štarte. Každú časť možno skontrolovať alebo rozbaliť samostatne."
},
"layout": {
"heading": "Rozloženie archívu",
"intro": "Každý archív sleduje rovnaké rozloženie stromov bez ohľadu na cieľ. Podadresár <code>metadata/</code> má štruktúrované užitočné zaťaženie; podadresár <code>rootfs/</code> má kópiu súborového systému.",
"treeCaption": "Prípravný adresár vytvorený pri zálohe. Každý cieľ dostane rovnaký strom vo svojom formáte: tar pri lokálnom cieli, bloky PBS pri PBS a segmenty Borg pri Borgu.",
"tree": "backup-[timestamp]/\n├── manifest.json # structured host state\n├── metadata/\n│ ├── packages.manual.list # apt-mark showmanual\n│ ├── run_info.env # backup run identity + kernel version + pmxcfs method\n│ ├── paths_archived.txt # exact list of paths that reached rootfs/\n│ └── missing_paths.txt # paths from the profile absent on source\n└── rootfs/\n ├── etc/ # /etc/pve, /etc/network, /etc/systemd/network, /etc/ssh, …\n ├── root/ # /root (with volatile subdirs excluded)\n ├── usr/local/ # /usr/local/bin, /usr/local/share/proxmenux, …\n └── var/ # /var/lib/pve-cluster (config.db via sqlite3 .backup), /var/spool/cron/…"
},
"rootfs": {
"heading": "Časť rootfs",
"intro": "Strom <code>rootfs/</code> je <strong>obyčajná kópia súborového systému</strong> vytvorená pomocou <code>rsync</code> zo zdrojového hostiteľa. Obsahuje vybraný <strong>predvolený profil</strong> ciest dôležitých pre obnovu Proxmoxu a <strong>vlastné cesty</strong>, ktoré používateľ pridal do úlohy alebo interaktívnej relácie. Výber je zámerne úzky: iba cesty, ktoré <em>obsahujú konfiguráciu</em> alebo <em>uchovávajú stav, ktorý Proxmox nedokáže sám znovu vytvoriť</em>.",
"defaultProfileTitle": "Štandardný profil",
"defaultProfileBody": "Predvolený profil definuje <code>hb_default_profile_paths</code> v <code>lib_host_backup_common.sh</code>. Zahŕňa osem pevných kategórií a prípadne stav ZFS, ktoré spolu opisujú funkčného hostiteľa Proxmox:",
"categoriesTitle": "Kategórie ciest",
"categoryRows": [
{
"category": "Jadro PVE",
"paths": "/etc/pve, /var/lib/pve-cluster, /etc/vzdump.conf",
"why": "Obsah klastrového súborového systému a predvolené nastavenia vzdump. Databáza pmxcfs (<code>config.db</code>) sa zachytí ako konzistentná snímka cez <code>sqlite3 .backup</code> bez zastavenia klastra. Sprievodné súbory <code>.db-wal</code> / <code>.db-shm</code> sa z rsync vylúčia. Ak <code>sqlite3</code> nie je dostupný, vytvorí sa <code>config.db.raw-fallback</code>, ktorý obnova automaticky použije ako databázu."
},
{
"category": "Identita hostiteľa & sieť",
"paths": "/etc/hostname, /etc/hosts, /etc/timezone, /etc/resolv.conf, /etc/network, /etc/systemd/network",
"why": "Všetko potrebné na spustenie hostiteľa v sieti s rovnakou identitou. Súbory <code>.link</code> v <code>/etc/systemd/network</code> priraďujú názvy sieťových kariet k ich MAC adresám, aby sa názvy zachovali pri reinštalácii a zmenách hardvéru."
},
{
"category": "Prístup a overovanie",
"paths": "/etc/ssh, /etc/sudoers, /etc/sudoers.d, /etc/pam.d, /etc/security",
"why": "Kľúče SSH, pravidlá sudo a konfigurácia PAM. Ich strata môže používateľovi znemožniť prístup k obnovenému hostiteľovi."
},
{
"category": "Jadro a štart systému",
"paths": "/etc/default/grub, /etc/kernel, /etc/modules, /etc/modules-load.d, /etc/modprobe.d, /etc/sysctl.conf, /etc/sysctl.d, /etc/udev/rules.d, /etc/fstab, /etc/iscsi, /etc/multipath",
"why": "Parametre IOMMU, zoznamy zakázaných modulov, ID zariadení VFIO, tabuľka pripojení a konfigurácia úložísk."
},
{
"category": "Shell a miestne nastavenia",
"paths": "/etc/environment, /etc/bash.bashrc, /etc/inputrc, /etc/profile, /etc/profile.d, /etc/locale.gen, /etc/locale.conf",
"why": "Systémová konfigurácia shellu, premenné prostredia a nastavenie generovania miestnych nastavení."
},
{
"category": "Správa balíkov a cron",
"paths": "/etc/apt, /etc/cron.d, /etc/cron.{daily,hourly,weekly,monthly}, /etc/cron.allow, /etc/cron.deny, /var/spool/cron/crontabs",
"why": "APT zdroje pre konzistentné riešenie balíkov, plánované úlohy definované užívateľom."
},
{
"category": "Stav a nástroje ProxMenux",
"paths": "/etc/proxmenux, /etc/systemd/system, /etc/log2ram.conf, /etc/logrotate.conf, /etc/logrotate.d, /etc/lm-sensors, /etc/sensors3.conf, /etc/fail2ban, /etc/snmp, /etc/postfix, /etc/wireguard, /etc/openvpn, /etc/grafana, /etc/influxdb, /etc/prometheus, /etc/telegraf, /etc/zabbix",
"why": "Voliteľné, ale bežné náradie Proxmox. Chýbajúce cesty sú zaznamenané v <code>metadata/missing_paths.txt</code> bez zastavenia zálohy."
},
{
"category": "Spustiteľné súbory ProxMenux a účet root",
"paths": "/usr/local/bin, /usr/local/sbin, /usr/local/share/proxmenux, /var/lib/proxmenux, /root (bez dočasných podadresárov)",
"why": "Binárne systémy nainštalované ProxMenux a konfigurácia na užívateľa podľa <code>/root</code>. Prchavé cesty (<code>.bash_history</code>, <code>.cache/</code>, <code>tmp/</code>, <code>.local/share/Trash/</code>) sú z kópie vylúčené. <code>/var/lib/proxmenux</code> drží plánované záložné úlohy a stav hostiteľa udržiava ProxMenux; obnovenie inscenácie, rollback kópie a post-restore markery sú vylúčené, pretože patria k hostiteľovi, ktorý prevádzkuje obnovenie."
},
{
"category": "Stav ZFS (podmienený)",
"paths": "/etc/zfs",
"why": "Zahrnuté iba vtedy, keď zdroj spustí ZFS. Obsahuje <code>zpool.cache</code> a <code>hostid</code>."
}
],
"customTitle": "Rozšírenie profilu vlastnými cestami",
"customBody": "Okrem predvoleného profilu, ProxMenux ponúka dva spôsoby, ako zahrnúť ďalšie cesty do zálohy. Skladajú sa bez konfliktu a obe sa vzťahujú na interaktívne zálohy a plánované pracovné miesta.",
"customExtrasTitle": "1. Trvalé doplnky (na-host súbor)",
"customExtrasBody": "Textový súbor <code>/usr/local/share/proxmenux/backup-extra-paths.txt</code> obsahuje absolútne cesty, ktoré používateľ na tomto hostiteľovi označil ako „vždy zahrnúť“. Pri zálohe v režime <strong>Predvolené</strong> sa automaticky pridajú do predvoleného profilu bez otázok. Súbor sa upravuje cez rozhranie, bez ručnej úpravy, a pretrváva medzi reštartmi aj aktualizáciami. Každý riadok obsahuje jednu absolútnu cestu; komentáre s <code>#</code> sú povolené.",
"customModeTitle": "2. Vlastný režim (na beh)",
"customModeBody": "Spustenie zálohy v režime <strong>Vlastný</strong> nahradí automatickú aplikáciu predvoleného profilu kontrolným zoznamom zobrazujúcim každú cestu: položky predvoleného profilu a trvalé doplnky (s predponou <code>[+]</code> a vopred začiarknuté). Používateľ začiarkne alebo odznačí položky pre daný konkrétny chod a môže tiež stlačiť <em>Pridať vlastnú cestu</em> na zadanie novej cesty – ktorá sa potom uloží do extra súboru pre budúce zálohy.",
"customMissingTitle": "Cesta neprítomná zo zdroja",
"customMissingBody": "Akákoľvek cesta z profilu (predvolená alebo pridaná), ktorá neexistuje na zdrojovom hostiteľovi, sa zaznamenáva v <code>metadata/missing_paths.txt</code> vo vnútri archívu. Zálohovanie nezlyhá, ani sa nezastaví. Užívateľ vidí súhrn archivovaných ciest a chýbajúce cesty na konci. V praxi sa to stane pre voliteľné cesty nástrojov, ako je <code>/etc/wireguard</code> alebo <code>/etc/prometheus</code>, ak tieto nástroje nie sú nainštalované."
},
"manifest": {
"heading": "Časť s manifestom",
"intro": "<code>manifest.json</code> je štruktúrovaný dokument JSON opisujúci zdrojového hostiteľa v čase zálohy. Vytvára ho <strong>šesť nezávislých zberných skriptov</strong> riadených skriptom <code>build_manifest.sh</code>. Každý iba číta údaje a vytvorí presne definovanú časť JSON. Pri zlyhaní použije bezpečnú prázdnu predvolenú hodnotu, takže manifest zostáva použiteľný aj s neúplnou časťou.",
"orchestratorCaption": "Manifest tvorí šesť zberných skriptov. Každý beží vo vlastnom podprocese. Pri zlyhaní jednej časti sa použije zdokumentovaná bezpečná predvolená hodnota a zobrazí upozornenie, ale záloha sa nepreruší.",
"collectorRows": [
{
"collector": "collect_source_host.sh",
"produces": "source_host",
"content": "Názov hostiteľa, verzia PVE (<code>pveversion</code>), verzia PBS, ak hostiteľ plní úlohu zálohovacieho servera, jadro (<code>uname -r</code>), režim zavádzania (efi/bios), typ koreňového súborového systému, model a architektúra CPU, pamäť v KB."
},
{
"collector": "collect_hardware.sh",
"produces": "hardware_inventory",
"content": "GPU s výrobcom a priradeným inštalátorom ProxMenux; TPU Coral USB a M.2 zistené pomocou <code>lsusb</code>/<code>lspci</code>; sieťové karty s MAC adresou, PCI slotom a priradením k mostu; bezdrôtové zariadenia. Záznamy GPU obsahujú heuristiku <code>passthrough_eligible</code>."
},
{
"collector": "collect_storage.sh",
"produces": "storage_inventory",
"content": "ZFS pools (s pool typ + členské disky vyriešené na <code>/dev/disk/by-id/*</code>, <code>/dev/disk/by-partuuid/*</code> alebo surové <code>/dev/sdX</code> cesty v závislosti od toho, ako každý pool bol pôvodne vytvorený), LVM objemové skupiny + thin pools, fyzické disky s SMART schopnosť, PVE <code>storage.cfg</code> vstupy, externé pripojenia."
},
{
"collector": "collect_kernel.sh",
"produces": "kernel_params",
"content": "Parametre pridané správcom do <code>/proc/cmdline</code> bez bežných predvolených položiek, ako sú <code>BOOT_IMAGE=</code>, <code>root=</code>, <code>ro/rw</code>, <code>quiet</code> a <code>splash</code>; moduly načítavané pri štarte z <code>/etc/modules</code>; a cesty súborov <code>/etc/modprobe.d/*.conf</code>, ktoré obsahujú skutočné direktívy (<code>options</code>, <code>blacklist</code>, <code>install</code>, <code>alias</code>, <code>softdep</code>)."
},
{
"collector": "collect_proxmenux_state.sh",
"produces": "proxmenux_installed_components",
"content": "Číta <code>/usr/local/share/proxmenux/managed_installs.json</code> (registrácia všetkého, čo ProxMenux nainštaloval) a <code>installed_tools.json</code>. Každý záznam udržuje inštalačnú dráhu (<code>menu_script</code>), takže obnovenie môže spustiť presne rovnaký inštalačný tok."
},
{
"collector": "collect_guests.sh",
"produces": "vms_lxcs_at_backup",
"content": "Vypíše VM (<code>qm list</code>) a kontajnery LXC (<code>pct list</code>) prítomné v čase zálohy: VMID, názov a aktuálny stav. Ide iba o inventár; samotné údaje hostí zálohujú <code>vzdump</code> / PBS."
}
],
"schemaTitle": "Potvrdenie schémy",
"schemaBody": "Manifest sa overuje podľa <code>scripts/backup_restore/schema/manifest.schema.json</code>. Príkaz <code>build_manifest.sh --validate</code> spustí validáciu JSON Schema v Pythone, ktorá vyžaduje <code>python3</code> a <code>jsonschema</code>. Ak modul chýba, kontrola sa bez upozornenia preskočí. Validácia slúži najmä vývojárom, nie je závislosťou potrebnou pri bežnom behu."
},
"applications": {
"heading": "Inventár aplikácií",
"intro": "Dva inventáre evidujú softvér pridaný k základným balíkom Proxmox VE: zoznam balíkov v <code>metadata/</code> a register komponentov v rootfs, podrobne opísané nižšie. Obnova podľa pôvodného spôsobu inštalácie používa APT alebo inštalátory ProxMenux na opätovnú inštaláciu používateľského softvéru.",
"packagesTitle": "packages.manual.list",
"packagesBody": "Abecedný textový zoznam z <code>apt-mark showmanual</code> obsahuje všetky balíky APT <em>výslovne nainštalované</em> na zdrojovom hostiteľovi. Nezahŕňa závislosti základného systému Proxmox VE, ktoré APT cieľa nainštaluje automaticky. Pri obnove ho číta <code>_rs_run_complete_extras</code> a použije trojstupňový <em>filter proti kaskádovému odstraňovaniu</em>: <code>dpkg -s</code> zistí už nainštalované balíky, pri knižniciach sa zistia iné hlavné verzie a <code>apt-get install --simulate</code> overí riziko následného odstraňovania. Zvyšné balíky sa nainštalujú cez <code>apt-get install -y</code>.",
"componentsTitle": "components_status.json (súčasť rootfs)",
"componentsBody": "Register JSON v <code>/usr/local/share/proxmenux/</code> eviduje každý komponent nainštalovaný cez ProxMenux s presným stavom: verziou a osobitnými príznakmi (pri NVIDIA logická hodnota <code>patched</code>, pri Coral verzia DKMS). Súbor je v rootfs, nie v <code>metadata/</code>, pretože sa <em>číta až po</em> skopírovaní rootfs na cieľ. Dispečer po štarte (<code>apply_cluster_postboot.sh</code>) prejde záznamy a spustí pre každý komponent jeho <code>--auto-reinstall</code> hook. Ten prečíta uložený stav a zopakuje inštaláciu pre aktuálne jadro cieľa.",
"componentInstallersTitle": "Inštalátory komponentov",
"componentInstallersBody": "Štyri inštalátory ProxMenux v súčasnosti vystavujú vstupný bod <code>--auto-reinstall</code>:",
"installerRows": [
{
"component": "nvidia_driver",
"installer": "gpu_tpu/nvidia_installer.sh",
"action": "Číta <code>version</code> a <code>patched</code>. Stiahne ten istý inštalačný súbor NVIDIA, zostaví moduly DKMS pre jadro cieľa a znovu použije opravu ProxMenux, ak bola na zdroji zapnutá."
},
{
"component": "coral_driver",
"installer": "gpu_tpu/install_coral.sh",
"action": "Číta verziu Coral ovládač. Kompiluje modul DKMS s jadrom cieľa."
},
{
"component": "amdgpu_top",
"installer": "gpu_tpu/amd_gpu_tools.sh",
"action": "Číta nahranú verziu. Znovu stiahne presný <code>.deb</code> z GitHub vydania."
},
{
"component": "intel_gpu_tools",
"installer": "gpu_tpu/intel_gpu_tools.sh",
"action": "APT inštaluje balík. Idempotentné, ak už prítomný z <code>packages.manual.list</code>."
}
]
},
"restoreFlow": {
"heading": "Ako obnova používa tri časti",
"intro": "Obnova má šesť fáz. Každá číta konkrétnu časť archívu a aktualizuje cieľového hostiteľa. Žiadna nevyžaduje dostupnosť zdrojového hostiteľa: archív obsahuje všetky potrebné zálohované údaje.",
"stagesCaption": "Fáza 1 podľa manifestu rozhodne, čo upraviť. Fáza 2 skopíruje cesty rootfs použiteľné za behu. Fáza 3 pripraví rizikové cesty na ďalší štart. Fáza 3b importuje dátové pooly ZFS bez koreňového systému, ktorých disky sú všetky prítomné. Fáza 4 rieši balíky. Fáza 5 po reštarte preinštaluje komponenty pre jadro cieľa.",
"stageRows": [
{
"stage": "1",
"name": "Kontrola kompatibility",
"reads": "manifest.json",
"action": "Spúšťa <code>hb_compat_check</code>. Porovnáva zdrojový a cieľový hardvér (NIC, identifikátory úložísk), verziu PVE a hlavnú verziu jadra. Nastavuje <code>HB_COMPAT_KERNEL_DIRECTION</code> (<code>same</code>, <code>bk_newer</code> alebo <code>bk_older</code>) a zaľudňuje <code>RS_SKIP_PATHS</code> s hardware-drift a cross-kernel s výnimkou."
},
{
"stage": "2",
"name": "Použitie za tepla",
"reads": "rootfs/ (len bezpečné cesty)",
"action": "<code>_rs_apply … hot</code> kopíruje <code>hb_classify_path</code>=<code>hot</code> položky priamo do živého cieľa. Všetko pod <code>/etc/pve</code>, <code>/etc/network</code> alebo cesty klasifikované ako <em>reboot</em>/<em>dangerous</em> je odložený."
},
{
"stage": "3",
"name": "Príprava odložených zmien",
"reads": "rootfs/ (reboot + nebezpečné cesty)",
"action": "<code>_rs_prepare_pending_restore</code> pripraví rizikové cesty v <code>/var/lib/proxmenux/pending-restore/</code>, zapíše <code>plan.env</code>, <code>apply-on-boot.list</code> a <code>rs-skip-paths.txt</code> a povolí spustenie <code>proxmenux-restore-onboot.service</code> pri ďalšom štarte."
},
{
"stage": "3b",
"name": "Import dátových poolov",
"reads": "manifest.storage_inventory + cieľový ZFS stav",
"action": "<code>_rs_import_data_pools</code> importuje každého ZFS pool každého iného typu než root, ktorého úplná sada diskov sa nachádza v cieli. Pools nesúci cudzí hostid sa zopakuje s <code>zpool import -f</code>. Pools chýbajúce disky sú preskočené s varovaním. Výsledok per-pool je zaznamenaný v <code>/var/log/proxmenux/restore-datapools-&lt;timestamp&gt;.log</code>."
},
{
"stage": "4",
"name": "Inštalácia balíka",
"reads": "metadata/packages.manual.list",
"action": "<code>_rs_run_complete_extras</code> spustí kaskádovo bezpečný filter a zavolá <code>apt-get install -y</code> so zoznamom prežitých balíkov. Celý výstup ide do <code>/var/log/proxmenux/restore-apt-*.log</code>."
},
{
"stage": "5",
"name": "Po štarte systému",
"reads": "rootfs (už použité) + components_status.json",
"action": "Po reštarte <code>apply_pending_restore.sh</code> použije odložené cesty a <code>apply_cluster_postboot.sh</code> spustí <code>update-initramfs</code>, <code>update-grub</code> alebo <code>proxmox-boot-tool refresh</code>. Potom prejde <code>components_status.json</code> a pre každý komponent spustí jeho <code>--auto-reinstall</code> hook."
}
]
},
"whyItWorks": {
"heading": "Prečo je záloha rozdelená na tri časti",
"body": "Rozdelenie sleduje <strong>životný cyklus</strong> údajov. Súborový systém sa prenáša cez <code>rsync</code>: rýchlo, prehľadne a atómovo po súboroch. Konfiguračný stav, ktorý treba vyhodnotiť pred zmenami, je <strong>štruktúrovaný JSON</strong>, samostatne čitateľný, verzovateľný schémou a strojovo porovnateľný so stavom cieľa. Softvér na reinštaláciu opisuje <strong>inventár</strong> názvov a verzií; správca balíkov a inštalátory ProxMenux vyberú vhodné binárne súbory. Každá časť plní vlastnú úlohu. Spolu smerujú ku konzistentnej obnove odolnej voči chybám: poškodený manifest ponecháva rootfs obnoviteľný, chýbajúci balík nebráni inštalácii komponentov a zlyhanie pri jednej položke nezastaví ďalšiu."
}
}
@@ -0,0 +1,93 @@
{
"meta": {
"title": "ProxMenux Zálohovanie a obnovenie — Prehľad | Úplné zálohovanie a obnovenie hostiteľa pre Proxmox VE",
"description": "ProxMenux Backup & Restore zachytáva úplný stav hostiteľa Proxmox – súborový systém, štruktúrovaný konfiguračný manifest a nainštalované balíky/komponenty – a reprodukuje ho na rovnakom alebo inom hostiteľovi. Zálohovanie a obnova sú samostatné: žiadne externé závislosti a obnovy medzi jadrami sú podporované prostredníctvom filtra bezpečnej podmnožiny zohľadňujúceho smer zmeny verzie a hydratácie nezávislej od jadra.",
"ogTitle": "ProxMenux Zálohovanie a obnovenie — Prehľad",
"ogDescription": "Úplné zálohovanie a obnovenie hostiteľa pre Proxmox VE so štruktúrovaným manifestom, zoznamom balíkov a preinštalátormi komponentov.",
"twitterTitle": "ProxMenux Zálohovanie a obnovenie | ProxMenux",
"twitterDescription": "Úplné zálohovanie a obnovenie hostiteľa pre Proxmox VE so štruktúrovaným manifestom, zoznamom balíkov a preinštalátormi komponentov."
},
"header": {
"title": "Zálohovanie a obnovenie",
"description": "Zálohovanie a obnovenie úplného hostiteľa pre Proxmox VE. Zachytáva súborový systém, konfiguráciu a nainštalované komponenty do jedného archívu a reprodukuje hostiteľa v rovnakej alebo inej inštalácii Proxmox bez externých závislostí.",
"section": "Zálohovanie a obnovenie"
},
"intro": {
"title": "Čo to je, v jednom odseku",
"body": "Záloha ProxMenux zachytáva úplný stav hostiteľa Proxmox: <strong>súborový systém</strong>, teda príslušné adresáre v <code>/etc</code>, <code>/root</code> a <code>/var/lib/pve-cluster</code> spolu s voliteľnými vlastnými cestami; <strong>štruktúrovaný manifest</strong> vo formáte JSON s detegovaným hardvérom, parametrami jadra, konfiguráciou siete, stavom ZFS, používateľmi a záznamami cron; a <strong>inventár aplikácií</strong> s balíkmi označenými v APT ako manuálne nainštalované a komponentmi nainštalovanými cez ProxMenux vrátane presných verzií. Všetky tri podporované ciele – lokálny archív, Proxmox Backup Server (odporúčaný) a Borg – dostávajú rovnaký samostatný obsah. Z každého možno obnoviť cieľového hostiteľa bez toho, aby bol zdrojový hostiteľ počas obnovy dostupný."
},
"video": {
"heading": "Videonávod",
"intro": "Uprednostňujete sledovanie zálohovania a obnovenia v akcii pred jeho konfiguráciou? Tento návod obsahuje úplné demo funkcie v ProxMenux.",
"title": "ProxMenux — Návod na zálohovanie a obnovenie",
"caption": "Externé video na YouTube. Prehráva sa v režime ochrany osobných údajov (žiadne súbory cookie, kým nestlačíte tlačidlo prehrávania)."
},
"whatItIsNot": {
"heading": "Čo to nie je",
"intro": "Táto časť sa venuje zálohovaniu a obnove <strong>hostiteľa</strong>: samotnej inštalácie Proxmoxu, nie aplikácií a virtuálnych systémov, ktoré na nej bežia.",
"items": [
"<strong>Nejde o nástroj na zálohovanie VM/CT.</strong> Táto funkcia nezachytáva disky ani stav RAM virtuálnych systémov; na to slúži <code>vzdump</code>. Ich <strong>konfiguračné súbory</strong> (<code>/etc/pve/nodes/&lt;node&gt;/qemu-server/*.conf</code> a <code>lxc/*.conf</code>) sa <strong>však zálohujú</strong>. Po obnove sa inventár znovu zobrazí a disky možno obnoviť alebo pripojiť z existujúcej zálohy v PBS či na lokálnom úložisku.",
"<strong>Nejde o operáciu pre celý klaster.</strong> Každý uzol zálohuje sám seba. Členstvo v klastri sa zachytáva v <code>/etc/pve</code>, aby sa obnovený uzol mohol opäť pridať do klastra. Obnova celého klastra však vyžaduje koordináciu jednotlivých uzlov.",
"<strong>Nejde o úplný obraz disku.</strong> Binárne súbory jadra, initramfs ani zavádzacia partícia sa nezálohujú. Pri obnove ProxMenux využíva zavádzacie súbory cieľového hostiteľa, automaticky vytvorené pomocou <code>update-initramfs</code> a nástroja zavádzača, a inštaluje ovládače zodpovedajúce jadru spustenému na cieľovom hostiteľovi."
]
},
"threePillars": {
"heading": "Tri piliere zálohovania",
"intro": "Archív ProxMenux je štruktúrovaný okolo troch samostatných blokov údajov. Obnova používa všetky tri spolu na reprodukciu zdrojového hostiteľa na cieli, ktorý nemusí mať dokonca nainštalované rovnaké jadro.",
"diagramCaption": "Každá záloha obsahuje rovnaké tri bloky údajov bez ohľadu na cieľ. Obnova používa všetky tri: rootfs na uloženie súborov, manifest na zistenie odchýlok a rozdielov medzi verziami jadra a inventár aplikácií na opätovnú inštaláciu balíkov a komponentov pre vlastné jadro cieľa.",
"pillar1Label": "Súborový systém",
"pillar1Detail": "rootfs/\n(rsync z /etc,\n/etc/systemd/network,\n/root, plus\nsnímka sqlite3\nz /var/lib/pve-cluster,\n+ voliteľné cesty)",
"pillar2Label": "Manifest",
"pillar2Detail": "manifest.json\n(hardvér, parametre\njadra, sieť,\nZFS, používatelia, cron,\npooly ZFS, úložisko)",
"pillar3Label": "Aplikácie",
"pillar3Detail": "packages.manual.list\n+ components_status.json\n(manuálne balíky APT + inštalátory\nProxMenux s verziami)"
},
"restoreIsUniversal": {
"heading": "Obnova reprodukuje hostiteľa zdroja, nie archív",
"body": "Obnova zálohy ProxMenux neznamená len rozbalenie súborového systému. Postup obnovy prečíta manifest, aby zistil rozdiely medzi zdrojom a cieľom (hardvér, premenovanie sieťových kariet, verziu jadra, identitu poolu ZFS), obnoví súborový systém a potom spustí príslušný inštalátor komponentu pre každú službu nainštalovanú v zdroji (ovládač NVIDIA, Coral TPU, nástroje GPU AMD a Intel). Každý inštalátor sa spúšťa pre <strong>aktuálne jadro cieľa</strong>, takže obnovený hostiteľ nezávisí od prítomnosti zdrojového jadra. Ak je jadro cieľa novšie než jadro zálohy, fáza <strong>hydratácie</strong> nezávislá od jadra zlúči vlastné nastavenia používateľa (tokeny IOMMU, ID zariadení VFIO, osobitné úpravy, kľúče GRUB) s novou zavádzacou konfiguráciou cieľa bez doslovného kopírovania súborov viazaných na jadro."
},
"twoInterfaces": {
"heading": "Dve rozhrania, jeden backend",
"intro": "Každý krok pracovného postupu zálohovania a obnovy je dostupný z dvoch vstupných bodov. Oba volajú rovnakú knižnicu shellu, vytvárajú identické archívy a čítajú rovnaký register úloh.",
"cliLabel": "ProxMenux Scripts (TUI)",
"cliDetail": "menu → Nástroje →\nZálohovanie / obnovenie hostiteľa\n\nDialógový tok,\nSSH priateľský, skriptovateľný\nna použitie bez dozoru.",
"webLabel": "ProxMenux Monitor (Web UI)",
"webDetail": "Karta Backups vo\nwebovom rozhraní Monitor.\n\nObnova jedným kliknutím,\npriebežný výpis záznamov,\nprepojenie s upozorneniami\na zobrazením rozdielov rollbacku."
},
"whereNext": {
"heading": "Kam ísť odtiaľto",
"intro": "Každá podsekcia nižšie podrobne pokrýva jeden aspekt pracovného postupu. Začnite s <em>Ako to funguje</em>, ak je cieľom pochopiť, čo archív obsahuje a prečo. Prejdite na <em>Ciele</em> a nakonfigurujte cieľ pre kópiu. Prečítajte si <em>Obnovovanie</em> a <em>Obnova medzi jadrami</em> pre stranu obnovy.",
"items": [
{
"label": "Ako to funguje",
"href": "/docs/backup-restore/how-it-works",
"tail": "— podrobne tri bloky údajov (rootfs, manifest, aplikácie) s kolektormi, ktoré ich vytvárajú, a formátom každého súboru."
},
{
"label": "Destinácie",
"href": "/docs/backup-restore/destinations",
"tail": "— porovnanie lokálneho úložiska, Proxmox Backup Server (odporúča sa) a Borg a ako nakonfigurovať každý z nich."
},
{
"label": "Vytváranie záloh",
"href": "/docs/backup-restore/creating-backups",
"tail": "— jednorazové zálohy, predvolený profil cesty, pridávanie vlastných ciest, šifrovanie pre PBS."
},
{
"label": "Plánované úlohy",
"href": "/docs/backup-restore/scheduled-jobs",
"tail": "— nové úlohy verzus pripojenie k existujúcej úlohe PVE vzdump, formáty plánovania, modálny detail úlohy."
},
{
"label": "Obnova",
"href": "/docs/backup-restore/restoring",
"tail": "– tri akcie s archívom (zobrazenie, stiahnutie, obnovenie), úplná a vlastná obnova, dispečer po spustení a prečo záleží na posledných desiatich minútach."
},
{
"label": "Obnova medzi jadrami",
"href": "/docs/backup-restore/cross-kernel",
"tail": " — správanie zohľadňujúce smer zmeny verzie pri odlišnom jadre cieľa a zálohy, filter bezpečnej podmnožiny a štyri fázy hydratácie."
}
]
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,152 @@
{
"meta": {
"title": "Plánované úlohy — časovače, režim attach a uchovávanie záloh | ProxMenux",
"description": "Plánované úlohy zálohovania hostiteľa ProxMenux. Dva režimy vytvorenia (vlastný časovač systemd alebo pripojenie k existujúcej úlohe vzdump PVE), pravidlá uchovávania pre jednotlivé úlohy cez proxmox-backup-client, Borg alebo lokálne čistenie, súbory v /var/lib/proxmenux/backup-jobs a spúšťací skript vytvárajúci rovnaké archívy ako interaktívny postup.",
"ogTitle": "Zálohovanie ProxMenux — plánované úlohy",
"ogDescription": "Plánované zálohy hostiteľa bez obsluhy s režimom pripojenia, pravidlami uchovávania a rovnakými tromi cieľmi ako interaktívny postup.",
"twitterTitle": "Plánované úlohy | ProxMenux",
"twitterDescription": "Plánované úlohy zálohovania hostiteľa bez obsluhy s režimom pripojenia a uchovávaním."
},
"header": {
"title": "Plánované úlohy",
"description": "Úlohy zálohovania hostiteľa bez obsluhy. Dva modely vytvorenia: nová nezávislá úloha s vlastným plánom alebo úloha pripojená k existujúcej úlohe vzdump PVE, z ktorej preberá plán a pravidlá uchovávania. Oba modely vytvárajú rovnaké archívy ako interaktívny postup.",
"section": "Záloha a obnova"
},
"intro": {
"title": "Dva modely plánovaných úloh",
"body": "Plánovanú úlohu možno vytvoriť podľa jedného z dvoch modelov:",
"modelsList": [
"<strong>Nová nezávislá úloha</strong> — ProxMenux nastaví vlastný plán pomocou samostatného časovača systemd, nezávisle od ostatných úloh na hostiteľovi. Podporuje všetky tri ciele: lokálny, PBS a Borg.",
"<strong>Pripojenie k existujúcej úlohe vzdump PVE</strong> — úloha nemá vlastný plán; spúšťa sa automaticky pri nadradenej úlohe vzdump PVE, ktorá už zálohuje VM a LXC na hostiteľovi. Preberá jej plán a pravidlá uchovávania. Podporuje lokálny cieľ a PBS (Borg nie je podporovaný, pretože PVE preň nemá natívny plánovač)."
]
},
"attachBadge": {
"title": "Režim pripojenia — odporúčaný, ak už existuje úloha vzdump PVE",
"body": "Ak už existuje úloha vzdump PVE pre VM a LXC na uzle, pripojená záloha hostiteľa sa vykoná po zálohe hostí v <strong>rovnakom zálohovacom cykle</strong>. Pri obnove pochádzajú konfigurácie hostí zo zálohy hostiteľa (v <code>/etc/pve</code>) a ich disky zo záloh vzdump daného cyklu. To pomáha koordinovať obnovu celého uzla, ale nejde o atómovú snímku: zmeny počas cyklu môžu zanechať rozdiely medzi konfiguráciou hostiteľa a stavom diskov hostí."
},
"frequencyBadge": {
"title": "Odporúčaná frekvencia",
"body": "Ak chcete maximalizovať kompatibilitu zálohy hostiteľa s budúcou obnovou, zálohujte často. Čím bližšie je záloha aktuálnemu stavu hostiteľa, tým menej rozdielov v konfigurácii, balíkoch a komponentoch musí obnova zosúladiť."
},
"modes": {
"heading": "Dva režimy",
"rows": [
{
"mode": "Nová plánovaná úloha",
"backends": "Miestne, PBS, Borg",
"schedule": "Vlastný výraz <code>OnCalendar</code> (syntax kalendára systemd, napr. <code>daily</code> alebo <code>Mon..Fri 03:00</code>).",
"retention": "Zadáva sa samostatne: <code>keep-last</code>, <code>keep-hourly</code>, <code>keep-daily</code>, <code>keep-weekly</code>, <code>keep-monthly</code>, <code>keep-yearly</code>. Použije spúšťací skript po každej úspešnej zálohe."
},
{
"mode": "Pripojiť k úlohe vzdump PVE",
"backends": "Local, PBS (Borg nemá plánovač na strane PVE)",
"schedule": "Preberá sa z nadradenej úlohy PVE. Na strane ProxMenux sa neinštaluje žiadny časovač systemd.",
"retention": "Preberá sa z konfigurácie <code>prune-backups</code> nadradenej úlohy (pomocou <code>hb_pve_prune_to_keep_env</code> mapovanej jedna k jednej na premenné <code>KEEP_*</code> spúšťacieho skriptu)."
}
]
},
"attachDetail": {
"heading": "Ako funguje režim pripojenia",
"intro": "PVE zapisuje úlohy <code>vzdump</code> do <code>/etc/pve/jobs.cfg</code> — jednu sekciu pre každú úlohu s úložiskom záloh VM a LXC. Režim pripojenia vyžaduje backend podporovaný ProxMenux (lokálny alebo PBS). Záloha hostiteľa sa spustí cez hook job-end po dokončení úlohy zálohovania hostí.",
"steps": [
{
"step": "1",
"detail": "Počas vytvárania úlohy ProxMenux uvádza kompatibilné rodičovské PVE úlohy prostredníctvom <code>hb_pve_list_vzdump_jobs_for_backend</code>. Užívateľ si vyberie jednu."
},
{
"step": "2",
"detail": "Súbor <code>.env</code> úlohy sa zapíše s <code>PVE_PARENT_JOB</code>, <code>PVE_STORAGE</code> a prevzatými hodnotami <code>KEEP_*</code>; časovač systemd sa nevytvorí."
},
{
"step": "3",
"detail": "<code>hb_install_vzdump_hook</code> zaregistruje hook v <code>/etc/vzdump.conf</code>. Vo fáze job-end ľubovoľnej úlohy vzdump porovná prijaté <code>$STOREID</code> s <code>PVE_STORAGE</code> každej povolenej pripojenej úlohy a pri zhode zavolá spúšťací skript. Zhoda sa určuje podľa úložiska, nie podľa ID vybranej nadradenej úlohy."
},
{
"step": "4",
"detail": "Archív sa uloží do rovnakého úložiska ako zálohy vzdump: <code>path/dump/</code> pri lokálnom cieli alebo repozitár PBS nastavený v úložisku PVE."
}
],
"outroBody": "Režim pripojenia nemá vlastný časovač. Vypnutie alebo odstránenie vybranej nadradenej úlohy PVE zastaví jej spúšťanie, ale iná úloha vzdump s rovnakým úložiskom môže pripojenú zálohu hostiteľa stále spustiť. Ak tomu chcete zabrániť, vypnite alebo odstráňte samotnú úlohu ProxMenux. Pri vypnutí zostane záznam na disku a možno ho neskôr povoliť alebo znovu pripojiť."
},
"storageLayout": {
"heading": "Súbory, ktoré tvoria prácu",
"intro": "Každá plánovaná úloha je plne popísaná tromi alebo štyrmi súbormi na disku. Čítanie im dáva plnú konfiguráciu úlohy bez spoliehania sa na rozhranie.",
"rows": [
{
"path": "/var/lib/proxmenux/backup-jobs/JOB_ID.env",
"content": "Backend, ID zálohy alebo cieľ, plán (nový režim) alebo nadradená úloha PVE (režim pripojenia), príznak povolenia, hodnoty uchovávania <code>KEEP_*</code> a odkazy na prihlasovacie údaje."
},
{
"path": "/var/lib/proxmenux/backup-jobs/JOB_ID.paths",
"content": "Jedna absolútna cesta na riadok — výber odvodený z profilu a uložený pri vytvorení úlohy. Po úprave súboru sa pri ďalšom spustení časovačom použije nový výber."
},
{
"path": "/etc/systemd/system/proxmenux-backup-JOB_ID.timer + .service",
"content": "Iba nový režim. Služba vyvoláva <code>run_scheduled_backup.sh JOB_ID</code>. Časovač ho naplánuje s <code>Persistent=true</code> (zmeškané spustenia sa vykonajú pri ďalšom štarte) a malým <code>RandomizedDelaySec=120</code> rozložiť zaťaženie, keď viaceré úlohy zdieľa rovnaký OnCalendar výraz."
},
{
"path": "/etc/vzdump.conf script-hook",
"content": "Iba režim pripojenia. Raz ho nainštaluje <code>hb_install_vzdump_hook</code>; porovnáva <code>PVE_STORAGE</code> každej pripojenej úlohy s <code>$STOREID</code>, ktoré PVE odovzdáva hooku."
}
]
},
"runner": {
"heading": "Čo úloha vykoná pri spustení",
"intro": "Každá práca, či je nový model alebo pripojený, má rovnakú trojstupňovú sekvenciu:",
"steps": [
"<strong>Pripraví zálohu.</strong> Načíta konfiguráciu úlohy (cieľ, profil, cesty) a zostaví strom archívu rovnako ako interaktívny postup. Výsledkom je rovnaký archív, aký by vytvorila manuálna záloha s týmito nastaveniami.",
"<strong>Zapíše do cieľa.</strong> Odošle alebo zapíše archív do nastaveného cieľa — lokálny súbor <code>.tar.zst</code>, záloha PBS alebo archív Borg — s presne rovnakými nástrojmi a prihlasovacími údajmi ako manuálna záloha do rovnakého cieľa.",
"<strong>Použije pravidlá uchovávania.</strong> Odstráni staré zálohy z cieľa a ponechá počty nastavené v úlohe cez <code>keep-last</code> / <code>keep-daily</code> / <code>keep-weekly</code>. Čistenie vykonáva príslušný backend: PBS používa svoje pravidlá uchovávania, Borg spustí <code>borg prune</code> a pri lokálnom cieli ProxMenux odstráni súbory mimo rozsahu <code>keep-last</code>."
]
},
"management": {
"heading": "Správa úloh",
"intro": "Menu rozvrhu (Scripts TUI) a záložka Monitor Backup odhaľujú rovnaké akcie na akejkoľvek práci.",
"rows": [
{
"action": "Spustiť teraz",
"detail": "Okamžite zavolá spúšťací skript bez čakania na časovač alebo hook vzdump. Umožní overiť konfiguráciu úlohy bez čakania na ďalšie plánované spustenie."
},
{
"action": "Povoliť / zakázať",
"detail": "Nový režim: časovač sa ovláda cez <code>systemctl enable/disable --now</code>. Režim pripojenia: zmení príznak <code>ENABLED</code> v súbore env úlohy — hook ho zohľadní pri ďalšom spustení PVE."
},
{
"action": "Upraviť",
"detail": "Znovu otvorí destináciu, rozvrh, profil a retenčný postup a prepíše pracovné súbory. Zachováva ID práce."
},
{
"action": "Odstrániť",
"detail": "Odstráni súbor env úlohy, súbor ciest, časovač a službu systemd (nový režim) a vypne pripojenie k hooku (režim pripojenia). Existujúce archívy v cieli nemení."
},
{
"action": "Zobraziť záznam",
"detail": "Priebežne zobrazuje <code>/var/log/proxmenux/backup-jobs/JOB_ID-YYYYMMDD_HHMMSS.log</code> — jeden protokolový súbor na beh. Spúšťací skript tiež vydáva kompaktný stavový riadok na journald pod systemd služby."
}
]
},
"notifications": {
"heading": "Oznámenia",
"body": "Každé plánované spustenie vyvolá rovnaké udalosti <code>hb_notify_lifecycle</code> ako interaktívny postup (<code>start</code>, <code>complete</code>, <code>fail</code>). Ak sú v Monitore nastavené kanály upozornení, úlohy bez obsluhy oznámia výsledky rovnako ako manuálne zálohy — používateľ nemusí kontrolovať záznam, aby zistil úspech úlohy."
},
"whereNext": {
"heading": "Kam ísť ďalej",
"items": [
{
"label": "Vytváranie záloh",
"href": "/docs/backup-restore/creating-backups",
"tail": " — interaktívny postup, ktorý zdieľa backend s plánovačom."
},
{
"label": "Ciele",
"href": "/docs/backup-restore/destinations",
"tail": " — konfigurácia jednotlivých backendov používaná interaktívnym postupom aj plánovačom."
},
{
"label": "Obnovenie",
"href": "/docs/backup-restore/restoring",
"tail": " — postup používajúci zálohy vytvorené úlohami."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "Pridať radič alebo NVMe do VM | Dokumentácia ProxMenux",
"description": "Sprístupnenie radiča úložiska SATA/SAS HBA alebo zariadenia NVMe virtuálnemu stroju Proxmox cez PCI passthrough pomocou ProxMenuxu. Nástroj zabezpečuje aktiváciu IOMMU, rozpoznanie konfliktov a priradenie cez qm set --hostpci.",
"ogTitle": "Pridať radič alebo NVMe do VM | Dokumentácia ProxMenux",
"ogDescription": "Priraďte celý HBA SATA/SAS alebo zariadenie NVMe virtuálnemu stroju Proxmox. ProxMenux zabezpečí IOMMU, rozpoznanie konfliktov a priradenie hostpci."
},
"header": {
"title": "Pridať radič alebo NVMe do VM",
"description": "Priraďte celý adaptér SATA/SAS HBA alebo zariadenie NVMe virtuálnemu stroju Proxmox cez PCI passthrough. ProxMenux skontroluje IOMMU a s vaším súhlasom ho aktivuje, vyhľadá vhodné zariadenia, vylúči konflikty a zapíše priradenie pomocou qm set --hostpci.",
"section": "Správca disku · VM"
},
"intro": {
"title": "Čo to robí (a nerobí)",
"body": "Toto je <strong>priechod na úrovni zariadenia</strong>: karta PCIe opustí pohľad hostiteľského jadra a je viazaná na <code>vfio-pci</code>. VM vidí samotný radič – nie jednotlivé disky za ním – a načíta svoj vlastný ovládač pre tento presný model. Každý disk pripojený k tomuto radiču ho nasleduje automaticky, s natívnymi SMART údajmi, úplnými funkciami firmvéru a bez vrstvy Proxmox medzi nimi."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve oddelené fázy: zhromaždenie informácií, kontrolu IOMMU a výpis vhodných zariadení; potom samotné pripojenie zariadenia PCI. Až do záverečného potvrdenia sa do konfigurácie VM nič nezapisuje."
},
"iommu": {
"heading": "Skupiny IOMMU: prečo treba posudzovať celú kartu",
"body": "Hranicou izolácie PCI passthrough je <strong>skupina IOMMU</strong>, najmenšia jednotka, ktorú IOMMU procesora dokáže izolovať. Zariadenia v rovnakej skupine nemožno izolovať navzájom. Ak radič SATA zdieľa skupinu s radičom USB, passthrough SATA môže vyžadovať aj uvoľnenie USB z hostiteľa alebo nemusí byť možný. Automaticky nepriradí VM všetky zariadenia skupiny.",
"outro": "ProxMenux zobrazuje skupinu IOMMU pri každom zariadení a upozorní, ak skupina obsahuje aj iné zariadenia než požadovaný radič. Môžete pokračovať, ak sú tieto ďalšie zariadenia prijateľné, napríklad ak sú všetky radičmi diskov, alebo sa vrátiť späť."
},
"prereqs": {
"heading": "Predpoklady",
"items": [
"<strong>CPU a základná doska podporujú</strong> VT-d (Intel) alebo AMD-Vi a funkcia je povolená vo firmvéri (BIOS/UEFI). ProxMenux môže upraviť nastavenie jadra, ale nemôže prepnúť nastavenie firmvéru.",
"Cieľová VM je pred pripojením zariadení PCI <strong>vypnutá</strong>.",
"Radič/NVMe <strong>nie je ten, na ktorom sa nachádza koreňový súborový systém Proxmox</strong>. Skript skryje všetko, čo hostiteľ používa.",
"Hosťujúci OS má ovládače pre model radiča. Linux pokrýva prakticky každý HBA hneď po vybalení; Windows potrebuje nainštalovaný ovládač od dodávateľa <em>pred</em> spustením s pripojeným radičom."
],
"warnTitle": "Živá migrácia nie je možná",
"warnBody": "VM s PCI passthrough je viazaná na uzol, v ktorom je karta fyzicky osadená. Živá migrácia medzi uzlami zlyhá. Prispôsobte tomu zálohovanie a replikáciu."
},
"steps": {
"heading": "Krok za krokom",
"stepLabel": "Krok",
"list": [
{
"title": "Vyberte cieľovú VM",
"bodyRich": "ProxMenux načíta <code>qm list</code> a zobrazí všetky VM. Vyberte tú, ktorej chcete priradiť radič.",
"img": "/disk/nvme-passthrough/vm-selection.png",
"alt": "dialóg výberu VM",
"caption": "dialóg výberu VM"
},
{
"title": "Kontrola IOMMU",
"bodyRich": "Ak IOMMU nie je povolené v príkazovom riadku jadra, ProxMenux ponúkne jeho aktiváciu. Upraví <code>/etc/kernel/cmdline</code> pre systemd-boot alebo <code>/etc/default/grub</code> pre GRUB a pridá správny parameter pre váš CPU:",
"items": [
"<code>intel_iommu=on</code> pre procesory Intel.",
"<code>amd_iommu=on</code> pre CPU AMD."
],
"outro": "Po tejto zmene je potrebný reštart. Skript ponúkne reštart teraz alebo neskôr; passthrough nemôže pokračovať, kým nie je aktívny nový príkazový riadok jadra.",
"img": "/disk/nvme-passthrough/iommu-warning.png",
"alt": "Dialóg IOMMU je vyžadované",
"caption": "IOMMU je vyžadované: ponuka aktivácie a reštartu"
},
{
"title": "Výpis zariadení",
"body": "ProxMenux vypíše všetky radiče úložiska (HBA SATA/SAS) a všetky zariadenia NVMe na zbernici PCI. Pri každom zariadení zobrazí:",
"items": [
"Adresa PCI (<code>00:17.0</code>, <code>01:00.0</code>, ...).",
"Dodávateľ / popis zariadenia.",
"Skupina IOMMU a upozornenie ⚠, ak ju zdieľajú ďalšie nesúvisiace zariadenia.",
"Disky aktuálne pripojené k radiču, aby ste vedeli, ktoré s ním prejdú do VM."
],
"img": "/disk/nvme-passthrough/device-list.png",
"alt": "Výpis radičov a zariadení NVMe",
"caption": "Výpis radičov a zariadení NVMe s informáciami o skupine IOMMU"
},
{
"title": "Odhalenie konfliktov",
"bodyRich": "Skript zablokuje jednoznačne nebezpečné zariadenia: už priradené inej VM cez <code>hostpci</code> v jej konfigurácii, používané hostiteľom, napríklad radič koreňového disku, alebo zaradené v skupine IOMMU, ktorej ostatných členov nedokáže bezpečne identifikovať. Vhodné zariadenia sú dostupné na výber.",
"img": "/disk/nvme-passthrough/conflict-warning.png",
"alt": "Upozornenie na zistený konflikt",
"caption": "Rozpoznanie konfliktu: zariadenie zablokované s uvedením dôvodu"
},
{
"title": "Pripojiť a dokončiť",
"bodyRich": "Pre každé vybrané zariadenie ProxMenux spustí <code>qm set &lt;VMID&gt; --hostpciN &lt;pci-addr&gt;,pcie=1</code> a vyberie ďalší voľný slot <code>hostpci</code>. Ak sa počas tejto relácie aktivovalo IOMMU, pripomenie potrebu reštartu pred spustením VM.",
"img": "/disk/nvme-passthrough/assignment.png",
"alt": "Prehľad priradenia",
"caption": "Prehľad priradenia: sloty hostpciN a pripojené adresy PCI"
}
]
},
"manual": {
"heading": "Ručný ekvivalent"
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noGroupsTitle": "IOMMU povolené, ale žiadne skupiny pod /sys/kernel/iommu_groups/",
"noGroupsBody": "Na uplatnenie príkazového riadka jadra je potrebný reštart. Ak skupiny chýbajú aj po reštarte, VT-d/AMD-Vi je pravdepodobne vypnuté vo firmvéri: skontrolujte nastavenia BIOS/UEFI.",
"busyTitle": "VM sa nespustí: \"hostpciN: device busy\"",
"busyBody": "Iný proces stále drží PCI zariadenie. Najčastejšie príčiny: predchádzajúci VM, ktorý zlyhal bez jeho uvoľnenia, alebo ho hostiteľské jadro získalo späť pri poslednom spustení. Spustite <code>lspci -nnk -s &lt;addr&gt;</code> a zistite, ktorý ovládač je viazaný; malo by to byť <code>vfio-pci</code>. Úplný reštart hostiteľa to zvyčajne vymaže.",
"noDisksTitle": "Hosť vidí radič, ale nie disky",
"noDisksBody": "V hosťovi chýba ovládač pre daný model radiča. V Linuxe je to zriedkavé, vo Windowse sa to stáva: nainštalujte ovládač výrobcu, napríklad LSI/Broadcom pre staršie HBA SAS, keď karta nie je priradená, a potom reštartujte s priradenou kartou.",
"sharedTitle": "Skupina IOMMU obsahuje nesúvisiace zariadenie",
"sharedBody": "Možnosti: (a) presunúť kartu do iného slotu PCIe a zmeniť tak jej skupinu, (b) zapnúť <em>ACS override</em> v jadre na rozdelenie skupín (bezpečnostný kompromis, pred použitím si ho preštudujte), alebo (c) vybrať inú kartu v lepšie izolovanej skupine."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/import-disk-vm",
"label": "Importovať disk do VM",
"tail": " — alternatíva: pripojiť fyzický disk cez Proxmox bez úplného PCIe passthrough."
},
{
"href": "/docs/hardware/gpu-vm-passthrough",
"label": "Pridať GPU do VM (passthrough)",
"tail": " — Rovnaké IOMMU / VFIO koncepty použité na GPU."
},
{
"href": "/docs/help-info/gpu-commands",
"label": "Príkazy pre GPU passthrough",
"tail": " — príkazy na overenie IOMMU platia aj pre passthrough radiča alebo NVMe."
},
{
"href": "/docs/disk-manager",
"label": "Prehľad správcu diskov",
"tail": "."
}
]
}
}
@@ -0,0 +1,142 @@
{
"meta": {
"title": "Formátovať alebo vymazať fyzický disk | Dokumentácia ProxMenux",
"description": "Mazanie a formátovanie fyzických diskov v Proxmox VE pomocou ProxMenux. Štyri režimy, prísne filtre blokujúce systémové, pripojené a používané disky a dvojité potvrdenie vrátane zadania celej cesty.",
"ogTitle": "Formátovať alebo vymazať fyzický disk | Dokumentácia ProxMenux",
"ogDescription": "Vymažte alebo naformátujte fyzický disk v Proxmox. Bezpečnostné filtre, štyri režimy a dvojité potvrdenie."
},
"header": {
"title": "Formátovať / vymazať fyzický disk",
"description": "Vymažte alebo naformátujte fyzický disk na hostiteľovi Proxmox. ProxMenux zobrazí iba úplne voľné disky, ktoré nepoužíva systém, nie sú uvedené v konfigurácii hosťa a nemajú pripojené súborové systémy. Pred zničením dát vyžaduje dvojité potvrdenie: áno/nie a presné zadanie celej cesty k disku.",
"section": "Správca diskov · Nástroje"
},
"danger": {
"title": "Deštrukčný nástroj",
"body": "Každá operácia zapisuje na disk. Nedá sa vrátiť späť. ProxMenux používa prísne bezpečnostné filtre a potvrdenia, no za výber správneho disku zodpovedáte vy. Pred zadaním si cestu k disku dvakrát prečítajte nahlas."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve fázy s trojitou bezpečnostnou kontrolou medzi nimi. V prvej fáze sa zhromaždí výber disku, režim operácie a údaje súborového systému. Nič sa nezapíše, kým druhá fáza neprejde záverečným opätovným overením tesne pred vykonaním."
},
"visibility": {
"heading": "Pravidlá viditeľnosti",
"intro": "Pred tým, ako sa zobrazí menu, ProxMenux filtruje zoznam diskov. Zobrazujú sa iba kandidáti, ktorí sú preukázateľne v bezpečí:",
"items": [
"<strong>Zobrazené</strong>: disky, ktoré <em>nepoužíva</em> hostiteľ (koreňový pool, swap, pripojené systémy, aktívne ZFS/LVM/RAID) a <em>nie sú</em> uvedené v konfigurácii žiadnej VM/LXC, spustenej ani zastavenej.",
"<strong>Skryté</strong>: disky hostiteľa a systému.",
"<strong>Skryté</strong>: disky uvedené v konfigurácii VM/LXC."
],
"safetyTitle": "Bezpečnosť pri potvrdení a vykonávaní",
"safetyItems": [
"Disky so zastaranými alebo aktívnymi metadátami zobrazia podrobné upozornenia <em>pred</em> potvrdením.",
"Disky používané <strong>spustenou</strong> VM sa pri potvrdení <strong>bez výnimky zablokujú</strong>.",
"Disky s pripojenými oddielmi sú <strong>pevne zablokované</strong> pri spustení (tesne predtým, ako sa čokoľvek zapíše, sa spustí nové overenie).",
"Vždy sa vyžadujú dve potvrdenia: <em>áno/nie</em> dialógové okno + presné napísanie celej cesty k disku."
]
},
"modes": {
"heading": "Režimy prevádzky",
"intro": "Po vybratí disku si vyberiete jeden zo štyroch režimov. Odlišujú sa v tom, čo ničia a čo za sebou zanechávajú:",
"headerMode": "Režim",
"headerPart": "Tabuľka oddielov",
"headerData": "Údaje",
"headerUseCase": "Prípad použitia",
"rows": [
{
"mode": "1. Vymazať všetko",
"part": "Zničené",
"data": "Vymazané podpisy",
"useCase": "Odstráni tabuľku oddielov a metadáta súborových systémov a RAID, vynuluje prvých a posledných 16 MiB a na diskoch s podporou discard vykoná TRIM celého disku. Ostatné dáta sa neprepíšu a na HDD môžu byť stále obnoviteľné; nejde o bezpečné vymazanie."
},
{
"mode": "2. Odstrániť značky FS",
"part": "Zachované",
"data": "Zachované",
"useCase": "Odstráni staré podpisy ZFS / LVM / RAID, aby sa disk automaticky nepreberal. Používateľské dáta sa plošne neprepisujú, no odstránenie podpisov ich môže zneprístupniť."
},
{
"mode": "3. Prepísať dáta nulami",
"part": "Zachované",
"data": "Zničené (prepísané nulami)",
"useCase": "Prepíše existujúce oddiely nulami a zachová tabuľku oddielov. Nezahŕňa nepridelené miesto ani rezervné oblasti SSD; nezaručuje úplné bezpečné vymazanie zariadenia."
},
{
"mode": "4. Úplné formátovanie",
"part": "Nová GPT",
"data": "Zničené",
"useCase": "Disk pripravený na použitie s jednou novou partíciou a novým súborovým systémom."
}
],
"fullFormatOutro": "<strong>Úplné formátovanie</strong> pokračuje dvoma ďalšími dialógmi:",
"fullFormatItems": [
"<strong>Súborový systém</strong>: <code>ext4</code>, <code>xfs</code>, <code>exfat</code> (prenosný) alebo <code>btrfs</code>. Ak chýbajú nástroje, napríklad <code>mkfs.btrfs</code>, operácia sa preruší s jasnou správou.",
"<strong>Menovka</strong>: voliteľná menovka súborového systému na jeho identifikáciu."
]
},
"steps": {
"heading": "Krok za krokom",
"stepLabel": "Krok",
"list": [
{
"title": "Vyberte si voľný disk",
"body": "ProxMenux uvádza zoznam všetkých diskov, ktoré vyhovujú vyššie uvedeným filtrom viditeľnosti. Disky so značkami ⚠ nesú neaktuálne metadáta a zobrazujú sa s podrobnosťami, aby ste vedeli, čo sa chystáte prepísať."
},
{
"title": "Vybrať operačný režim",
"bodyRich": "Podľa tabuľky vyberte <strong>Vymazať všetko</strong>, <strong>Odstrániť značky FS</strong>, <strong>Prepísať dáta nulami</strong> alebo <strong>Úplné formátovanie</strong>."
},
{
"title": "(iba celý formát) Vyberte súborový systém a popis",
"body": "ext4 / xfs / exfat / btrfs, plus voliteľný štítok."
},
{
"title": "Potvrdiť dvakrát",
"bodyRich": "ProxMenux zobrazí prehľad plánovanej operácie. Potvrdíte dialóg áno/nie a <strong>zadáte celú cestu k disku</strong> presne podľa zobrazenia, napríklad <code>/dev/sdc</code>. Iný vstup operáciu zruší."
},
{
"title": "Opätovné overenie a vykonanie",
"body": "Tesne pred zápisom skript znova overí stav disku. Ak sa medzitým pripojil oddiel alebo spustila VM, vykonávanie sa preruší. Inak prebehne zvolená operácia a na konci sa zobrazí prehľad."
}
]
},
"manual": {
"heading": "Ručné ekvivalenty",
"body": "Ak chcete spustiť rovnocenné príkazy ručne:"
},
"troubleshoot": {
"notListedTitle": "Disk nie je uvedený v menu",
"notListedBody": "Disk bol z bezpečnostných dôvodov skrytý. Časté dôvody: je pripojený, aj pod <code>/mnt/tmp</code>, je aktívnym členom ZFS/LVM/RAID, je uvedený v konfigurácii VM/LXC alebo ide o koreňový disk Proxmox. Na hostiteľovi spustite <code>lsblk -f</code> a <code>cat /proc/mdstat</code> na zistenie dôvodu.",
"busyTitle": "\"Disk may be busy\" / odpojenie zlyhalo",
"busyBody": "Niektorý proces stále drží otvorený súbor na oddiele tohto disku, najčastejšie kontajner alebo shell s pracovným adresárom v bode pripojenia. Zistite ho pomocou <code>lsof | grep /dev/sdX</code> alebo <code>fuser -vm /dev/sdX1</code>, zastavte ho a znova spustite nástroj."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/smart-disk-test",
"label": "SMART Zdravie a test disku",
"tail": " — skontrolovať stav disku pred vymazaním alebo po ňom."
},
{
"href": "/docs/disk-manager/import-disk-vm",
"label": "Importovať disk do VM",
"tail": " — priradiť čerstvo naformátovaný disk VM."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Pridať lokálny disk ako Proxmox úložisko",
"tail": "— zaregistrujte vymazaný disk ako úložisko Proxmox pool."
},
{
"href": "/docs/help-info/storage-commands",
"label": "Príkazy pre úložiská a disky",
"tail": " — prehľad príkazov lsblk, blkid a parted."
},
{
"href": "/docs/disk-manager",
"label": "Prehľad správcu diskov",
"tail": "."
}
]
}
}
@@ -0,0 +1,110 @@
{
"meta": {
"title": "Importovať obraz disku do VM | Dokumentácia ProxMenux",
"description": "Import súboru obrazu disku (.img / .qcow2 / .vmdk / .raw) do existujúcej VM Proxmox pomocou ProxMenux. Rozhranie, emulácia SSD a príznak spúšťacieho disku sa nastavujú pre každý obraz; na pozadí sa používa qm importdisk.",
"ogTitle": "Importovať obraz disku do VM | Dokumentácia ProxMenux",
"ogDescription": "Importovať .img / .qcow2 / .vmdk / .raw diskové snímky do existujúceho VM s ProxMenux. Používa qm importdisk pod kapotou."
},
"header": {
"title": "Importovať obraz disku do VM",
"description": "Importujte súbor obrazu disku (.img, .qcow2, .vmdk alebo .raw) do existujúcej VM Proxmox. ProxMenux najprv zhromaždí všetky voľby: cieľovú VM, úložisko Proxmox, zdrojový adresár, rozhranie, emuláciu SSD a poradie spúšťania. Potom spustí qm importdisk pre každý vybraný obraz.",
"section": "Správca disku · VM"
},
"intro": {
"title": "Čo to robí?",
"body": "Na rozdiel od <em>Importovať disk do VM</em>, ktorý pripája fyzický disk priamo, tento postup používa <strong>súbor</strong> na hostiteľovi: exportovaný z iného hypervízora, stiahnutý ako cloudový obraz alebo extrahovaný zo zálohy. Prevedie ho na disk VM Proxmox na zvolenom úložisku. Pôvodný súbor zostáva zachovaný; ProxMenux ho skopíruje, nepresunie."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve fázy. Prvá zhromaždí cez dialógy všetky voľby: VM, úložisko, zdrojový adresár, obrazy a možnosti pre každý obraz. Druhá spustí <code>qm importdisk</code> pre každý vybraný obraz. Kým sa druhá fáza nezačne, nič sa nekopíruje a konfigurácia VM sa nemení."
},
"prereqs": {
"heading": "Predpoklady",
"items": [
"Na hostiteľovi je definovaná aspoň jedna VM. Cieľová VM by mala byť <strong>vypnutá</strong>.",
"V zdrojovom adresári je aspoň jeden súbor obrazu v podporovanom formáte: <code>.img</code>, <code>.qcow2</code>, <code>.vmdk</code>, <code>.raw</code>.",
"Na cieľovom úložisku Proxmox je dosť voľného miesta pre všetky importované disky.",
"ProxMenux štandardne hľadá obrazy v <code>/var/lib/vz/template/iso</code>. Po výzve môžete zadať aj iný adresár na hostiteľovi."
]
},
"steps": {
"heading": "Krok za krokom",
"stepLabel": "Krok",
"list": [
{
"title": "Vyberte cieľovú VM",
"bodyRich": "ProxMenux načíta <code>qm list</code> a zobrazí všetky VM. Vyberte tú, ktorá dostane importované disky."
},
{
"title": "Vyberte Proxmox úložisko",
"bodyRich": "Zoznam obsahuje všetky úložiská s povoleným typom obsahu <code>images</code>. Ak je dostupné iba jedno, vyberie sa automaticky a dialóg sa preskočí."
},
{
"title": "Vyberte zdrojový adresár",
"bodyRich": "Vyberte predvolený adresár (<code>/var/lib/vz/template/iso</code>) alebo zadajte vlastnú cestu, zvyčajne tam, kde ste obraz stiahli alebo nahrali. Skript odmietne neexistujúce cesty."
},
{
"title": "Vybrať jeden alebo viac obrazov",
"bodyRich": "V adresári sa vyhľadajú súbory <code>.img</code> / <code>.qcow2</code> / <code>.vmdk</code> / <code>.raw</code>. Možno ich vybrať viac naraz; v ďalšom kroku sa pre každý obraz nastavia samostatné voľby."
},
{
"title": "Možnosti pre jednotlivé obrazy",
"intro": "Pre každý vybraný obraz sa ProxMenux opýta:",
"items": [
"<strong>Rozhranie</strong> — <code>scsi</code> (predvolené), <code>virtio</code>, <code>sata</code> alebo <code>ide</code>. Zhoduje sa s tým, ako hosť uvidí disk.",
"<strong>Emulácia SSD</strong>: ponúka sa iba pre rozhrania iné než VirtIO. Pridá <code>ssd=1</code>, aby hosť rozpoznal disk SSD. Podporu discard/TRIM treba nastaviť samostatne.",
"<strong>Spúšťací</strong>: pri voľbe áno ProxMenux pridá disk do poradia spúšťania ako hlavné spúšťacie zariadenie VM."
]
},
{
"title": "Importovať a pripojiť",
"bodyRich": "ProxMenux spustí <code>qm importdisk</code> pre každý obraz a podľa potreby skonvertuje formát. Výsledný disk pripojí na ďalší voľný slot (<code>scsiN</code>, <code>sataN</code>, …) so zvolenými možnosťami. Ak ste označili niektorý disk ako spúšťací, aktualizuje poradie spúšťania. Priebeh sa zobrazuje v termináli."
}
]
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Import jedného obrazu zodpovedá trom príkazom <code>qm</code>:",
"warnTitle": "Konverzia formátu obrazu",
"warnBody": "Ak cieľové úložisko nemôže držať zdrojový formát natívne (napríklad LVM úložisko nemôže držať <code>.qcow2</code>), <code>qm importdisk</code> konvertuje obraz transparentne. To môže trvať niekoľko minút pre viac-GB snímky; podľa toho plán a neprerušujte skript."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noImagesTitle": "\"Nenájdené žiadne kompatibilné obrazy disku\"",
"noImagesBody": "Skript prehľadal adresár, ale nenašiel žiadny súbor <code>.img</code> / <code>.qcow2</code> / <code>.vmdk</code> / <code>.raw</code>. Skontrolujte príponu (rozlišujú sa veľké a malé písmená), či je súbor priamo vo vybranom adresári (podadresáre sa neprehľadávajú) a či ho root môže čítať.",
"slowTitle": "Import je pomalý",
"slowBody": "Konverzie medzi VMDK, QCOW2 a raw môžu byť obmedzené CPU a vstupom/výstupom. Rýchlosť závisí od čítania zdroja, zápisu na cieľ a prípadnej dekompresie. Ak je to možné, uprednostnite zdroje raw alebo qcow2.",
"uefiTitle": "Importovaný disk sa spustí do UEFI shellu",
"uefiBody": "Obraz bol vytvorený pre starší režim (SeaBIOS), ale VM používa OVMF alebo naopak. Prepnite BIOS VM v Proxmox podľa obrazu alebo obraz pred importom znova vytvorte v správnom režime."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/import-disk-vm",
"label": "Importovať disk do VM",
"tail": " — rovnaký postup pre fyzické disky (passthrough)."
},
{
"href": "/docs/utils/import-vm",
"label": "Importovať VM z OVA / OVF",
"tail": " — keď máte kompletný balík VM, nielen obraz disku."
},
{
"href": "/docs/utils/UUp-Dump-ISO-Creator",
"label": "Tvorba ISO cez UUP Dump",
"tail": " — vytvoriť ISO Windows pre novú inštaláciu."
},
{
"href": "/docs/help-info/storage-commands",
"label": "Príkazy pre úložiská a disky",
"tail": " — prehľad príkazov qm importdisk a qemu-img convert."
},
{
"href": "/docs/disk-manager",
"label": "Prehľad správcu diskov",
"tail": "."
}
]
}
}
@@ -0,0 +1,115 @@
{
"meta": {
"title": "Importovať disk do LXC | ProxMenux Dokumentácia",
"description": "Pripojte fyzický disk k existujúcemu kontajneru LXC v Proxmox VE pomocou ProxMenux. Zabezpečí rozpoznanie a formátovanie súborového systému, bod pripojenia, konverziu z neprivilegovaného na privilegovaný kontajner a trvalé cesty zariadení.",
"ogTitle": "Importovať disk do LXC | ProxMenux Dokumentácia",
"ogDescription": "Pripojte fyzický disk k existujúcemu kontajneru LXC. Zabezpečí súborový systém, bod pripojenia a konverziu z neprivilegovaného na privilegovaný kontajner."
},
"header": {
"title": "Importovať disk do LXC",
"description": "Pripojte fyzický disk k existujúcemu LXC kontajneru na Proxmox hostiteľa. ProxMenux detekuje voľné disky, voliteľne ich formátuje podporovaným súborovým systémom a prepojí partíciu na bod pripojenia vo vnútri kontajnera pomocou trvalých trás zariadenia.",
"section": "Správca disku · LXC"
},
"intro": {
"title": "Passthrough vo VM a v LXC",
"body": "Tento passthrough LXC <strong>neposkytuje priamo blokové zariadenie</strong>. Kontajner dostane <em>bod pripojenia</em>, teda adresár na vybranom oddiele hostiteľa. Na rozdiel od VM používa jadro hostiteľa, preto súborový systém (ext4/xfs/btrfs) číta a spravuje hostiteľ Proxmox a následne ho sprístupní kontajneru."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve oddelené fázy: zhromaždenie informácií a volieb, potom samotnú zmenu konfigurácie kontajnera. Až do záverečného potvrdenia sa v CT nič nepripája.",
"summary": "ProxMenux skryje koreňový disk, pripojené disky a disky uvedené v konfiguráciách VM/LXC. Aktívni členovia ZFS/LVM/RAID sú skrytí; staré podpisy sú označené ⚠, aby ste ich mohli pred formátovaním vymazať."
},
"prereqs": {
"heading": "Predpoklady",
"items": [
"Aspoň jeden kontajner LXC definovaný na hostiteľovi.",
"Kontajner je <strong>privilegovaný</strong>, alebo akceptujete ponuku skriptu na jeho konverziu.",
"Aspoň jeden fyzický disk nepoužívaný hostiteľom alebo iným hosťom."
],
"warnTitle": "Požadovaný privilegovaný kontajner",
"warnBody": "Tento skript vyžaduje na priame pripojenie disku <strong>privilegovaný</strong> kontajner. Ak nájde <code>unprivileged: 1</code>, ponúkne priamu úpravu <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. Zmení sa bezpečnostný model, ale vlastníctvo existujúcich súborov sa nepremapuje. Pred prijatím kontajner zálohujte a overte vlastníctvo alebo ho znova vytvorte ako privilegovaný."
},
"steps": {
"heading": "Krok za krokom",
"stepLabel": "Krok",
"list": [
{
"title": "Vybrať cieľový kontajner",
"img": "/disk/select-container.png",
"caption": "Výberové menu kontajnera",
"bodyRich": "ProxMenux uvádza každý LXC kontajner na hostiteľa (<code>pct list</code>). Vyberte ten, ktorý dostane disk. Ak je kontajner neprivilegovaný, ponúka sa mu konvertovať teraz."
},
{
"title": "Vyberte fyzický disk",
"img": "/disk/disk-selection-ct.png",
"caption": "Voľné disky na hostiteľovi, s označením ⚠ pre staré metadáta",
"bodyRich": "Zobrazia sa iba bezpeční kandidáti. Na rozdiel od postupu pre VM tento skript pripojí <strong>jeden disk na spustenie</strong>. Pre každý ďalší disk ho spustite znova."
},
{
"title": "Formátovať alebo znova použiť",
"intro": "Skript kontroluje disk:",
"items": [
"Ak už obsahuje podporovaný súborový systém (ext4/xfs/btrfs), možno ho použiť bez zmeny; existujúce súbory sa zachovajú.",
"Ak disk nemá podporovaný súborový systém, ponúkne sa formátovanie. Vyberte ext4/xfs/btrfs."
]
},
{
"title": "Vyberte bod pripojenia",
"bodyRich": "Zadajte cestu, kde má kontajner vidieť disk, napríklad <code>/mnt/data</code> alebo <code>/mnt/disk_passthrough</code>. Ide o cestu <em>vnútri</em> kontajnera; hostiteľ už vidí oddiel pod <code>/dev/disk/by-id/…</code>."
},
{
"title": "Pripojiť a overiť",
"img": "/disk/assignment-ct.png",
"caption": "Priradenie ku CT",
"bodyRich": "ProxMenux pridá do konfigurácie kontajnera nový záznam <code>mpN:</code>, pričom preskočí už použité indexy. Potom konfiguráciu znovu načíta a overí. Ak kontajner beží, pripojenie sa vykoná za behu; inak sa uplatní pri ďalšom spustení.",
"extraImg": "/disk/result-point.png",
"extraAlt": "Bod pripojenia vytvorený úspešne",
"extraCaption": "Bod pripojenia vytvorený a overený"
}
]
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Skript používa <code>pct set</code>. Priamy príkaz pre jeden disk vyzerá takto:"
},
"important": {
"heading": "Dôležité úvahy",
"items": [
"<strong>Jeden disk na spustenie</strong>. Znova spustite skript pre každý ďalší disk.",
"<strong>Nepripájajte</strong> rovnaký oddiel k viacerým kontajnerom, ktoré by ho mohli pripojiť súčasne; súbežné zápisy poškodia súborový systém.",
"<strong>Staré metadáta</strong> (podpisy RAID / ZFS / LVM) sa musia manuálne vymazať skôr, ako vám skript umožní formátovanie, inak <code>mkfs</code> odmietne prepísať. Použite na to nástroj <wipeLink>Formátovanie / vymazanie fyzického disku</wipeLink>."
]
},
"troubleshoot": {
"heading": "Riešenie problémov",
"unprivTitle": "\"Nemôže pokračovať s neprivilegovaným kontajnerom\"",
"unprivBody": "Odmietli ste konverziu, takže skript skončil bez akejkoľvek zmeny. Ak chcete pokračovať, spustite ho znova a súhlaste: skript zastaví kontajner, zálohuje jeho konfiguráciu do <code>/etc/pve/lxc/&lt;CTID&gt;.conf.bak</code> a nahradí <code>unprivileged: 1</code> hodnotou <code>unprivileged: 0</code>. Samotná zmena neprevedie vlastníctvo UID/GID existujúcich súborov; preto kontajner najprv zálohujte a upravte vlastníkov, prípadne ho obnovte alebo znova vytvorte ako privilegovaný.",
"permsTitle": "Práva vnútri kontajnera sú nesprávne",
"permsBody": "Pri pripojení oddielu do privilegovaného kontajnera sa zachová existujúce vlastníctvo súborov; nový súborový systém často patrí <code>root:root</code>. Ak služba beží pod iným používateľom, napríklad <code>www-data</code> pri Nextcloude, overte UID/GID a upravte potrebné súbory pomocou <code>chown</code>/<code>chmod</code>. Zmeny ovplyvnia aj podkladový disk."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/import-disk-vm",
"label": "Importovať disk do VM",
"tail": " — rovnaký postup pre VM."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC mount pointy (Host ↔ CT)",
"tail": " Zdieľať adresáre hostiteľa s CT namiesto pripojenia celého disku."
},
{
"href": "/docs/help-info/vm-ct-commands",
"label": "Príkazy na správu VM a CT",
"tail": " — prehľad príkazov pct config / push / pull."
},
{
"href": "/docs/disk-manager",
"label": "Prehľad správcu diskov",
"tail": "."
}
]
}
}
@@ -0,0 +1,113 @@
{
"meta": {
"title": "Importovať disk do VM | ProxMenux Dokumentácia",
"description": "Pripojte fyzický disk na existujúci Proxmox VM s ProxMenux. Bezpečná detekcia disku (okrem systému, namontovaných, používaných, ZFS/RAID/LVM), perzistentných ciest /dev/disk/by-id a SATA / SCSI / VirtIO / IDE rozhraní.",
"ogTitle": "Importovať disk do VM | ProxMenux Dokumentácia",
"ogDescription": "Pripojte fyzický disk na existujúci Proxmox VM. Používa perzistentné cesty /dev/disk/by-id a podporuje SATA / SCSI / VirtIO / IDE."
},
"header": {
"title": "Importovať disk do VM",
"description": "Pripojte fyzický disk, ktorý už existuje na Proxmox hostiteľa k existujúcemu virtuálnemu stroju. ProxMenux detekuje voľné disky, umožňuje vám vybrať cieľovú VM, typ zbernice (SATA / SCSI / VirtIO / IDE) a pripojí všetko pomocou perzistentných ciest /dev/disk/by-id, takže mapovanie prežije reštarty a zmeny v poradí zariadenia.",
"section": "Správca disku · VM"
},
"intro": {
"title": "Čo to robí?",
"body": "Fyzický disk sa pripojí ako podkladové zariadenie rozhrania virtuálneho disku. Hosť automaticky nedostane natívne SMART dáta ani funkcie fyzického radiča; ak ich potrebujete, použite PCI passthrough radiča. Disk sa pripája cez svoju cestu <code>/dev/disk/by-id/…</code>, ak existuje, takže zmena poradia zariadení pri štarte nenaruší priradenie; inak sa použije <code>/dev/sdX</code>."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve oddelené fázy: zhromaždenie informácií a volieb, potom samotné pripojenie diskov k VM. Až do záverečného potvrdenia sa konfigurácia VM nemení.",
"summary": "ProxMenux filtruje všetko, čo nemôže bezpečne prejsť: koreňový disk, disky pripojené k hostiteľovi, členovia aktívneho ZFS/LVM/RAID pool a disky, na ktoré už odkazujú VM/LXC konfigurácia. Disky s <em>zastaranými</em> metadátami (staré ZFS / RAID / LVM podpisy, ktoré sa už nepoužívajú) sú zobrazené s označením ⚠, ale nie sú blokované."
},
"prereqs": {
"heading": "Predpoklady",
"items": [
"Aspoň jeden VM definovaný na hostiteľovi (skript odosiela priamo do <code>qm list</code>).",
"<strong>Cieľová VM je vypnutá</strong>. Ak beží, skript sa preruší so správou; pridávanie diskov za behu nie je súčasťou tohto postupu.",
"Aspoň jeden fyzický disk na hostiteľa, ktorý nie je v prevádzke hostiteľom alebo iným hosťom."
]
},
"steps": {
"heading": "Krok za krokom",
"stepLabel": "Krok",
"list": [
{
"title": "Vyberte cieľovú VM",
"bodyRich": "ProxMenux vypíše všetky VM hostiteľa cez <code>qm list</code>. Vyberte tú, ktorej chcete pripojiť disk. Ak beží, skript sa preruší a vyžiada si jej vypnutie."
},
{
"title": "Vybrať fyzické disky na pripojenie",
"img": "/disk/disk-selection.png",
"caption": "Voľné disky na hostiteľovi, s označením ⚠ pre staré metadáta",
"body": "Skript prehľadá každý hostiteľský disk a zobrazí len tie, ktoré je možné bezpečne pripojiť. Kontrolný zoznam vám umožňuje vybrať jeden alebo niekoľko naraz. Disky so starými ZFS / LVM / RAID signatúrami sa stále zobrazujú a sú označené ⚠, takže viete, že je potrebné ich vymazať, aby ich hosť mohol naformátovať."
},
{
"title": "Vyberte rozhranie zbernice",
"img": "/disk/disk-assigment.png",
"caption": "Výber rozhrania zbernice",
"intro": "Vyberte si, ako by mal hosť vidieť disk:",
"items": [
"<strong>SCSI</strong>: moderná predvolená voľba pre Linux a Windows s nainštalovanými ovládačmi VirtIO-SCSI.",
"<strong>SATA</strong>: široká kompatibilita, funguje bez ďalších ovládačov takmer v každom hosťovi.",
"<strong>VirtIO</strong>: efektívne paravirtualizované blokové zariadenie; vyžaduje ovládače v hosťovi.",
"<strong>IDE</strong>: pre staršie hosťovské systémy, ktorým chýbajú uvedené ovládače."
]
},
{
"title": "Pripojiť a overiť",
"bodyRich": "ProxMenux pripojí každý vybraný disk cez najvhodnejšiu cestu <code>/dev/disk/by-id/</code>, preskočí už obsadené sloty konfigurácie VM (<code>scsi0</code>, <code>sata0</code>, …) a znova načíta konfiguráciu na overenie priradenia. Na konci zobrazí prehľad."
}
]
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Scenár je obal okolo <code>qm set</code>. Presný príkaz pre jeden disk vyzerá takto:",
"migrationTitle": "Živá migrácia nie je možná",
"migrationBody": "VM s priamo pripojeným fyzickým diskom je <strong>viazaná na hostiteľa, ktorý disk sprístupňuje</strong>. Iný uzol zvyčajne nemá rovnakú cestu <code>/dev/disk/by-id/…</code> ani dáta disku. Zálohujte a preneste dáta samostatne alebo použite spravované virtuálne disky na zdieľanom či podporovanom replikovanom úložisku. Nepredpokladajte, že replikácia Proxmox zahŕňa toto zariadenie.",
"shareTitle": "Nezdieľať fyzický disk medzi VM",
"shareBody": "Pripojenie rovnakého fyzického disku k dvom VM súčasne skazí dáta pri ďalšom zápise. ProxMenux detekuje túto situáciu a blokuje ju, ale ak obídete skript (direct <code>qm set</code>), uistite sa, že len jeden hosť niekedy pripojí disk."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noDisksTitle": "\"Nie sú k dispozícii disky pre tento VM\"",
"noDisksIntro": "Skript našiel disky, ale každý kandidát bol odfiltrovaný. Časté dôvody:",
"noDisksItems": [
"Každý zostávajúci disk je už uvedený v cieľovom VM konfigurácii.",
"Každý zostávajúci disk je namontovaný na hostiteľa alebo je súčasťou aktívneho ZFS / LVM / RAID.",
"Hostiteľ má nainštalovaný iba koreňový disk."
],
"noDisksOutro": "Spustite <code>lsblk -f</code> na hostiteľa skontrolovať stav každého disku.",
"noVisibleTitle": "VM nevidí disk po štarte",
"noVisibleBody": "Pri <strong>SCSI</strong> alebo <strong>VirtIO</strong> hosť potrebuje príslušný ovládač. Linux ho má v jadre; vo Windowse ho nainštalujte z VirtIO ISO (pozrite <winLink>Vytvoriť VM: Windows</winLink>). Prepnutie na SATA na karte Hardvér VM je rýchly test priradenia disku."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/import-disk-image-vm",
"label": "Importovať obraz disku do VM",
"tail": " — rovnaký postup pre súbory obrazov (qcow2 / vmdk / raw / img)."
},
{
"href": "/docs/disk-manager/import-disk-lxc",
"label": "Importovať disk do LXC",
"tail": " — rovnaký postup pre kontajnery LXC."
},
{
"href": "/docs/disk-manager/add-controller-nvme-vm",
"label": "Pridať radič alebo NVMe do VM",
"tail": " — ak potrebujete úplný PCIe/NVMe passthrough namiesto pripojenia disku."
},
{
"href": "/docs/help-info/storage-commands",
"label": "Príkazy pre úložiská a disky",
"tail": " — prehľad qm importdisk a súvisiacich príkazov shellu."
},
{
"href": "/docs/disk-manager",
"label": "Prehľad správcu diskov",
"tail": "."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Správca diskov Proxmox: VM/LXC, testy SMART a mazanie | ProxMenux",
"description": "Spravujte fyzické disky hostiteľa Proxmox VE pomocou ProxMenux: pripájajte disky k VM alebo LXC (qm set scsi/sata/virtio, pct mp), importujte obrazy img / qcow2 / vmdk / raw, priraďujte celé HBA alebo radiče NVMe, mažte disky s bezpečnostnými kontrolami a spúšťajte testy SMART.",
"ogTitle": "Správca diskov Proxmox: VM/LXC, testy SMART a mazanie",
"ogDescription": "Pripájajte disky k VM/LXC, importujte obrazy, priraďujte radiče cez PCI passthrough, mažte s bezpečnostnými kontrolami a spúšťajte testy SMART v Proxmox VE.",
"twitterTitle": "Správca diskov Proxmox | ProxMenux",
"twitterDescription": "Pripojenie diskov k VM/LXC, import obrazov, PCI passthrough, mazanie s bezpečnostnými kontrolami a testy SMART."
},
"header": {
"title": "Správca diskov",
"description": "Ponuka Správca diskov združuje nástroje ProxMenux na správu fyzických diskov hostiteľa: pripojenie k VM a LXC, import obrazov diskov, passthrough celého radiča alebo zariadenia NVMe, mazanie s bezpečnostnými kontrolami a testy SMART.",
"section": "Správca diskov"
},
"intro": {
"title": "Na čo je toto menu",
"body": "Nástroje pracujú s <strong>fyzickými diskami viditeľnými pre hostiteľa Proxmox a súbormi obrazov uloženými na ňom</strong>. Sú rozdelené do troch skupín: <strong>VM</strong> (pripojenie diskov alebo import obrazov), <strong>LXC</strong> (pripojenie diskov ku kontajneru) a <strong>Nástroje</strong> (formátovanie a stav SMART). Pripájanie a mazanie skryje alebo zablokuje systémové a používané disky; SMART ich môže kontrolovať bez vymazania."
},
"opening": {
"heading": "Otvorenie menu",
"body": "V hlavnej ponuke ProxMenux vyberte <strong>Správca diskov</strong>. Zobrazí sa:",
"imageAlt": "Menu správcu diskov s VM, LXC a blokmi utilít"
},
"groups": {
"heading": "Tri skupiny nástrojov",
"intro": "Ponuka Disk Manager je organizovaná v troch skupinách <strong>VM</strong>, <strong>LXC</strong> a <strong>Nástroje</strong>. Kliknite na kartu pre skok priamo na nástroje v tejto skupine.",
"vmTitle": "VM",
"vmBody": "Nástroje pre existujúce virtuálne stroje. VM musí byť vypnutá; ProxMenux to overí pred zmenou konfigurácie.",
"vmItems": [
"Importovať disk do VM",
"Importovať obraz disku do VM",
"Pridať radič alebo NVMe do VM"
],
"lxcTitle": "LXC",
"lxcBody": "Nástroje pre existujúce kontajnery LXC. Tento skript vyžaduje privilegovaný kontajner a podľa potreby ponúkne zmenu príznaku. Najprv si na stránke nástroja prečítajte upozornenia ku konverzii a vlastníctvu súborov.",
"lxcItems": [
"Importovať disk do LXC"
],
"utilitiesTitle": "Nástroje",
"utilitiesBody": "Nástroje na strane hostiteľa, ktoré fungujú na samotných diskoch, nezávisle od akéhokoľvek VM alebo kontajnera.",
"utilitiesItems": [
"Formátovať / vymazať fyzický disk",
"SMART Zdravie a test disku"
]
},
"vm": {
"heading": "VM",
"intro": "Nástroje pre existujúce virtuálne stroje. VM musí byť vypnutá; ProxMenux to overí pred zmenou konfigurácie.",
"options": [
{
"icon": "HardDrive",
"href": "/docs/disk-manager/import-disk-vm",
"title": "Importovať disk do VM",
"description": "Pripojte nepridelený fyzický disk na existujúci VM. Podporuje SATA / SCSI / VirtIO / IDE, používa trvalé cesty /dev/disk/by-id."
},
{
"icon": "FileDown",
"href": "/docs/disk-manager/import-disk-image-vm",
"title": "Importovať obraz disku do VM",
"description": "Import súborov obrazov disku (.img / .qcow2 / .vmdk / .raw) do existujúcej VM. Dvojfázový postup s qm importdisk na pozadí."
},
{
"icon": "Cpu",
"href": "/docs/disk-manager/add-controller-nvme-vm",
"title": "Pridať radič alebo NVMe do VM",
"description": "PCI priechod celého zariadenia SATA / SAS HBA alebo NVMe do zariadenia VM. Ovláda IOMMU a umožňuje odhaľovanie konfliktov."
}
]
},
"lxc": {
"heading": "LXC",
"intro": "Nástroje pre existujúce kontajnery LXC. Tento skript vyžaduje privilegovaný kontajner a podľa potreby ponúkne zmenu príznaku. Najprv si na stránke nástroja prečítajte upozornenia ku konverzii a vlastníctvu súborov.",
"options": [
{
"icon": "Boxes",
"href": "/docs/disk-manager/import-disk-lxc",
"title": "Importovať disk do LXC",
"description": "Pripojí nepriradený fyzický disk k existujúcemu kontajneru LXC ako bod pripojenia. Zabezpečí rozpoznanie a formátovanie súborového systému aj zmenu na privilegovaný režim."
}
]
},
"utilities": {
"heading": "Nástroje",
"intro": "Nástroje na strane hostiteľa, ktoré fungujú na samotných diskoch, nezávisle od akéhokoľvek VM alebo kontajnera.",
"options": [
{
"icon": "Eraser",
"href": "/docs/disk-manager/format-disk",
"title": "Formátovať / vymazať fyzický disk (bezpečne)",
"description": "Mazanie diskov s prísnymi bezpečnostnými kontrolami: zobrazia sa iba úplne voľné disky a vždy sa vyžaduje dvojité potvrdenie."
},
{
"icon": "Activity",
"href": "/docs/disk-manager/smart-disk-test",
"title": "SMART Zdravie a test disku",
"description": "Spustite SMART zdravotné kontroly a krátke / dlhé vlastné testy na SATA, SAS a NVMe disky. Exportuje JSON pre monitor."
}
]
},
"safety": {
"title": "Bezpečnostné pravidlá pripájania a mazania diskov",
"intro": "Pripájanie a mazanie vylučuje zariadenia, ktoré by mohli poškodiť hostiteľa:",
"items": [
"<strong>systémový disk</strong> (koreňový pool, swap, aktívny ZFS / LVM členovia RAID) je vždy skrytý.",
"Disky <strong>pripojené</strong> kdekoľvek na hostiteľovi sa nezobrazia alebo sa ich použitie pri vykonávaní zablokuje.",
"Disky, na ktoré <strong>odkazuje spustená VM alebo LXC</strong>, nemožno priradiť inému hosťovi ani vymazať.",
"Operácie, ktoré môžu zmeniť hostiteľský stav (IOMMU povoliť, vymazať) vyžadujú explicitné potvrdenie."
]
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share",
"label": "Správca úložísk a zdieľania",
"tail": " Registrácia úložiska v Proxmoxe (NFS / Samba / iSCSI / miestne) a zdieľať priečinky medzi hostiteľom a CTs."
},
{
"href": "/docs/help-info/storage-commands",
"label": "Príkazy pre úložiská a disky",
"tail": " — prehľad blokových zariadení, LVM, pvesm a SMART."
},
{
"href": "/docs/help-info/zfs-commands",
"label": "Príkazy na správu ZFS",
"tail": " — pre pooly a datasety ZFS."
},
{
"href": "/docs/hardware/gpu-vm-passthrough",
"label": "Pridať GPU do VM (passthrough)",
"tail": " — rovnaké princípy IOMMU/VFIO použité pre GPU."
}
]
}
}
@@ -0,0 +1,146 @@
{
"meta": {
"title": "Stav a testy diskov SMART | Dokumentácia ProxMenux",
"description": "Kontroly stavu SMART a testy diskov v Proxmox VE pomocou ProxMenux. Podporuje SATA/SAS cez smartmontools a NVMe cez nvme-cli, krátke aj dlhé testy a export JSON pre ProxMenux Monitor.",
"ogTitle": "Stav a testy diskov SMART | Dokumentácia ProxMenux",
"ogDescription": "Kontroly stavu SMART a testy diskov SATA/SAS a NVMe v Proxmox. Export JSON pre Monitor."
},
"header": {
"title": "SMART Zdravie a test disku",
"description": "Čítajte dáta SMART a spúšťajte testy fyzických diskov hostiteľa Proxmox. ProxMenux automaticky nainštaluje smartmontools pre SATA/SAS a nvme-cli pre NVMe, spustí test vo firmvéri disku (dlhé testy pokračujú aj po zatvorení terminálu) a exportuje výsledky JSON pre ProxMenux Monitor.",
"section": "Správca diskov · Nástroje"
},
"intro": {
"title": "Načo to je?",
"body": "SMART (Self-Monitoring, Analysis and Reporting Technology) umožňuje disku hlásiť svoj stav a vykonávať vlastné testy. Nástroj zobrazí tieto dáta bez potreby pamätať si správne volanie <code>smartctl</code> alebo <code>nvme</code> a uloží výstup ako JSON, aby Monitor mohol zobrazovať vývoj v čase."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Všetky akcie sú nedeštruktívne: SMART číta počítadlá firmvéru disku a testy prebiehajú v samotnom disku. Nie je potrebné oddeľovať fázy. Postup: kontrola závislostí → výber disku → výber akcie → volanie nástroja smartctl alebo nvme-cli podľa typu disku → zobrazenie výstupu a export JSON pre Monitor."
},
"deps": {
"heading": "Závislosti",
"body": "Nástroj pri prvom spustení automaticky nainštaluje potrebné závislosti. Disky SATA / SAS používajú <code>smartmontools</code>, disky NVMe používajú <code>nvme-cli</code>. Oba balíky:"
},
"actions": {
"heading": "Dostupné opatrenia",
"headerAction": "Akcia",
"headerWhat": "Čo číta alebo spúšťa",
"headerDur": "Trvanie",
"rows": [
{
"action": "Rýchly zdravotný stav",
"whatRich": "Celkový stav PASSED/FAILED a kľúčové atribúty.<br /><code>smartctl -H</code> + <code>-A</code> (SATA/SAS) alebo <code>nvme smart-log</code> (NVMe).",
"dur": "Okamžite"
},
{
"action": "Úplná správa",
"whatRich": "Kompletné dáta SMART, posuvné. <code>smartctl -x</code> pre SATA/SAS alebo <code>nvme smart-log</code> + <code>id-ctrl</code> pre NVMe.",
"dur": "Okamžite"
},
{
"action": "Krátky test",
"what": "Základná kontrola povrchu a elektroniky vo firmvéri disku.",
"dur": "~2 minút"
},
{
"action": "Dlhá skúška",
"what": "Úplná kontrola povrchu. Beží na hardvéri disku a pokračuje aj po zatvorení terminálu.",
"dur": "Hodiny (od veľkosti disku závisí)"
},
{
"action": "Skontrolovať priebeh testu",
"what": "Stav aktívneho alebo posledného samotestu.",
"dur": "Okamžite"
}
],
"tipTitle": "Dlhé testy pokračujú po zatvorení terminálu",
"tipBody": "Dlhý test beží <em>vnútri disku</em> a nezávisí od bežiaceho procesu ProxMenux. Terminál môžete zavrieť a neskôr použiť <strong>Skontrolovať priebeh testu</strong>. Reštart hostiteľa, reset radiča alebo výpadok napájania môže prerušiť test aj zber výsledkov; nepredpokladajte automatické pokračovanie."
},
"json": {
"heading": "Export JSON pre monitor",
"intro": "Akcie stavu, krátkeho testu a priebehu zapisujú JSON s časovou pečiatkou do <code>/usr/local/share/proxmenux/smart/&lt;disk&gt;/</code>; výsledky dlhého testu sa zbierajú na pozadí. Úplná správa sa iba zobrazí. Štruktúra je:",
"outro": "ProxMenux Monitor používa tieto súbory na zobrazenie vývoja stavu diskov. Staré súbory sa po dosiahnutí limitu uchovávania automaticky odstránia."
},
"steps": {
"heading": "Krok za krokom",
"stepLabel": "Krok",
"list": [
{
"title": "Vybrať disk",
"body": "ProxMenux vypíše všetky fyzické disky hostiteľa s modelom a veľkosťou. Na rozdiel od nástroja formátovania sa tu bezpečnostné filtre nepoužívajú, pretože čítanie SMART je nedeštruktívne.",
"img": "/disk/smart/disk-selection.png",
"alt": "Menu výberu disku SMART",
"caption": "Menu výberu disku SMART"
},
{
"title": "Vybrať akciu",
"body": "Vyberte rýchly stav, úplnú správu, krátky test, dlhý test alebo kontrolu priebehu. Ponuka zostane po každej akcii otvorená, aby ste mohli vykonať viac kontrol toho istého disku.",
"img": "/disk/smart/action-menu.png",
"alt": "Akčné menu SMART",
"caption": "Akčné menu SMART (5 akcie + zrušiť)"
},
{
"title": "(Iba dlhý test) Potvrdiť vykonávanie na pozadí",
"body": "ProxMenux upozorní, že test bude pokračovať po zatvorení terminálu, a zobrazí miesto uloženia výsledku JSON. Potvrdením spustíte test.",
"img": "/disk/smart/long-test-warning.png",
"alt": "Dialóg potvrdenia dlhého testu",
"caption": "Potvrdenie dlhého testu: beží na pozadí a výsledok sa uloží do JSON"
},
{
"title": "Skontrolovať výsledky",
"bodyRich": "Stav, testy a priebeh sa zobrazia v termináli; <strong>Úplná správa</strong> sa otvorí v posúvateľnom dialógu. JSON sa exportuje pri vyššie opísaných akciách, nie pri úplnej správe. Pri dlhých testoch neskôr použite <strong>Skontrolovať priebeh testu</strong> na rovnakom disku.",
"img": "/disk/smart/quick-status.png",
"alt": "Výstup rýchlej kontroly stavu",
"caption": "Rýchly prehľad stavu disku (SATA — smartctl -H + -A)"
}
]
},
"manual": {
"heading": "Ručné ekvivalenty",
"nvmeWarnTitle": "Testy NVMe závisia od firmvéru disku",
"nvmeWarnBody": "Nie každý NVMe disk podporuje krátky/dlhý samotestový príkaz. Ak pohon odmietne test, log SMART a dáta ovládača ID (<code>nvme smart-log</code> + <code>id-ctrl</code>) sú stále najspoľahlivejším zdravotným signálom."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noSmartTitle": "\"Nepodarilo sa prečítať dáta SMART z /dev/sdX\"",
"noSmartBody": "Disk je pravdepodobne za radičom RAID/SAS, ktorý nesprístupňuje SMART. Pri kartách megaraid skúste <code>smartctl -d megaraid,N /dev/sdX</code>. Pri HBA v režime IT funguje priame volanie.",
"longTitle": "Dlhý test sa nikdy nedokončil",
"longBody": "Test beží vo firmvéri disku a vysoká záťaž ho môže spomaliť. Skúste pokojné obdobie, napríklad noc. Pri SATA zobrazí <code>smartctl -c</code> zostávajúce percento, pri SAS <code>smartctl -l selftest</code>; výsledok a prípadné chybné LBA nájdete v zázname testov. Chybu čítania treba preskúmať; pomalý priebeh sám osebe nedokazuje chybný sektor."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Formátovať / vymazať fyzický disk",
"tail": " — znova použiť disk po overení jeho stavu."
},
{
"href": "/docs/help-info/storage-commands",
"label": "Príkazy pre úložiská a disky → Stav SMART",
"tail": " — prehľad smartctl/nvme s príkazmi na skopírovanie."
},
{
"href": "/docs/help-info/zfs-commands",
"label": "Príkazy na správu ZFS",
"tail": " — zpool scrub overuje kontrolné súčty dát ZFS a dopĺňa hardvérové testy SMART."
},
{
"href": "/docs/monitor/dashboard/storage",
"label": "ProxMenux Monitor — karta Úložisko",
"tail": " — podrobný pohľad na disk využívajúci exportovaný JSON: úplná tabuľka SMART, história a správa PDF."
},
{
"href": "/docs/monitor/dashboard/hardware",
"label": "ProxMenux Monitor — karta Hardvér",
"tail": " — prehľad úložiska s modelom, kapacitou a dohodnutou rýchlosťou spojenia (aktuálna a maximálna pri NVMe)."
},
{
"href": "/docs/disk-manager",
"label": "Prehľad správcu diskov",
"tail": "."
}
]
}
}
@@ -98,7 +98,7 @@
],
"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>GitHub repozitár</strong>: najnovšie vydanie alebo značka verejného repozitára <code>owner/name</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."
@@ -110,7 +110,7 @@
"Nepridávajte <code>pct exec</code>; ProxMenux už vstupuje do kontajnera a príkaz spúšťa ako root."
],
"exampleLead": "Príklad úplného postupu v kontajneri:",
"example": "cd /opt/moja-aplikacia && ./update.sh",
"example": "cd /opt/my-app && ./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."
},
"bulk": {
@@ -140,7 +140,7 @@
"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í.",
"Stav posledného behu rozlišuje úspech, čiastočné dokončenie, zlyhanie, bezpečnostné pozastavenie a žiadne čakajúce aktualizácie. Po prvom plánovanom behu otvorí <strong>Aktualizácie → Plánované aktualizácie → Zobraziť záznam</strong> celý výstup aktualizátora a podradených skriptov.",
"Zistené externé plány Proxmox VE Helper-Scripts sa zobrazia samostatne, aby bola viditeľná prekrývajúca sa automatizácia."
],
"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."
@@ -0,0 +1,110 @@
{
"meta": {
"title": "Záloha a reštart rozhraní | Dokumentácia ProxMenux",
"description": "Ručné vytváranie snímok, prehliadanie a obnova záloh /etc/network/interfaces uložených v /var/backups/proxmenux/. Zahŕňa reštart sieťovej služby s potvrdením a rýchle zobrazenie aktuálnej konfigurácie.",
"ogTitle": "Záloha a reštart rozhraní | Dokumentácia ProxMenux",
"ogDescription": "Vytvorte snímku a obnovte sieťovú konfiguráciu Proxmox; reštartujte sieťovú službu s potvrdením."
},
"header": {
"title": "Záloha a reštart rozhraní",
"description": "Štyri nástroje pre /etc/network/interfaces: ručne vytvoriť snímku, zobraziť aktuálnu konfiguráciu, obnoviť predchádzajúcu zálohu s voliteľným náhľadom a reštartovať sieťovú službu s výslovným súhlasom. Používajú rovnaký záložný adresár ako opravy so sprievodcom.",
"section": "Sieť"
},
"intro": {
"title": "Čo to robí?",
"body": "Spravuje rovnaký adresár záloh ako opravy so sprievodcom (<code>/var/backups/proxmenux/</code>). Umožňuje vytvoriť ďalšiu snímku pred každou ručnou zmenou, prehliadať všetky existujúce zálohy a obnoviť ktorúkoľvek z nich — vždy s automaticky vytvorenou novou zálohou stavu pred obnovou ako druhou ochranou."
},
"shared": {
"heading": "Zdieľaný adresár zálohovania",
"intro": "Každá záloha vytvorená kdekoľvek v menu Sieť sa uloží na rovnaké miesto:",
"outro": "Názvy súborov sú časovo označené, zoradené podľa dátumu a nikdy neprepísané. Adresár je vytvorený pri prvom použití."
},
"show": {
"heading": "Zobraziť konfiguračný súbor siete",
"body": "Vypíše presný obsah <code>/etc/network/interfaces</code> do terminálu. Iba na čítanie. Užitočné na kontrolu pred zálohovaním alebo po obnove. Samostatný nástroj na porovnanie s predchádzajúcou zálohou neexistuje, takže najjednoduchšie je skontrolovať obsah aktuálneho súboru pohľadom."
},
"create": {
"heading": "Vytvoriť zálohu siete",
"body": "Skopíruje aktuálny <code>/etc/network/interfaces</code> do adresára záloh s novou časovou pečiatkou. To je všetko — bez analýzy, bez výziev, iba snímka.",
"whenTitle": "Kedy vytvoriť ručnú zálohu",
"whenBody": "Pred ručnou úpravou <code>/etc/network/interfaces</code>, pred inštaláciou balíka, ktorý môže meniť sieťový stack (napríklad NetworkManager alebo Open vSwitch), alebo pred zmenami hardvéru. Opravy so sprievodcom už vytvárajú snímky automaticky — táto možnosť je určená na <em>ručné</em> zásahy."
},
"restore": {
"heading": "Obnoviť sieť zo zálohy",
"intro": "Zobrazí všetky zálohy v <code>/var/backups/proxmenux/</code> od najnovšej po najstaršiu a prevedie vás obnovou s bezpečnostnými opatreniami:",
"steps": [
{
"title": "1. Vybrať zálohu",
"body": "Menu zobrazí každú zálohu podľa jej časovej pečiatky. Ak neexistujú žiadne zálohy, postup sa ukončí s jasným hlásením.",
"tone": "blue"
},
{
"title": "2. Nepovinný náhľad",
"body": "Ponúkne otvorenie vybranej zálohy v posúvateľnom zobrazení pred potvrdením obnovy. Predvolená odpoveď je Áno — na vzdialenom hostiteľovi tento krok nevynechávajte.",
"tone": "blue"
},
{
"title": "3. Záloha pred obnovou",
"body": "Pred prepísaním <code>/etc/network/interfaces</code> vytvorí <strong>ďalšiu</strong> zálohu aktuálneho stavu. Obnova je sama osebe deštruktívna akcia, preto nová snímka pred obnovou umožní návrat, ak bola vybraná záloha nesprávna.",
"tone": "amber"
},
{
"title": "4. Použiť obnovenie",
"body": "Kopíruje vybranú zálohu cez <code>/etc/network/interfaces</code>. Zmena súboru je na disku; stav živého jadra stále odráža predchádzajúcu konfiguráciu.",
"tone": "amber"
},
{
"title": "5. Nepovinný reštart",
"body": "Pýta sa, či má teraz spustiť <code>systemctl restart networking</code>. Odmietnutím odložíte použitie zmeny na ďalší reštart.",
"tone": "emerald"
}
],
"autoBackupTitle": "Obnova automaticky vytvorí vlastnú zálohu",
"autoBackupBody": "Výber <em>Obnoviť sieť zo zálohy</em> vždy vytvorí novú snímku <em>aktuálnej</em> konfigurácie pred jej prepísaním. Ak obnovíte nesprávnu zálohu, najnovší súbor v <code>/var/backups/proxmenux/</code> obsahuje predchádzajúci stav."
},
"restart": {
"heading": "Reštartovať sieťovú službu",
"body": "Po potvrdení áno/nie spustí <code>systemctl restart networking</code>. Výsledok oznámi cez <code>msg_ok</code> / <code>msg_error</code>. Väčšina postupov v tomto menu ponúka vlastný reštart na konci. Táto možnosť slúži na reštart po ručnej úprave alebo po odmietnutí skôr ponúknutého reštartu.",
"warnTitle": "Zaručené krátke odpojenie; možné trvalé odpojenie",
"warnBody": "Reštart <code>networking</code> deaktivuje a znovu nastaví každé rozhranie deklarované v <code>/etc/network/interfaces</code>. Relácie SSH cez tieto rozhrania sa prerušia. Ak je nová konfigurácia neplatná, sieť sa neobnoví. Spustite to iba vtedy, keď:",
"warnItems": [
"Máte konzolu / IPMI / iKVM prístup pripravený, <em>alebo</em>",
"Ste fyzicky vedľa stroja, <em>alebo</em>",
"Práve ste úspešne obnovili overenú funkčnú konfiguráciu a chcete ju použiť."
]
},
"manualRollback": {
"heading": "Ručné vrátenie zmien z konzoly",
"intro": "Ak nemôžete dosiahnuť menu (žiadne SSH, dialógové zrútenie, ...), ale môžete dosiahnuť konzolu, rollback je dva príkazy:",
"outro": "Ide o <em>rovnakú</em> operáciu, akú vykonáva menu, iba zadanú ručne. Ak sa <code>networking</code> stále nespustí, skontrolujte <code>journalctl -u networking -b</code> a zistite príčinu v syntaxi alebo ovládači."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noneTitle": "„Nenašli sa žiadne zálohy“ pri obnove",
"noneBody": "Adresár <code>/var/backups/proxmenux/</code> neexistuje alebo neobsahuje súbory <code>interfaces_backup_*</code>. Aspoň raz spustite <em>Vytvoriť zálohu siete</em> alebo opravu so sprievodcom, ktorá vytvorí zálohu automaticky. Overte to cez <code>ls /var/backups/proxmenux/</code>.",
"unreachTitle": "Reštart siete prejde, ale hostiteľ je stále nedosiahnuteľný",
"unreachBody": "Nová konfigurácia je nesprávna alebo nepriraďuje vašu IP adresu na správu. Obnovte predchádzajúci stav z konzoly (pozri vyššie). Potom použite <bridgeLink>analýzu mostov</bridgeLink> a <configLink>analýzu konfigurácie</configLink>, aby ste pred opätovným použitím pochopili príčinu.",
"emptyTitle": "Náhľad obnovy zobrazuje prázdny súbor",
"emptyBody": "Záložný súbor je prázdny (0 bajtov). Stane sa to, ak kopírovanie počas predchádzajúceho spustenia nepozorovane zlyhalo. Vyberte staršiu zálohu alebo znovu spustite <em>Vytvoriť zálohu siete</em>, ak je aktuálna konfigurácia funkčná."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Analýza mostov a oprava so sprievodcom",
"href": "/docs/network/bridge-analysis",
"tail": " — Najbežnejší dôvod, prečo tu končí záloha."
},
{
"label": "Analýza konfigurácie a čistenie so sprievodcom",
"href": "/docs/network/config-analysis",
"tailRich": " — tiež automaticky zapisuje do <code>/var/backups/proxmenux/</code>."
},
{
"label": "Diagnostika",
"href": "/docs/network/diagnostics",
"tail": " — na overenie aktuálneho stavu po obnove."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Analýza mostov a oprava so sprievodcom | Dokumentácia ProxMenux",
"description": "Zistí mosty vmbrX s chýbajúcimi alebo neplatnými fyzickými portmi, typicky po opätovnom číslovaní PCI. Nahlási ich s návrhmi príkazov shellu a ponúkne opravu so sprievodcom v 5 krokoch s povinnou zálohou.",
"ogTitle": "Analýza mostov a oprava so sprievodcom | Dokumentácia ProxMenux",
"ogDescription": "Skontrolujte a opravte porty mostov Proxmox po zmenách hardvéru pomocou postupu so sprievodcom a bezpečným vrátením zmien."
},
"header": {
"title": "Analýza mostov a oprava so sprievodcom",
"description": "Skontroluje každý most vmbrX deklarovaný v /etc/network/interfaces, overí existenciu fyzických portov a pri chýbajúcich ponúkne opravu krok za krokom. Analýza je iba na čítanie; oprava vyžaduje súhlas, zobrazí náhľad a vytvorí zálohu.",
"section": "Sieť"
},
"intro": {
"title": "Čo to robí?",
"body": "Prečíta každý most v <code>/etc/network/interfaces</code>, skontroluje jeho riadok <code>bridge-ports</code> a overí, či každý deklarovaný port, napríklad <code>enp3s0</code>, existuje na hostiteľovi. Ak port chýba, navrhne náhradu a s výslovným súhlasom použije zmenu postupom <strong>záloha, náhľad, použitie, overenie</strong>."
},
"when": {
"heading": "Keď to potrebujete",
"intro": "Linux prideľuje predvídateľné názvy rozhraní podľa topológie PCI a poradia slotov. Viaceré udalosti ich môžu zmeniť, takže <code>/etc/network/interfaces</code> odkazuje na názvy, ktoré už neexistujú:",
"items": [
"Pridanie alebo odstránenie PCIe karty (NIC, GPU, a HBA, nosič NVMe).",
"Presun existujúcej karty na iný PCIe slot.",
"Aktualizácie BIOS / UEFI, ktoré znovu číslujú zariadenia PCI.",
"Migrácia zavádzacieho disku na iný hardvér."
],
"outro": "Po ďalšom štarte sa most pokúsi pripojiť k portu, ktorý už neexistuje, neaktivuje sa a hostiteľ stratí sieťové pripojenie. <link>Trvalé názvy rozhraní</link> zabránia opakovaniu tohto problému. Ak ste už stratili prístup, táto stránka opisuje postup obnovy."
},
"bigPicture": {
"heading": "Celkový prehľad",
"diagram1": {
"arrowLabel": "krok 1",
"nodes": {
"sourceLabel": "/etc/network/interfaces",
"sourceDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports enp3s0",
"bridgeLabel": "Analyzovať (iba na čítanie)",
"bridgeDetail": "ip link show enp3s0\n→ neexistuje",
"targetLabel": "Správa + návrh",
"targetDetail": "❌ enp3s0: NENÁJDENÉ\nNahradiť za: eno1\n(zatiaľ bez zmien)"
}
},
"diagram2": {
"arrowLabel": "aplikovať so zálohou",
"nodes": {
"sourceLabel": "Oprava so sprievodcom",
"sourceDetail": "1. Záloha\n2. Zobraziť aktuálny stav\n3. Náhľad zmien\n4. Použiť\n5. Overiť",
"targetLabel": "/etc/network/interfaces (nový)",
"targetDetail": "auto vmbr0\niface vmbr0 inet static\n bridge-ports eno1"
}
}
},
"step1": {
"heading": "Krok 1: analýza (iba na čítanie)",
"intro": "Po výbere <strong>Analyzovať konfiguráciu mostov</strong> sa nástroj okamžite zastaví, ak hostiteľ nepoužíva klasický stack Debian/Proxmox. Inak prejde každý most a nahlási:",
"items": [
"Názov mosta, aktuálny stav (UP / DOWN) a pridelená IP adresa.",
"Každý deklarovaný port a či v súčasnosti existuje (<code>ip link show &lt;port&gt;</code>).",
"Pre každý neplatný port: navrhovaná náhrada (prvé dostupné fyzické rozhranie) plus presný <code>sed</code> príkaz na manuálne použitie.",
"Mosty bez riadka <code>bridge-ports</code> a osirelé položky <code>auto</code> bez zodpovedajúceho bloku <code>iface</code>."
],
"readonlyTitle": "Záruka režimu iba na čítanie",
"readonlyBody": "Až do tohto bodu skript nespustil žiadny príkaz meniaci systém. Analýzu môžete nechať otvorenú, skopírovať navrhnuté príkazy <code>sed</code> a použiť ich ručne, ak to uprednostňujete. Alebo prijmite nasledujúcu výzvu na spustenie opravy so sprievodcom."
},
"step2": {
"heading": "Krok 2: oprava so sprievodcom (5 krokov)",
"intro": "Spustí sa iba po prijatí výzvy na konci analýzy. Každý krok zobrazí plánovanú akciu a pred pokračovaním vyžiada potvrdenie.",
"steps": [
{
"title": "1. Bezpečnostná záloha",
"body": "Skopíruje <code>/etc/network/interfaces</code> do <code>/var/backups/proxmenux/interfaces_backup_&lt;TIMESTAMP&gt;</code>. Presnú cestu zálohy zobrazí pred kopírovaním aj po ňom spolu s príkazom na vrátenie zmien.",
"tone": "blue"
},
{
"title": "2. Preskúmanie aktuálnej konfigurácie",
"body": "Otvorí aktuálny <code>/etc/network/interfaces</code> v posúvateľnom dialógu, aby ste presne videli, čo sa zmení.",
"tone": "blue"
},
{
"title": "3. Náhľad navrhovaných zmien",
"body": "Presne vypíše dotknuté mosty a plánované náhrady portov. Ak už oprava nie je potrebná, pretože sa port medzi kontrolami znovu objavil, postup sa ukončí hlásením <em>„Nie sú potrebné žiadne zmeny.“</em>",
"tone": "blue"
},
{
"title": "4. Použiť zmeny",
"body": "Pre každý postihnutý most beží <code>sed -i \"/iface $bridge/,/bridge-ports/ s/bridge-ports.*/bridge-ports $new_ports/\"</code> proti <code>/etc/network/interfaces</code>. Ak most nemal k dispozícii platnú náhradu, substitúcia sa preskočí a zaznamená v kroku 5.",
"tone": "amber"
},
{
"title": "5. Overovanie",
"body": "Znovu prečíta súbor a potvrdí, že nový port každého mosta existuje. Vypíše príkaz na vrátenie zmien (<code>cp &lt;backup&gt; /etc/network/interfaces</code>). Nakoniec ponúkne <strong>Reštartovať sieť</strong> — prijmite iba vtedy, ak máte náhradný prístup cez konzolu.",
"tone": "emerald"
}
],
"restartTitle": "Reštart siete ≠ bezpečné vrátenie zmien",
"restartBody": "Oprava sa zapíše na disk bez ohľadu na reštart služby. <code>systemctl restart networking</code> použije zmenu <em>teraz</em>, čo môže prerušiť reláciu SSH, ak je nový port nesprávny. Ak reštart odmietnete, zmena sa aj tak prejaví pri ďalšom štarte. Najprv overte novú konfiguráciu alebo ju vráťte zobrazeným príkazom."
},
"edits": {
"heading": "Čo sa edituje (presne)",
"body": "Iba riadok <code>bridge-ports</code> každého dotknutého mosta. Ostatné direktívy (<code>address</code>, <code>netmask</code>, <code>gateway</code>, <code>bridge-stp</code>, …) zostávajú nezmenené. Skript v tomto postupe nevytvára ani neodstraňuje bloky <code>iface</code> — to je úloha <link>analýzy konfigurácie &amp; čistenia</link>."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"unsupportedTitle": "Analýza sa zastaví s hlásením „Nepodporovaný sieťový stack“",
"unsupportedBody": "Hostiteľ používa netplan, systemd-networkd alebo NetworkManager. Nástroj podporuje iba <code>/etc/network/interfaces</code>. Najprv prepnite hostiteľa na klasický stack alebo upravte konfiguráciu natívnymi nástrojmi správcu (napríklad <code>netplan apply</code>).",
"noSuggestTitle": "Pre neplatný port sa nevypíše žiadny návrh",
"noSuggestBody": "Hostiteľ nemá žiadne voľné fyzické rozhrania: všetky sú už v inom moste alebo neexistujú. Analýza preto navrhne <code>bridge-ports none</code>, aby sa most mohol aspoň aktivovať bez portu. Pred opätovným spustením pridajte sieťovú kartu alebo ručne presuňte porty medzi mostmi.",
"stillDownTitle": "Oprava sa skončila, ale most je stále dole",
"stillDownBody": "<code>sed</code> aktualizoval súbor, ale <code>systemctl restart networking</code> bol odmietnutý. Po overení novej konfigurácie ho spustite ručne alebo reštartujte systém. Ak bol reštart prijatý a most je stále DOWN, overte existenciu nového portu cez <code>ip link show</code> a skontrolujte <code>journalctl -u networking</code> pre skutočnú chybu: odpojený kábel, nevyjednané spojenie alebo port už patriaci do iného mosta.",
"lostSshTitle": "Stratila som prístup SSH hneď po reštarte siete",
"lostSshIntro": "Použite konzolu / IPMI / iKVM na dosiahnutie hostiteľa. Obnoviť zálohu:",
"lostSshOutro": "Potom znovu spustite analýzu z konzoly a zistite, prečo návrh nefungoval, typicky preto, že náhradný port nie je zapojený."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Trvalé názvy rozhraní",
"href": "/docs/network/persistent-names",
"tail": " — priradí názvy k MAC adresám, aby sa problém neopakoval."
},
{
"label": "Analýza konfigurácie a čistenie so sprievodcom",
"href": "/docs/network/config-analysis",
"tailRich": " — Pre osirotené <code>iface</code> bloky (druhá polovica rovnakého problému)."
},
{
"label": "Záloha a reštart rozhraní",
"href": "/docs/network/backup-restore",
"tail": " — ručné snímky a prehliadanie záloh na obnovu."
}
]
}
}
@@ -0,0 +1,122 @@
{
"meta": {
"title": "Analýza konfigurácie a čistenie so sprievodcom | Dokumentácia ProxMenux",
"description": "Zistí bloky iface v /etc/network/interfaces odkazujúce na fyzické sieťové karty, ktoré už nie sú na hostiteľovi. Nahlási ich a ponúkne odstránenie so sprievodcom v 5 krokoch s povinnou zálohou a náhľadom každého bloku.",
"ogTitle": "Analýza konfigurácie a čistenie so sprievodcom | Dokumentácia ProxMenux",
"ogDescription": "Nájdite a odstráňte osirelé bloky rozhraní, ktoré zostali po zmenách hardvéru, s úplným náhľadom a možnosťou vrátenia zmien."
},
"header": {
"title": "Analýza konfigurácie a čistenie so sprievodcom",
"description": "Prejde každý blok iface v /etc/network/interfaces a overí, či príslušná fyzická sieťová karta stále existuje. Nahlási osirelé bloky po zmenách hardvéru a ponúkne odstránenie so sprievodcom, zálohou, náhľadom a potvrdením každého bloku.",
"section": "Sieť"
},
"intro": {
"title": "Čo to robí?",
"body": "Identifikuje deklarácie <code>iface</code>, ktorých sieťová karta už nie je na hostiteľovi, typicky po výmene alebo odobratí karty. Potom ponúkne čistenie so sprievodcom, ktoré odstráni <em>iba</em> osirelé bloky, so zálohou, náhľadom každej sekcie a výslovným záverečným potvrdením."
},
"differs": {
"heading": "Ako sa líši od analýzy mosta",
"headerAspect": "Aspekt",
"headerBridge": "Analýza mosta",
"headerConfig": "Analýza konfigurácie",
"rows": [
{
"aspect": "Pozerá sa na",
"bridge": "Mosty (<code>vmbrX</code>) a ich riadok <code>bridge-ports</code>",
"config": "Každý blok <code>iface</code> okrem loopbacku, mostov a bondov"
},
{
"aspect": "Zisťuje",
"bridge": "Mosty odkazujúce na neexistujúci port",
"config": "Samostatné bloky rozhrania pre NIC, ktoré neexistujú"
},
{
"aspect": "Oprava",
"bridge": "Nahrádza názov portu v <code>bridge-ports</code>",
"config": "Odstráni celý blok <code>iface</code>"
},
{
"aspect": "Nezahŕňa",
"bridge": "Nič, každý most je analyzovaný",
"config": "Mosty (<code>vmbrX</code>) a bondy (<code>bondX</code>) sa vždy zachovajú, pretože sú virtuálne a ich neprítomnosť počas štartu môže byť normálna"
}
],
"outro": "V praxi často použijete oba nástroje v tomto poradí: najprv <strong>analýzu konfigurácie</strong> na odstránenie osirelých blokov, potom <link>analýzu mostov</link> na nové priradenie mostov, ktoré používali odstránené rozhranie."
},
"step1": {
"heading": "Krok 1: analýza (iba na čítanie)",
"intro": "Okamžite sa zastaví, ak hostiteľ nepoužíva klasický sieťový stack. Inak zobrazí všetky nakonfigurované rozhrania okrem loopbacku a ich stav:",
"virtTitle": "Virtuálne rozhrania sú chránené",
"virtBody": "Mosty (<code>vmbrX</code>) a bondy (<code>bondX</code>) sú virtuálne konštrukcie. Pri kontrole môžu oprávnene chýbať, napríklad most bez portov. Analýza preto nikdy nenavrhuje ich odstránenie, iba odstránenie fyzických sieťových kariet."
},
"step2": {
"heading": "Krok 2: čistenie so sprievodcom (5 krokov)",
"intro": "Spustí sa iba po prijatí výzvy na konci analýzy. Každý krok vyžaduje potvrdenie; zrušením v ktoromkoľvek bode sa postup ukončí bez zápisu.",
"steps": [
{
"title": "1. Bezpečnostná záloha",
"body": "Skopíruje <code>/etc/network/interfaces</code> do <code>/var/backups/proxmenux/interfaces_backup_&lt;TIMESTAMP&gt;</code>. Cestu zobrazí pred kopírovaním aj po ňom.",
"tone": "blue"
},
{
"title": "2. Potvrdenie zoznamu odstránenia",
"body": "Presne vypíše bloky fyzických rozhraní určené na odstránenie. Ak sa karty medzi analýzou a čistením znovu objavia, napríklad po opätovnom zasunutí, postup sa ukončí hlásením <em>„Čistenie nie je potrebné.“</em>",
"tone": "blue"
},
{
"title": "3. Náhľad presných blokov",
"body": "Otvorí rolovací pohľad na každý blok <code>iface</code>, ktorý by bol vymazaný, doslovne zo súboru. Toto je chvíľa, kedy si môžete všimnúť napríklad zaujímavý <code>up</code> hák, ktorý chcete zachovať.",
"tone": "blue"
},
{
"title": "4. Použiť odstránenie",
"body": "Pre každé sirotské rozhranie beží <code>sed -i \"/^iface $iface/,/^$/d\" /etc/network/interfaces</code>. To odstráni zo zodpovedajúcej línie <code>iface</code> až do ďalšieho prázdneho riadku.",
"tone": "amber"
},
{
"title": "5. Overovanie",
"body": "Opätovne načíta súbor, vypíše, čo bolo odstránené, a znova skontroluje zostávajúce rozhrania. Vytlačí príkaz na vrátenie. <strong>nereštartuje</strong> automaticky sieť – odstránenie nepoužívaného bloku je bezpečné použiť pri ďalšom reštarte a nedotýka sa aktívneho stavu.",
"tone": "emerald"
}
],
"noRestartTitle": "Nereštartuje sieť automaticky",
"noRestartBody": "Na rozdiel od opravy mostov čistenie neponúka reštart služby. Odstránenie nepoužívaného bloku rozhrania okamžite neovplyvní bežiacu konfiguráciu, takže reštart nie je potrebný a zbytočne by ohrozil pripojenie. Zmena sa prejaví pri ďalšom ručnom <code>systemctl restart networking</code> alebo pri ďalšom reštarte systému."
},
"caveats": {
"heading": "Dôležité upozornenia",
"boundaryTitle": "Hranica bloku je prvý prázdny riadok",
"boundaryBody": "Vzor <code>sed</code> odstráni obsah od <code>iface &lt;name&gt;</code> po ďalší prázdny riadok. Ak v <code>/etc/network/interfaces</code> chýbajú prázdne riadky medzi blokmi, čo je zriedkavé, ale možné po ručných úpravách, môže sa odstrániť aj nasledujúci blok. Preto je <strong>krok 3 povinný</strong>: pred potvrdením skontrolujte náhľad.",
"tandemTitle": "Osirelý blok iface používaný mostom sa zistí tu, nie pri analýze mostov",
"tandemBody": "Ak <code>vmbr0</code> deklaruje <code>bridge-ports enp3s0</code> a <code>enp3s0</code> má aj vlastný blok <code>iface enp3s0 inet manual</code>, odstránenie <code>enp3s0</code> tu ponechá neplatný odkaz v <code>vmbr0</code>. Po čistení spustite <link>analýzu mostov</link> na zmenu priradenia alebo odstránenie portu mosta. Oba postupy sú navrhnuté na spoločné použitie."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"notFoundTitle": "Analýza zobrazuje moju novú sieťovú kartu ako „NENÁJDENÁ“",
"notFoundBody": "Jadro vidí zariadenie pod iným názvom, než je v súbore. Spustite <code>ip link show</code> a zistite skutočný názov. Presne v takomto prípade by <link>trvalé názvy rozhraní</link> zabránili problému v budúcnosti.",
"tooMuchTitle": "Čistenie odstránilo príliš veľa, aj blok, ktorý som chcel zachovať",
"tooMuchBody": "Obnovte stav zo zálohy uvedenej v kroku 5:",
"tooMuchOutro": "Pred opätovným spustením čistenia ručne upravte súbor a pridajte prázdny riadok medzi bloky alebo problematický blok odstráňte ručne.",
"bridgeBreakTitle": "Most prestane pracovať po vyčistení.",
"bridgeBreakBody": "Most používal port, ktorého blok <code>iface</code> sa práve odstránil. Spustite <link>analýzu mostov</link> a návrh priradí most k existujúcemu fyzickému rozhraniu."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Analýza mostov a oprava so sprievodcom",
"href": "/docs/network/bridge-analysis",
"tail": " — prirodzený ďalší krok po čistení."
},
{
"label": "Trvalé názvy rozhraní",
"href": "/docs/network/persistent-names",
"tail": " — zabraňuje hromadeniu osirelých blokov po každej zmene hardvéru."
},
{
"label": "Záloha a reštart rozhraní",
"href": "/docs/network/backup-restore",
"tail": " — ručné snímky a prehliadanie záloh na obnovu."
}
]
}
}
@@ -0,0 +1,94 @@
{
"meta": {
"title": "Diagnostika | Dokumentácia ProxMenux",
"description": "Tri jednorazové diagnostické kontroly iba na čítanie: Zobraziť smerovaciu tabuľku, Test pripojenia a Pokročilá diagnostika. Iba kontrola — nikdy nezapisuje do /etc/network/interfaces ani nespúšťa príkazy meniace systém, s jedinou výslovnou výnimkou: úplné odstránenie zisteného NetworkManager vyžaduje váš súhlas.",
"ogTitle": "Diagnostika | Dokumentácia ProxMenux",
"ogDescription": "Sieťová diagnostika iba na čítanie pre hostiteľa Proxmoxu: smerovanie, dosiahnuteľnosť, pokročilé štatistiky."
},
"header": {
"title": "Diagnostika",
"description": "Tri jednorazové kontroly aktuálneho stavu siete iba na čítanie: smerovacia tabuľka, test pripojenia a pokročilé štatistiky. Žiadna nezapisuje do /etc/network/interfaces — bezpečné použitie kedykoľvek, aj cez SSH. Pre interaktívne sledovanie v reálnom čase pozrite Nástroje na sledovanie v reálnom čase.",
"section": "Sieť"
},
"intro": {
"title": "Čo to robí?",
"body": "Zobrazuje informácie o smerovaní, dosiahnuteľnosti a súhrnných štatistikách <strong>bez akýchkoľvek zmien</strong>. Overte ním správne fungovanie siete alebo odhaľte duplicitné IP adresy. Na nepretržité sledovanie prevádzky pozrite <monitoringLink>Nástroje na sledovanie v reálnom čase</monitoringLink>; na zobrazenie nespracovaného konfiguračného súboru pozrite <backupLink>Záloha a reštart rozhraní</backupLink>."
},
"routing": {
"heading": "Zobraziť smerovaciu tabuľku",
"body": "Zobrazí všetky trasy aktuálne používané jadrom (<code>ip route show</code>) a zvýrazní predvolenú bránu. Umožňuje overiť, že prevádzka do internetu odchádza očakávaným rozhraním a žiadne zvyšné trasy nemajú prednosť."
},
"connectivity": {
"heading": "Otestovať pripojenie",
"intro": "Postupne odošle na každý z troch cieľov dve sondy ICMP a vypíše výsledky. Potom spustí <code>nslookup google.com</code> na overenie prekladu DNS nezávisle od ICMP.",
"headerTest": "Skúška",
"headerTarget": "Cieľ",
"headerConfirms": "Čo potvrdzuje",
"rows": [
{
"test": "Google DNS",
"target": "8.8.8.8",
"confirms": "Externá dosiahnuteľnosť cez známu IP adresu anycast"
},
{
"test": "Cloudflare DNS",
"target": "1.1.1.1",
"confirms": "Nezávislé druhé stanovisko, ak Google blokuje ICMP"
},
{
"test": "Brána",
"target": "(štandardná trasa)",
"confirms": "L2 / L3 pripojenie k miestnemu routeru"
},
{
"test": "Preklad DNS",
"target": "google.com",
"confirms": "DNS server je dosiahnuteľný a odpovedá"
}
],
"readingTitle": "Čítanie výsledku",
"readingBody": "Ak test brány prejde, ale verejné servery DNS neodpovedajú, máte lokálne pripojenie, no nemáte internet — skontrolujte pripojenie brány smerom k poskytovateľovi. Ak preklad DNS zlyhá, ale ping na <code>8.8.8.8</code> funguje, problém je v resolveri, nie v sieti: skontrolujte <code>/etc/resolv.conf</code>."
},
"advanced": {
"heading": "Pokročilá diagnostika",
"intro": "Zhromažďuje štatistiky celej siete a vykonáva sériu kontrol bežných problémov. Hlási počet aktívnych pripojení, načúvajúce porty a celkový počet rozhraní a výslovne upozorňuje na dve nevhodné konfigurácie:",
"items": [
"<strong>NetworkManager beží na hostiteľovi Proxmox.</strong> NetworkManager a <code>ifupdown</code> systému Proxmox sú v konflikte: oba sa pokúšajú spravovať rozhrania, takže mosty opakovane menia stav alebo sa nedajú aktivovať. Ak sa zistí NetworkManager, nástroj ponúkne interaktívne potvrdenie jeho zastavenia, zakázania a úplného odstránenia (ide o <em>jedinú</em> diagnostiku, ktorá môže meniť systém, a to iba po výslovnom súhlase).",
"<strong>Duplicitné IP adresy na rôznych rozhraniach.</strong> Dve rozhrania s rovnakou IPv4 adresou spôsobujú občasné výpadky pripojenia, ktoré sa zvnútra VM veľmi ťažko diagnostikujú. Zisťujú sa cez <code>ip -4 addr show | sort | uniq -d</code>."
],
"nmTitle": "Výzva pre NetworkManager je tu jedinou akciou, ktorá môže meniť systém",
"nmBody": "Všetky ostatné kontroly pokročilej diagnostiky sú iba na čítanie. Odstránenie NetworkManager vyžaduje potvrdenie áno/nie a spustí <code>systemctl stop / disable</code> + <code>apt-get purge -y network-manager</code>. Ak odmietnete, nič sa nezmení."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"gwTitle": "Test pripojenia hlási zlyhanie brány, ale hostiteľ má prístup na internet",
"gwBody": "Niektoré smerovače neodpovedajú na ICMP na internom rozhraní, aj keď správne preposielajú prevádzku. V konzole skúste <code>traceroute 8.8.8.8</code>: ak je druhým skokom váš poskytovateľ a test verejného DNS prešiel, brána funguje aj napriek neúspešnému pingu.",
"dupTitle": "Pokročilá diagnostika stále hlási duplicitné IP adresy aj po odstránení jednej z nich",
"dupBody": "Kontrola skúma aktuálny stav jadra, nie konfiguračný súbor. Overte ho príkazom <code>ip -4 addr show</code>; ak je duplicitná adresa stále prítomná, niektoré rozhranie ju stále používa. Pomocou <code>ip addr del &lt;IP&gt;/&lt;mask&gt; dev &lt;iface&gt;</code> ju odstráňte z aktuálneho stavu a potom upravte <code>/etc/network/interfaces</code>, ak je nastavená aj natrvalo."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Nástroje na sledovanie v reálnom čase",
"href": "/docs/network/monitoring",
"tail": " — Interaktívne iftop / iptraf-ng / iperf3 spúšťače."
},
{
"label": "Analýza mostov a oprava so sprievodcom",
"href": "/docs/network/bridge-analysis",
"tail": " — Keď vmbrX chýba fyzický port."
},
{
"label": "Analýza konfigurácie a čistenie so sprievodcom",
"href": "/docs/network/config-analysis",
"tail": " — keď je stará sieťová karta stále deklarovaná, ale už nie je prítomná."
},
{
"label": "Záloha a reštart rozhraní",
"href": "/docs/network/backup-restore",
"tail": " — na vytvorenie snímky konfigurácie pred každou zmenou."
}
]
}
}
+107
View File
@@ -0,0 +1,107 @@
{
"meta": {
"title": "Správa siete Proxmox — Mosty, bondy, diagnostika, oprava | ProxMenux",
"description": "Diagnostika iba na čítanie, analýzy s následnými návrhmi a opravy so sprievodcom pre sieťový stack Debian / Proxmox (/etc/network/interfaces). Skontrolujte mosty a bondy, spustite nástroje na sledovanie v reálnom čase, nastavte trvalé názvy rozhraní, zálohujte konfiguráciu a bezpečne reštartujte sieť — s povinnými zálohami a náhľadmi jednotlivých krokov.",
"ogTitle": "Správa siete Proxmox — Mosty, bondy, diagnostika, oprava",
"ogDescription": "Diagnostika, analýza a opravy sieťového stacku Proxmox so sprievodcom, povinnými zálohami a náhľadmi jednotlivých krokov.",
"twitterTitle": "Správa siete Proxmox | ProxMenux",
"twitterDescription": "Mosty, bondy, diagnostika a opravy sieťového stacku Proxmox so sprievodcom a povinnými zálohami."
},
"header": {
"title": "Správa siete",
"description": "Diagnostika iba na čítanie, analytické správy s následnými návrhmi a opravy so sprievodcom pre klasický sieťový stack Debian/Proxmox. Každý deštruktívny postup najprv vytvorí zálohu a pred použitím zobrazí presné zmeny.",
"section": "Sieť"
},
"intro": {
"title": "Na čo je toto menu",
"body": "Skontrolujte, diagnostikujte a v prípade potreby opravte sieťovú konfiguráciu hostiteľa Proxmox bez straty vzdialeného prístupu. Nástroje sa riadia jednou zásadou: <strong>najprv prečítať, potom navrhnúť a zmeny použiť iba s výslovným súhlasom a bezpečnostnou zálohou</strong>. Tlačidlo „Automaticky opraviť všetko“ neexistuje."
},
"openingMenu": {
"heading": "Otvorenie menu",
"intro": "V hlavnom menu ProxMenux vyberte <strong>Sieť</strong>. Zobrazí sa toto:",
"imageAlt": "Menu Správa siete s možnosťami diagnostiky, sledovania, analýzy, opráv, trvalých názvov a zálohovania"
},
"safety": {
"heading": "Bezpečnostný model",
"body": "Úprava sieťovej konfigurácie vzdialeného hostiteľa Proxmox je jedným z najjednoduchších spôsobov, ako stratiť prístup. ProxMenux to zohľadňuje pri každej akcii. Nástroje sú rozdelené do troch úrovní správania — vyberte kartu, ktorá zodpovedá vášmu zámeru:"
},
"tiers": {
"readOnly": {
"title": "Iba na čítanie",
"body": "Iba kontrola. Za žiadnych okolností nemôže meniť systém.",
"items": [
"Smerovacia tabuľka, testy pripojenia, pokročilé štatistiky",
"Sledovanie sieťovej prevádzky v reálnom čase (iftop, iptraf-ng)",
"Test priepustnosti (iperf3)"
]
},
"analyze": {
"title": "Analyzovať, potom navrhnúť",
"body": "Zistí problémy, vypíše správu s navrhovanými príkazmi shellu a zastaví sa. Sami sa rozhodnete, či potom spustíte opravu so sprievodcom.",
"items": [
"Analýza konfigurácie mosta",
"Analýza konfigurácie siete"
]
},
"apply": {
"title": "Aplikovať so zálohou",
"body": "Mení systém. Vždy najprv vytvorí zálohu dotknutého súboru s časovou pečiatkou a pred zápisom zobrazí náhľad.",
"items": [
"Trvalé názvy rozhraní (súbory .link)",
"Ručné zálohovanie, obnovenie a reštart služby"
]
}
},
"classicTitle": "Iba klasický sieťový stack",
"classicBody": "Každá funkcia analýzy a opravy pred zásahom skontroluje aktívneho správcu siete. Ak hostiteľ používa <strong>netplan</strong>, <strong>systemd-networkd</strong> alebo <strong>NetworkManager</strong>, nástroj sa ihneď zastaví s jasným hlásením. Menu podporuje iba klasickú sieťovú konfiguráciu Debian/Proxmox v <code>/etc/network/interfaces</code>. Je to zámerné: úprava súboru netplan podľa pravidiel pre <code>ifupdown</code> by mohla konfiguráciu nepozorovane poškodiť.",
"backups": {
"heading": "Kam sa ukladajú zálohy",
"intro": "Každá oprava so sprievodcom, obnova alebo ručné zálohovanie zapíše kópiu <code>/etc/network/interfaces</code> s časovou pečiatkou do <code>/var/backups/proxmenux/</code>:",
"rollbackIntro": "Na ručné obnovenie predchádzajúceho stavu z konzoly:"
},
"readOnlySection": {
"heading": "Kontrola len na čítanie",
"body": "Východiskový bod, keď niečo nefunguje správne. Iba kontrola — nikdy nezapisuje do <code>/etc/network/interfaces</code> ani nespúšťa príkazy meniace systém, s jedinou výslovnou výnimkou: úplné odstránenie zisteného NetworkManager vyžaduje váš súhlas. Bezpečné použitie cez SSH kedykoľvek.",
"options": [
{
"title": "Diagnostika",
"description": "Tri jednorazové kontroly iba na čítanie: Zobraziť smerovaciu tabuľku, Test pripojenia a Pokročilá diagnostika. Iba kontrola — nikdy nezapisuje do systému."
},
{
"title": "Nástroje na sledovanie v reálnom čase",
"description": "Tri interaktívne spúšťače: iftop (šírka pásma v reálnom čase pre každú dvojicu hostiteľov), iptraf-ng (sledovanie prevádzky vo viacerých režimoch) a iperf3 (test šírky pásma, režim server / klient)."
}
]
},
"analyzeSection": {
"heading": "Analyzovať, potom navrhnúť",
"body": "Používajú sa, keď kontrola alebo skutočný výpadok poukazuje na problém konfigurácie. Každý nástroj prejde príslušnú časť <code>/etc/network/interfaces</code>, vypíše podrobnú správu s presným príkazom shellu na opravu každého zistenia a <strong>zastaví sa</strong>. Ak potom prijmete voliteľnú opravu so sprievodcom, pred každou zmenou sa vytvorí záloha a zmena sa zobrazí pred zápisom.",
"options": [
{
"title": "Analýza mostov a oprava so sprievodcom",
"description": "Zistí mosty vmbrX s chýbajúcimi alebo neplatnými portmi, typicky po opätovnom číslovaní zariadení PCI. Najprv zobrazí správu a opravu vykoná iba po prijatí postupu so sprievodcom v 5 krokoch."
},
{
"title": "Analýza konfigurácie a čistenie so sprievodcom",
"description": "Nájde fyzické rozhrania deklarované v /etc/network/interfaces, ktoré už neexistujú — osirelé konfigurácie po zmenách hardvéru. Nahlási ich a ponúkne odstránenie so sprievodcom."
}
]
},
"applySection": {
"heading": "Aplikovať so zálohou",
"body": "Tieto nástroje zo svojej podstaty zapisujú na disk. Každý pred zápisom vytvorí zálohu dotknutého súboru s časovou pečiatkou. Deštruktívne možnosti, ako obnova a reštart, vyžadujú výslovné potvrdenie áno/nie. <em>Trvalé názvy rozhraní</em> sa prejavia až pri ďalšom reštarte, nie okamžite, takže ich nastavenie možno bezpečne naplánovať aj na vzdialenom hostiteľovi.",
"options": [
{
"title": "Trvalé názvy rozhraní",
"description": "Priradí názvy rozhraní (eno1, enp3s0, …) k MAC adresám pomocou súborov .link služby systemd. Názvy zostanú zachované pri zmene slotov PCI, aktualizáciách jadra aj pridávaní alebo odoberaní iných sieťových kariet."
},
{
"title": "Záloha a reštart rozhraní",
"description": "Ručné vytvorenie snímky /etc/network/interfaces, prehliadanie a obnova predchádzajúcich záloh, zobrazenie aktuálnej konfigurácie a reštart sieťovej služby podľa potreby."
}
]
},
"consoleTitle": "Pripravte si prístup ku konzole",
"consoleSubTitle": "Pred akoukoľvek opravou na vzdialenom hostiteľovi",
"consoleBody": "Ak ste pripojení cez SSH a máte iba jednu cestu k hostiteľovi, pred zmenami siete si pripravte náhradný prístup: fyzickú konzolu / IPMI / iKVM alebo iný počítač v rovnakej LAN. Opravy so sprievodcom sú bezpečné a vždy ponúkajú príkaz na vrátenie zmien, ale nesprávne nakonfigurovaný most alebo prerušené spojenie vás aj tak môže pripraviť o prístup, kým sa nedostanete ku konzole."
}
@@ -0,0 +1,136 @@
{
"meta": {
"title": "Nástroje na sledovanie v reálnom čase | Dokumentácia ProxMenux",
"description": "Tri interaktívne spúšťače nástrojov na sledovanie siete: iftop (šírka pásma v reálnom čase pre každú dvojicu hostiteľov), iptraf-ng (sledovanie prevádzky vo viacerých režimoch) a iperf3 (test šírky pásma, režim server / klient). Každý sa nainštaluje pri prvom použití.",
"ogTitle": "Nástroje na sledovanie v reálnom čase | Dokumentácia ProxMenux",
"ogDescription": "Interaktívne monitorovanie siete a testovanie šírky pásma pre Proxmox host: iftop, iptraf-ng, iperf3."
},
"header": {
"title": "Nástroje na sledovanie v reálnom čase",
"description": "Tri interaktívne spúšťače na sledovanie siete v reálnom čase a meranie šírky pásma: iftop, iptraf-ng a iperf3. Každý nástroj sa pri prvom použití automaticky nainštaluje cez apt, beží v popredí a ukončuje sa uvedeným klávesom. Nemenia sieťovú konfiguráciu hostiteľa; iperf3 generuje testovaciu prevádzku.",
"section": "Sieť"
},
"intro": {
"title": "Čo to robí?",
"body": "Tri interaktívne monitorovacie nástroje, každý za vlastným vstupom do menu. Pri prvom spustení jedného sa balík inštaluje ticho cez <code>apt-get</code>. Následné štarty začínajú okamžite. Žiadny z týchto nástrojov nemení konfiguráciu hostiteľskej siete."
},
"when": {
"heading": "Kedy použiť ktorý",
"headerQuestion": "Otázka",
"headerUse": "Použitie",
"rows": [
{
"question": "Kto vyťažuje spojenie <em>práve teraz</em>?",
"use": "iftop"
},
{
"question": "Aké členenie protokolu / veľkosti paketov / toky TCP prúdia?",
"use": "iptraf-ng"
},
{
"question": "Koľko šírky pásma je skutočne k dispozícii medzi dvoma hostiteľmi?",
"use": "iperf3"
}
]
},
"iftop": {
"heading": "Sieťová prevádzka v reálnom čase (iftop)",
"body": "Šírka pásma v reálnom čase pre dvojice hostiteľov (zdroj ↔ cieľ) — ako <code>top</code> pre sieťovú prevádzku. Najväčšie toky zobrazuje navrchu s kĺzavými priemermi za 2/10/40 sekúnd. Najlepší nástroj na otázku <em>„Prečo je moje odchádzajúce spojenie vyťažené?“</em>.",
"exit": "<strong>Ukončenie:</strong> stlačte <kbd>q</kbd>. ProxMenux pred spustením zobrazí pripomenutie.",
"keysTitle": "Užitočné klávesy v iftop",
"keysBody": "<kbd>n</kbd> prepína vyhľadávanie DNS, <kbd>p</kbd> zobrazuje čísla portov, <kbd>P</kbd> pozastaví zobrazenie, <kbd>t</kbd> prepína smer riadku (odoslané / prijaté / oboje), <kbd>1</kbd>/<kbd>2</kbd>/<kbd>3</kbd> zoradí podľa priemeru za 2 s / 10 s / 40 s. Úplný zoznam nájdete v <code>man iftop</code>."
},
"iptraf": {
"heading": "Nástroj na sledovanie siete (iptraf-ng)",
"intro": "Nástroj na sledovanie prevádzky vo viacerých režimoch, ovládaný cez menu. iftop odpovedá na <em>„kto“</em>, iptraf-ng na <em>„čo“</em>: počty bajtov a paketov podľa protokolu, sledovanie stavu spojení TCP, histogramy veľkosti paketov a aktivita LAN podľa stanice.",
"menuIntro": "Pri spustení dostanete ponuku piatich možností:",
"headerMode": "Režim",
"headerUseFor": "Použiť pre",
"rows": [
{
"mode": "IP traffic monitor",
"useFor": "Zoznam tokov TCP / UDP / ICMP / iných protokolov IP v reálnom čase s počítadlami bajtov a stavom pripojenia"
},
{
"mode": "General interface stats",
"useFor": "Súhrnný počet paketov IPv4 / IPv6 / TCP / UDP / ICMP / non-IP paketov na sieťovú kartu"
},
{
"mode": "Detailed interface stats",
"useFor": "Rovnaké ako vyššie, ale pre jedno rozhranie, s podrobnosťami o veľkosti a rýchlosti paketov"
},
{
"mode": "Statistical breakdowns",
"useFor": "Histogram rozdelenia veľkosti paketov podľa portu TCP / UDP"
},
{
"mode": "LAN station monitor",
"useFor": "Štatistiky prevádzky podľa MAC adresy pre lokálnu broadcastovú doménu"
}
],
"exit": "<strong>Ukončenie:</strong> stlačte <kbd>x</kbd> v ľubovoľnom zobrazení alebo <kbd>Q</kbd> v hlavnom menu. ProxMenux pred spustením zobrazí pripomenutie.",
"logTitle": "Zaznamenávanie zachytených údajov do súboru",
"logBody": "Každý režim ponúka zápis zachytených štatistík do <code>/var/log/iptraf-ng/</code>. Ak potrebujete záznam špičky prevádzky, nechajte nástroj bežať, zapisujte do súboru a skontrolujte ho neskôr namiesto sledovania obrazovky v reálnom čase."
},
"iperf3": {
"heading": "Test priepustnosti (iperf3)",
"intro1": "Meria skutočnú priepustnosť TCP medzi dvoma hostiteľmi. Na rozdiel od iftop / iptraf-ng, ktoré sledujú existujúcu prevádzku, iperf3 generuje syntetickú prevádzku na záťažový test spojenia. Nevyhnutné pri otázkach ako <em>„Dosahuje moje 10 GbE skutočne 10 GbE?“</em> alebo <em>„Je úzkym miestom sieťová karta, prepínač alebo úložisko?“</em>.",
"intro2": "iperf3 je <strong>nástroj pre dvoch hostiteľov</strong>: jeden beží ako server a načúva na porte TCP 5201, druhý ako klient, ktorý sa pripojí, odošle údaje a vypíše rýchlosť. Spúšťač ProxMenux sa opýta na požadovaný režim:",
"headerMode": "Režim",
"headerBehaviour": "Správanie",
"headerCli": "Ekvivalentný príkaz CLI",
"rows": [
{
"mode": "Server",
"behaviour": "Načúva na porte TCP 5201 a vypíše výsledky každého prichádzajúceho testu. Ukončí sa cez Ctrl+C.",
"cli": "iperf3 -s"
},
{
"mode": "Klient",
"behaviour": "Vyžiada IP adresu alebo názov servera, pripojí sa, spustí predvolený 10-sekundový test a vypíše správu.",
"cli": "iperf3 -c <target>"
}
],
"workflowIntro": "Typický pracovný postup na testovanie 10 GbE spojenia medzi dvoma hostiteľmi Proxmox:",
"workflow": [
"Na hostiteľovi A otvorte menu Sieť → <em>Test priepustnosti (iperf3)</em> → vyberte <strong>Server</strong>.",
"Na hostiteľovi B otvorte rovnakú položku ponuky → vyberte <strong>Klient</strong> → zadajte IP hostiteľa A.",
"Počkajte 10 sekúnd. Porovnajte nameranú rýchlosť s teoretickým maximom spojenia."
],
"sample": "Vzorový výstup klienta:",
"flagsTitle": "Užitočné voľby pri ručnom spustení zo shellu",
"flagsBody": "<code>-t 60</code> dlhší test (60 s namiesto 10 s), <code>-P 4</code> 4 paralelné toky (rýchlejšie vyťažia spojenie), <code>-R</code> opačný smer (server → klient), <code>-u -b 100M</code> test UDP pri 100 Mbit/s (meranie kolísania oneskorenia a straty paketov), <code>-p 5202</code> iný port (viac testov súčasne). Úplný zoznam nájdete v <code>man iperf3</code>.",
"firewallTitle": "Otvoriť firewall port na serveri",
"firewallBody": "Server predvolene načúva na porte TCP <strong>5201</strong>. Ak ho spustíte na hostiteľovi Proxmox s prísnym firewallom na úrovni dátového centra alebo hostiteľa, počas testu povoľte prichádzajúce TCP 5201 z IP adresy klienta a potom port opäť zatvorte. To isté platí pre <code>nftables</code> / <code>iptables</code> na fyzických hostiteľoch."
},
"install": {
"heading": "Prvé spustenie nainštaluje balík",
"body": "Všetky tri spúšťače overia prítomnosť programu a ak chýba, spustia <code>apt-get update -qq &amp;&amp; apt-get install -y &lt;pkg&gt;</code>. Inštalácia prebieha bez výpisu: pri prvom použití môže menu pôsobiť zamrznuto 10–30 sekúnd. Ďalšie spustenia sú okamžité."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"hangTitle": "Inštalácia visí navždy pri prvom spustení",
"hangBody": "Hostiteľ nemá internet alebo apt repo sú nedosiahnuteľné. Zrušiť pomocou <kbd>Ctrl</kbd>+<kbd>C</kbd>, spustiť <code>apt-get update</code> ručne vidieť skutočnú chybu (DNS, repo podpis, proxy ...), potom sa vrátiť do menu.",
"refusedTitle": "Klient iperf3: „unable to connect to server: Connection refused“",
"refusedBody": "Server buď nebeží, alebo jeho firewall blokuje TCP 5201. Na serveri overte cez <code>ss -tlnp | grep 5201</code>, že iperf3 načúva. Ak načúva, ale klient stále zlyháva, skontrolujte firewally na trase medzi hostiteľmi.",
"slowTitle": "iperf3 hlási výrazne nižšiu rýchlosť, než sa od spojenia očakáva",
"slowBody": "Bežné príčiny v poradí pravdepodobnosti: (1) CPU jedného hostiteľa je úzkym miestom — skúste <code>iperf3 -c &lt;target&gt; -P 4</code> na využitie viacerých jadier; (2) prenos prechádza pomalším spojom, napríklad gigabitovým prepínačom medzi dvoma kartami 10 GbE; (3) nezhodné MTU — skontrolujte <code>ip link show</code> na oboch koncoch; (4) vypnutý NIC offloading — pri karte Intel e1000e pozrite komunitný skript <em>Disable NIC Offloading</em>.",
"noTrafficTitle": "iftop / iptraf-ng nevykazujú žiadnu prevádzku pre rušného hostiteľa",
"noTrafficBody": "Predvolené zachytávanie používa prvé zistené rozhranie. Správne rozhranie zadajte výslovne zo shellu: <code>iftop -i vmbr0</code> alebo <code>iptraf-ng -i vmbr0</code>. Spúšťač v menu používa predvolené rozhranie; pre iné rozhrania spustite nástroj z konzoly."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Diagnostika",
"href": "/docs/network/diagnostics",
"tail": " — jednorazové kontroly iba na čítanie (smerovanie, pripojenie a pokročilé štatistiky)."
},
{
"label": "Analýza mostov a oprava so sprievodcom",
"href": "/docs/network/bridge-analysis",
"tail": " — keď sledovanie odhalí, že rozhranie alebo most nefunguje správne."
}
]
}
}
@@ -0,0 +1,130 @@
{
"meta": {
"title": "Trvalé názvy rozhraní | Dokumentácia ProxMenux",
"description": "Priraďte názvy rozhraní Proxmox (eno1, enp3s0, …) k MAC adresám pomocou súborov .link služby systemd, aby zostali zachované pri opätovnom číslovaní PCI, aktualizáciách jadra a pridávaní či odoberaní iných sieťových kariet.",
"ogTitle": "Trvalé názvy rozhraní | Dokumentácia ProxMenux",
"ogDescription": "Zabráňte zmene názvov rozhraní Proxmox pri zmene hardvéru. Používa súbory .link služby systemd s priradením podľa MAC adresy."
},
"header": {
"title": "Trvalé názvy rozhraní",
"description": "Pre každú fyzickú sieťovú kartu vytvorí súbor .link služby systemd, ktorý priradí názov pridelený jadrom k MAC adrese karty. Po použití pri ďalšom reštarte sa názvy rozhraní prestanú meniť pri pridávaní, odoberaní alebo presúvaní kariet PCIe.",
"section": "Sieť"
},
"intro": {
"title": "Čo to robí?",
"body": "Pre každú fyzickú sieťovú kartu hostiteľa zapíše malý súbor <code>/etc/systemd/network/10-&lt;iface&gt;.link</code> s pravidlom: <em>„Zariadenie s touto MAC adresou sa musí vždy volať týmto názvom.“</em> systemd-udevd použije pravidlo pri každom štarte skôr, než <code>ifupdown</code> prečíta <code>/etc/network/interfaces</code>."
},
"problem": {
"heading": "Problém, ktorý rieši",
"intro": "Linux odvodzuje predvolené názvy rozhraní z topológie PCI — <code>eno1</code> = integrovaná karta, <code>enp3s0</code> = karta na zbernici PCI 3, slot 0 atď. Schéma názvov je deterministická <em>pri rovnakom rozložení hardvéru</em>. Ak sa rozloženie zmení, zmenia sa aj názvy:",
"items": [
"Pridanie GPU pred existujúcu sieťovú kartu → číslo zbernice sieťovej karty sa môže zmeniť → zmení sa názov.",
"Presunutie karty do iného slotu PCIe → zmení sa názov.",
"Aktualizácia BIOS / UEFI s opätovným číslovaním zariadení → názvy sa môžu zmeniť.",
"Nahradenie chybnej karty rovnakým modelom v inom slote → zmení sa názov."
],
"outro": "Po takejto zmene <code>/etc/network/interfaces</code> stále odkazuje na <em>starý</em> názov; most sa neaktivuje a hostiteľ stratí sieťové pripojenie. Nastavenie trvalých názvov zabráni opakovaniu tejto situácie."
},
"howWorks": {
"heading": "Ako to funguje",
"arrowLabel": "na NIC",
"nodes": {
"detectLabel": "Zistiť fyzické sieťové karty",
"detectDetail": "ls /sys/class/net/\nvylúčiť vmbr / bond /\ndocker / veth / wireguard …",
"readLabel": "Prečítať každú MAC adresu",
"readDetail": "cat /sys/class/net/\n '<'iface'>'/address",
"writeLabel": "Zapísať súbor .link",
"writeDetail": "/etc/systemd/network/\n 10-'<'iface'>'.link"
},
"minimalIntro": "Každý vygenerovaný súbor je zámerne minimálny:",
"minimalOutro": "Pri štarte systemd-udevd identifikuje zariadenie podľa MAC adresy a pridelí požadovaný názov <em>skôr</em>, než zasiahnu iné komponenty (ifupdown, predvolené pomenovanie jadra). Predpona <code>10-</code> zabezpečuje skoré načítanie pravidiel pred predvoleným súborom <code>99-default.link</code>."
},
"scope": {
"heading": "Čo sa napíše, čo sa preskočí",
"headerType": "Typ",
"headerBehaviour": "Správanie",
"headerWhy": "Prečo?",
"rows": [
{
"type": "Integrovaná / PCIe sieťová karta",
"behaviour": "Zapíše sa súbor <code>.link</code>",
"why": "Zodpovedá skutočnému zariadeniu PCI — prípad, pre ktorý je nástroj určený"
},
{
"type": "Wi-Fi (phy80211)",
"behaviour": "Zapíše sa súbor <code>.link</code>",
"why": "Má skutočnú MAC adresu a využije stabilný názov"
},
{
"type": "Mosty (vmbrX)",
"behaviour": "Preskočené",
"why": "Virtuálne; meno pochádza z <code>/etc/network/interfaces</code>"
},
{
"type": "Bondy (bondX)",
"behaviour": "Preskočené",
"why": "Virtuálne; názov bondu nastavuje ifupdown"
},
{
"type": "veth / docker0 / br-XXXX",
"behaviour": "Preskočené",
"why": "Vytvárané podľa potreby systémom Docker / LXC — nejde o trvalý hardvér"
},
{
"type": "tap / fwpr / fwln",
"behaviour": "Preskočené",
"why": "Vytvárané podľa potreby systémom Proxmox pre každú VM/CT"
},
{
"type": "WireGuard / Cilium / Tailscale",
"behaviour": "Preskočené",
"why": "Softvérové rozhrania spravované vlastnými démonmi"
}
]
},
"safety": {
"heading": "Ochrana: predchádzajúce súbory .link sa zálohujú",
"intro": "Ak <code>/etc/systemd/network/</code> už obsahuje <code>.link</code> súbory (z predchádzajúceho spustenia alebo iného nástroja), skopírujú sa do záložného adresára s časovou značkou pred generovaním nových:",
"outro": "Ak chcete vrátiť späť: skopírujte súbory späť zo záložného adresára a reštartujte.",
"rebootTitle": "Prejaví sa pri ďalšom reštarte, nie okamžite",
"rebootBody": "Zmeny súborov <code>.link</code> sa použijú iba pri štarte, keď udev znovu enumeruje zariadenia. Preto nástroj hlási <em>„Zmeny sa použijú po reštarte“</em>. Premenovanie rozhrania za behu je riskantné a nástroj sa oň nepokúša: aktívny <code>vmbr0</code> s členskými rozhraniami by sa musel prekonfigurovať atómovo. Operácia sa preto odkladá na ďalší čistý štart."
},
"afterReboot": {
"heading": "Po reštarte",
"intro": "Keď sú názvy napevno priradené, postup pri budúcich zmenách hardvéru je jednoduchý:",
"items": [
"Vypnite počítač, zmeňte hardvér (pridajte kartu, zmeňte slot, …) a spustite ho.",
"Každý NIC si ponechá svoje predchádzajúce meno, pretože jeho MAC zodpovedá súboru <code>.link</code>.",
"Ak je NIC nahradený (iný MAC), dostane predvolený názov jadra (<code>enp&lt;bus&gt;s&lt;slot&gt;</code>); znovu spustite toto menu pre pridanie položky <code>.link</code> pre MAC novej karty."
]
},
"troubleshoot": {
"heading": "Riešenie problémov",
"emptyTitle": "\"Nenájdené žiadne fyzické rozhrania\" po spustení nástroja",
"emptyBody": "Jadro na hostiteľovi nevidí žiadne rozhrania založené na PCI / phy80211. Overte to cez <code>ls -l /sys/class/net/</code> — každá položka by mala obsahovať symbolický odkaz <code>device</code> (PCI) alebo položku <code>phy80211</code> (Wi-Fi). Ak pri skutočnej sieťovej karte chýbajú obe, ovládač nie je načítaný.",
"noChangeTitle": "Po reštarte sa mená nezmenili podľa očakávania.",
"noChangeBody": "Skontrolujte, či súbor existuje a má správny formát: <code>cat /etc/systemd/network/10-&lt;iface&gt;.link</code>. Potom skontrolujte záznamy udev: <code>journalctl -u systemd-udevd -b | grep -i link</code>. Bežnou príčinou je starý parameter jadra <code>net.ifnames=0</code>, ktorý úplne vypína predvídateľné názvy — odstráňte ho z <code>/etc/default/grub</code>, spustite <code>update-grub</code> a reštartujte.",
"undoTitle": "Chcem zrušiť trvalé pomenovanie.",
"undoBody": "Buď odstráňte súbory <code>.link</code> (<code>rm /etc/systemd/network/10-*.link</code>), alebo ich obnovte z adresára záloh vytvoreného pri predchádzajúcom spustení. Zmenu použijete reštartom."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Analýza mostov a oprava so sprievodcom",
"href": "/docs/network/bridge-analysis",
"tailRich": " — postup obnovy, keď sa názvy <em>už</em> zmenili."
},
{
"label": "Analýza konfigurácie a čistenie so sprievodcom",
"href": "/docs/network/config-analysis",
"tail": " — na odstránenie osirelých blokov, ktoré zostali po zmenách názvov."
},
{
"label": "Diagnostika",
"href": "/docs/network/diagnostics",
"tailRich": " — po reštarte overte nové názvy cez <em>Zobraziť smerovaciu tabuľku</em>."
}
]
}
}
@@ -0,0 +1,171 @@
{
"meta": {
"title": "Ako sa prispôsobí obraz OCI | ProxMenux",
"description": "Od repozitára obrazu a jeho súboru Compose cez skontrolovateľnú šablónu a plán nasadenia až po natívny LXC v Proxmox VE, bez Dockeru v kontajneri."
},
"header": {
"title": "Ako sa prispôsobí obraz OCI",
"description": "Od repozitára obrazu a jeho súboru Compose cez skontrolovateľnú šablónu a plán nasadenia až po natívny LXC, bez inštalácie Dockeru v kontajneri.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "pipeline",
"title": "Postup prispôsobenia",
"blocks": [
{
"mermaid": {
"chartCode": "flowchart LR\n A[\"{{repo}}\"] --> B[\"Compose + README\"]\n B --> C[\"{{converter}}\"]\n C --> D[\"{{template}}\"]\n D --> E{\"{{blockers}}\"}\n E -- \"{{no}}\" --> F[\"{{review}}\"]\n F --> D\n E -- \"{{yes}}\" --> G[\"{{plan}}\"]\n G --> H[\"pct create\"]\n H --> I[\"{{lxc}}\"]",
"labels": {
"repo": "Repozitár obrazu",
"converter": "Konvertor",
"template": "Šablóna JSON",
"blockers": "Bez prekážok?",
"no": "Nie",
"yes": "Áno",
"review": "Kontrola / overlay",
"plan": "Plán nasadenia",
"lxc": "Natívny LXC"
}
}
},
{
"p": "Konvertor načíta obraz a súbor Compose zverejnené projektom a vytvorí šablónu JSON. Ak niektoré požiadavky ešte nie sú prispôsobené a bránia inštalácii, šablóna pred zverejnením v katalógu prejde kontrolou. Súbor overených úprav, nazývaný overlay, tieto prekážky vyrieši. Na inštaláciu sa ponúkajú iba šablóny bez nevyriešených prekážok."
}
]
},
{
"id": "template",
"title": "Čo šablóna zachováva",
"blocks": [
{
"cards": {
"items": [
{
"icon": "archive",
"title": "Identita obrazu",
"body": "Repozitár, priebežne aktualizovaná značka, architektúra, zistený digest a revízia zdroja."
},
{
"icon": "braces",
"title": "Kontrakt kontajnera",
"body": "Entrypoint, Cmd, prostredie, používateľ, pracovný adresár, signál na zastavenie, porty a zväzky."
},
{
"icon": "layers",
"title": "Prispôsobenie pre Proxmox VE",
"body": "Zdroje, zabezpečenie, prípojné body, zariadenia, sysctls, kontroly stavu a potrebné úpravy pre každú položku vrátane ich zdôvodnenia."
},
{
"icon": "shield",
"title": "Kompatibilita",
"body": "Podporované kľúče, neprispôsobené požiadavky brániace inštalácii a stav každej kontroly."
}
]
}
}
]
},
{
"id": "sources",
"title": "OCI poskytuje proces, Compose poskytuje prostredie",
"blocks": [
{
"table": {
"headers": [
"Zdroj",
"Príklad",
"Natívny výsledok"
],
"rows": [
[
"Metadáta OCI",
"<code>Entrypoint</code>, <code>Cmd</code>, <code>User</code>",
"Proxmox VE ich importuje pri vytváraní CT"
],
[
"Docker Compose",
"<code>environment</code>, <code>volumes</code>, <code>devices</code>",
"Záznamy prostredia LXC, <code>mpN</code> a <code>devN</code>"
],
[
"Profil ProxMenux",
"GPU, kontrola stavu, prihlasovacie údaje",
"Otázky a overené úpravy"
],
[
"Používateľ",
"VMID, úložisko, sieť",
"Kontrakt inštancie"
]
]
}
}
]
},
{
"id": "install",
"title": "Čo sa deje počas inštalácie",
"blocks": [
{
"steps": {
"items": [
{
"title": "Zistiť konkrétny obraz",
"body": "Vyhľadá sa obraz v registri, vyberie sa architektúra hostiteľa a zaznamená sa konkrétny digest, na ktorý odkazuje priebežne aktualizovaná značka."
},
{
"title": "Stiahnuť a overiť",
"body": "Skopeo stiahne obraz ako archív OCI. Pred vytvorením akýchkoľvek prostriedkov sa každá vrstva overí podľa jej digestu a rozbalí. Ak je stiahnutý súbor poškodený, sťahovanie sa ešte raz zopakuje, až potom sa inštalácia zastaví."
},
{
"title": "Vytvoriť súborový systém",
"body": "<code>pct create</code> vytvorí rootfs z archívu a zachová oficiálne metadáta procesu obrazu."
},
{
"title": "Pripojiť prostriedky",
"body": "Pripoja sa deklarované zväzky a zariadenia a nastavia sa sieť, prostredie a bezpečnostné profily."
},
{
"title": "Konzola",
"body": "Výstup konzoly kontajnera sa uchováva na hostiteľovi. Konzola Proxmox VE otvorí shell, ak ho obraz obsahuje."
},
{
"title": "Overiť",
"body": "Pri prvom spustení sa čaká na pridelenie adresy a odpoveď služby. V prípade zlyhania sa inštalácia neoznačí za úspešnú."
},
{
"title": "Zaznamenať konfiguráciu",
"body": "Výsledná konfigurácia sa uloží do kontraktu inštancie, ktorý sa používa pri aktualizáciách a opätovnom vytvorení."
}
]
}
}
]
},
{
"id": "example",
"title": "Príklad: obraz s /config a /downloads",
"intro": "Bežná definícia Compose a konfigurácia Proxmox VE, ktorá z nej vznikne. Cesty očakávané aplikáciou sa nemenia.",
"blocks": [
{
"codeGrid": {
"items": [
{
"title": "Docker Compose",
"code": "image: lscr.io/linuxserver/example:latest\nenvironment:\n - PUID=1000\n - PGID=1000\nvolumes:\n - config:/config\n - /srv/downloads:/downloads\nports:\n - 8080:8080"
},
{
"title": "/etc/pve/lxc/VMID.conf (úryvok)",
"code": "entrypoint: /init\nmp0: local-lvm:vm-VMID-disk-1,mp=/config,backup=1,size=8G\nmp1: /srv/downloads,mp=/downloads\nnet0: name=eth0,bridge=vmbr0,ip=dhcp,type=veth\nlxc.environment.runtime: PUID=1000\nlxc.environment.runtime: PGID=1000"
}
]
}
},
{
"p": "<code>mp0</code> je druhý disk patriaci kontajneru, na zvolenom úložisku pomenovaný <code>vm-VMID-disk-N</code>. Pripája sa do <code>/config</code> a pri <code>backup=1</code> je súčasťou zálohy kontajnera. <code>mp1</code> nevytvára disk: pripája adresár hostiteľa <code>/srv/downloads</code> do <code>/downloads</code> v LXC. Port 8080 sa nemapuje: LXC má vlastnú adresu a služba odpovedá na nej."
}
]
}
]
}
@@ -0,0 +1,278 @@
{
"meta": {
"title": "Inštalácia obrazu mimo katalógu | ProxMenux",
"description": "Prispôsobte obraz OCI zo súboru Compose, URL, príkazu docker run alebo odkazu na obraz a pred inštaláciou skontrolujte, čo ProxMenux dokáže reprodukovať."
},
"header": {
"title": "Nainštalovať obraz mimo katalógu",
"description": "Vlastný obraz sa prispôsobí zo súboru Compose, príkazu docker run alebo iba z odkazu na obraz. Výsledok sa zobrazí na kontrolu skôr, než sa vytvorí akýkoľvek LXC.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "intro",
"blocks": [
{
"calloutInfo": {
"title": "Rovnaký konvertor a inštalátor",
"body": "Voľba <strong>Nainštalovať obraz mimo katalógu</strong> používa rovnaký konvertor a inštalátor ako šablóny katalógu. Rozdiel je v tom, že kontrakt sa vytvorí až vtedy zo zadanej definície a overí sa pred vytvorením akéhokoľvek LXC."
}
}
]
},
{
"id": "sources",
"title": "Ako je obraz opísaný",
"intro": "Úvodná obrazovka sa pýta, ako je obraz opísaný. Štyri možnosti poskytnú definíciu na prispôsobenie, piata používa iba názov obrazu a ďalšie tri načítajú už napísaný oci-compose.",
"blocks": [
{
"table": {
"headers": [
"Voľba",
"Čo sa načíta"
],
"rows": [
[
"Vložiť súbor Compose do terminálu",
"Vložte obsah YAML do terminálu a ukončite ho pomocou Ctrl+D."
],
[
"Načítať súbor Compose z tohto hostiteľa",
"Cesta na uzle, predvolene <code>/root/docker-compose.yml</code>. Súbor musí existovať a nesmie presiahnuť 256 KiB."
],
[
"Stiahnuť súbor Compose z adresy",
"Adresa <code>http://</code> alebo <code>https://</code>, ktorá poskytuje nespracovaný YAML. Stiahne sa najviac 256 KiB."
],
[
"Vložiť príkaz docker run do terminálu",
"Príkaz zverejnený projektom. Prispôsobia sa porty, prostredie, zväzky, zariadenia, capabilities, používateľ, zdieľaná pamäť a ďalšie podporované voľby."
],
[
"Iba odkaz na obraz, bez súboru Compose",
"Odkaz, napríklad <code>ghcr.io/user/application:latest</code>. Vyhľadá sa obraz v registri a zachovajú sa jeho metadáta OCI."
],
[
"Vložiť oci-compose do terminálu",
"Vložte JSON do terminálu a ukončite ho pomocou Ctrl+D. Nekonvertuje sa: overí sa a nainštaluje tak, ako je napísaný."
],
[
"Načítať oci-compose z tohto hostiteľa",
"Súbor JSON na uzle, predvolene <code>/root/oci-compose.json</code>, s veľkosťou najviac 2 MiB."
],
[
"Stiahnuť oci-compose z adresy",
"Adresa <code>http://</code> alebo <code>https://</code>, ktorá poskytuje súbor JSON. Stiahnu sa najviac 2 MiB."
]
]
}
},
{
"figure": {
"src": "/oci-manager/custom-source-menu.png",
"alt": "Menu výberu spôsobu opisu obrazu mimo katalógu",
"caption": "Spôsoby opisu obrazu mimo katalógu."
}
}
]
},
{
"id": "reference-only",
"title": "Čo poskytuje samotný odkaz na obraz",
"intro": "Obraz obsahuje metadáta svojho procesu, nie však celé prostredie, ktoré zvyčajne dopĺňa súbor Compose.",
"blocks": [
{
"table": {
"headers": [
"Načítané z obrazu",
"Nie je v obraze",
"Dôsledok"
],
"rows": [
[
"<code>Entrypoint</code>, <code>Cmd</code>, <code>User</code>, <code>WorkingDir</code> a zahrnuté prostredie",
"Premenné uvedené iba v dokumentácii",
"Pridajú sa pri inštalácii alebo cez Upraviť"
],
[
"Zväzky deklarované obrazom",
"Adresáre hostiteľa uvedené iba v súbore Compose",
"Ďalšie cesty sa pridajú pred inštaláciou"
],
[
"Porty <code>EXPOSE</code>",
"URL, protokol alebo funkčná kontrola služby",
"Potvrdí sa port a spôsob kontroly služby"
],
[
"Architektúry a digest v registri",
"Zariadenia, oprávnenia alebo externé závislosti",
"Bez požiadavky v definícii sa nepovolia"
]
]
}
}
]
},
{
"id": "review",
"title": "Kontrola pred inštaláciou",
"intro": "Po prispôsobení definície ProxMenux zobrazí, ako ju pochopil, ešte pred otázkami na VMID, zdroje a úložisko.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Analyzovať",
"body": "Načítajú sa služby, obraz, porty, cesty, prostredie, zariadenia, zabezpečenie a kontroly stavu."
},
{
"title": "Overiť obraz v registri",
"body": "Obraz musí existovať v registri a zobrazia sa jeho publikované architektúry. Súkromný register sa načíta pomocou účtu uloženého pre daný register."
},
{
"title": "Uviesť nepoužité voľby",
"body": "Vypíšu sa štítky, siete Docker, nastavenia Swarm a ďalšie kľúče, ktoré nemajú na LXC vplyv."
},
{
"title": "Zablokovať voľby bez bezpečného ekvivalentu",
"body": "Kľúče bez bezpečného ekvivalentu sa zobrazia v časti <strong>Voľby bez ekvivalentu</strong> a inštalácia nepokračuje. Žiadny sa nevynechá bez upozornenia."
},
{
"title": "Vyžiadať tajné údaje",
"body": "Premenné, ktorých názov označuje heslo, token alebo kľúč, sa pri inštalácii vyžiadajú ako citlivé údaje."
}
]
}
},
{
"figure": {
"src": "/oci-manager/custom-review.png",
"alt": "Súhrn interpretácie súboru Compose v ProxMenux",
"caption": "Súhrn zobrazený pred otázkami na VMID a zdroje."
}
},
{
"p": "Po potvrdení súhrnu nasleduje rovnaký postup ako v katalógu: názov, predvolený alebo rozšírený režim, VMID, CPU, pamäť, sieť, spúšťanie s uzlom, trvalé a ďalšie cesty, kompatibilné zariadenia a záverečný súhrn."
}
]
},
{
"id": "examples",
"title": "Príklady vstupu",
"blocks": [
{
"codeGrid": {
"items": [
{
"title": "Compose",
"code": "services:\n app:\n image: ghcr.io/example/app:latest\n ports:\n - \"8080:8080\"\n volumes:\n - ./config:/config\n - /srv/media:/media\n environment:\n TZ: Europe/Madrid"
},
{
"title": "docker run",
"code": "docker run -d \\\n --name app \\\n -p 8080:8080 \\\n -e TZ=Europe/Madrid \\\n -v app-config:/config \\\n -v /srv/media:/media \\\n ghcr.io/example/app:latest"
}
]
}
}
]
},
{
"id": "oci-compose",
"title": "Ručne napísaný oci-compose",
"intro": "oci-compose je súbor JSON, z ktorého sa inštaluje aplikácia. Katalóg uchováva jeden pre každú aplikáciu. Rovnaký formát možno napísať ručne a nainštalovať touto voľbou.",
"blocks": [
{
"p": "V ručne napísanom súbore autor určí obraz, porty, premenné, zväzky a otázky pri inštalácii. ProxMenux pri načítaní doplní zvyšok. Formát vyjadrí aj to, čo Compose neobsahuje: text otázky, heslo vytvorené pri inštalácii, profil GPU, vlastníka každého zväzku, kontrolu prvého spustenia alebo prihlasovacie údaje zobrazené na konci."
},
{
"steps": {
"items": [
{
"title": "Overiť",
"body": "Súbor s chybami sa nenainštaluje. Každá chyba označí príslušné pole; pri neplatnom JSON sa uvedie riadok a stĺpec."
},
{
"title": "Skontrolovať",
"body": "Platný súbor zobrazí, čo nainštaluje: obraz, webovú adresu, porty, trvalé cesty, premenné požadované pri inštalácii a súbory, ktoré zapíše."
},
{
"title": "Nainštalovať",
"body": "Inštalácia je rovnaká ako pri aplikáciách katalógu, s predvolenými alebo rozšírenými nastaveniami."
}
]
}
},
{
"calloutWarning": {
"title": "Súbor, ktorý určuje oprávnenia",
"body": "oci-compose určuje, čo sa v kontajneri pripojí a s akými oprávneniami. Kontrola to ukáže pred inštaláciou: používajte iba súbory z dôveryhodných zdrojov."
}
},
{
"p": "Formát je opísaný po blokoch s dvoma úplnými príkladmi v <readmeLink>README enginu OCI</readmeLink>. Rovnakým spôsobom možno načítať aj záznam inštalácie: použije sa iba pôvodná šablóna, nie odpovede z danej inštalácie."
}
]
},
{
"id": "private-registries",
"title": "Obrazy v súkromných registroch",
"intro": "Obraz zo súkromného registra, napríklad súkromný balík GitHub alebo repozitár Docker Hub, sa načíta pomocou účtu uloženého v ProxMenux.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Register odmietne prístup k obrazu",
"body": "Ak register oznámi, že obraz vyžaduje účet, kontrola ponúkne prihlásenie a potom obraz načíta znova."
},
{
"title": "Prihlásiť sa",
"body": "Používateľské meno a heslo alebo token s oprávnením na stiahnutie obrazu. Register ich overí a uložia sa iba pri úspešnom overení."
},
{
"title": "Nainštalovať a udržiavať aktuálne",
"body": "Účet sa použije na stiahnutie obrazu pri inštalácii aj pri aktualizáciách, úpravách, opätovnom vytvorení, vo watchdogu a pri kontrole aktualizácií Monitora na ľubovoľnom uzle klastra."
}
]
}
},
{
"p": "<strong>Účty registrov</strong> v hlavnom menu OCI manager Apps zobrazujú uložené účty podľa registra a používateľa, nikdy nie ich tajné údaje. Z každého účtu možno overiť, stiahnuť alebo nainštalovať obraz a aktualizovať alebo odstrániť prihlasovacie údaje."
},
{
"list": {
"items": [
"GitHub (<code>ghcr.io</code>): používateľ je účet GitHub a heslo je osobný prístupový token s oprávnením <code>read:packages</code>.",
"Docker Hub (<code>docker.io</code>): používateľ je účet Docker Hub a heslo je prístupový token s oprávnením na čítanie.",
"Ostatné registre, aj s vlastným portom, napríklad <code>registry.example.com:5000</code>: používateľské meno a heslo alebo token poskytnuté daným registrom."
]
}
},
{
"calloutInfo": {
"title": "Kde sa účty ukladajú",
"body": "V <code>/etc/pve/priv/proxmenux/registry-auth.json</code>, ktorý môže čítať iba root, v rovnakom adresári ako heslá úložísk Proxmox. <code>/etc/pve</code> zdieľajú všetky uzly klastra, preto sa účet pridaný na jednom uzle používa na všetkých. Záloha hostiteľa tento súbor obsahuje a odinštalovanie ProxMenux ho odstráni zo všetkých uzlov."
}
}
]
},
{
"id": "limits",
"title": "Definície, ktoré sa nenainštalujú",
"blocks": [
{
"list": {
"items": [
"Dockerfile bez publikovaného obrazu: obraz sa musí najprv zostaviť a zverejniť v registri OCI.",
"Súbor Compose s viacerými službami sa zablokuje, pretože táto voľba inštaluje iba jednu službu do jedného kontajnera, aj keď viaceré služby používajú rovnaký obraz.",
"<code>configs</code>, externé tajné údaje alebo formáty zariadení, ktoré nemožno jednoznačne prispôsobiť.",
"Nahradenia shellu, napríklad <code>$(command)</code>: namiesto nich treba zapísať výslednú hodnotu.",
"Nerozpoznané voľby <code>docker run</code> a <code>--env-file</code>: namiesto nich použite súbor Compose s výslovne uvedenými hodnotami."
]
}
}
]
}
]
}
@@ -0,0 +1,392 @@
{
"meta": {
"title": "Zariadenia a zrýchlenie ProxMenux",
"description": "Ako OCI manager Apps sprístupňuje GPU, NVIDIA, Coral, USB, FUSE a ďalšie zariadenia kontajneru OCI ako overené natívne zdroje Proxmox VE."
},
"header": {
"title": "Zariadenia a akcelerácia",
"description": "GPU, NVIDIA, Coral, USB, FUSE a blokové zariadenia sa stávajú overenými natívnymi zdrojmi Proxmox VE pre kontajner.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "principle",
"title": "Zariadenie, ktoré aplikácia potrebuje, nie celý hostiteľ",
"blocks": [
{
"p": "Zariadenie požadované súborom Compose alebo aplikačným profilom sa stáva konkrétnou položkou <code>devN</code> alebo LXC pripojením. Požiadanie o GPU, USB zariadenie alebo Coral nerobí kontajner privilegovaným."
},
{
"flow": {
"nodes": [
{
"label": "Inventár hostiteľa",
"detail": "/dev/dri/renderD128\nGID 993 · Intel"
},
{
"label": "ProxMenux",
"detail": "výrobca a\noverenie oprávnení"
},
{
"label": "LXC",
"detail": "rovnaké zariadenie\nefektívne GID"
}
]
}
}
]
},
{
"id": "origin",
"title": "Odkiaľ pochádza požiadavka na zariadenie",
"blocks": [
{
"table": {
"headers": [
"Zdroj",
"Čo sa číta",
"Čo robí inštalátor"
],
"rows": [
[
"Docker Compose",
"<code>devices</code>, <code>group_add</code>, <code>deploy.resources</code> a NVIDIA žiadosti",
"Každá požiadavka sa stáva požiadavkou zariadenia zobrazenou na preskúmanie"
],
[
"Katalógový profil",
"Podpora GPU, Coral, OpenCL, USB alebo FUSE, ktorú aplikácia skutočne má",
"Ponúkajú sa len možnosti overené pre tento obraz"
],
[
"Metadáta a dokumentácia obrazu",
"VA-API, Selkies, LinuxServer mods alebo NVIDIA runtime",
"Pridávajú sa zdokumentované premenné a príprava"
],
[
"Výber užívateľa",
"iba CPU, Intel/AMD, OpenCL, NVIDIA alebo voliteľné zariadenie",
"Výber je uložený v inštančnej zmluve"
]
]
}
},
{
"calloutWarning": {
"title": "Zistené zariadenia sa nepripájajú automaticky",
"body": "Na hostiteľovi sa vytvorí inventár, ale ponúknu a pripoja sa len zariadenia deklarované v súbore Compose alebo kompatibilnom profile. GPU, USB adaptér či Coral prítomný na hostiteľovi sa nesprístupní každému LXC."
}
}
]
},
{
"id": "identify",
"title": "Ako sa identifikuje hostiteľské zariadenie",
"intro": "Pred úpravou LXC sa zariadenie číta na hostiteľovi a zodpovedá zvolenému profilu.",
"blocks": [
{
"table": {
"headers": [
"Typ",
"Identita",
"Overenie"
],
"rows": [
[
"Intel/AMD DRM",
"<code>/dev/dri/renderD*</code> a <code>/sys/class/drm/NODE/device/vendor</code>",
"Znakové zariadenie s výrobcom <code>0x8086</code> (Intel) alebo <code>0x1002</code> (AMD)"
],
[
"AMD OpenCL",
"Renderovací uzol a <code>/dev/kfd</code>, ak ho profil potrebuje",
"Existencia, typ, výrobca, oprávnenia a deklarovaná zlučiteľnosť"
],
[
"AMD ROCm",
"Renderovací uzol, <code>/dev/kfd</code> a generácia, ktorú výpočtový ovládač hlási v <code>/sys/class/kfd/kfd/topology/nodes/*/properties</code>",
"Generácia, pre ktorú obraz ROCm aplikácie obsahuje výpočtové jadrá — uvedené GPU RDNA2 a novšie — sa ponúkne bez úprav. Ostatné GPU týchto rodín, napríklad Radeon 680M a 780M, sa ponúkajú ako experimentálne a nikdy nie sú navrhnutou voľbou: ROCm ich oficiálne nepodporuje, aplikácia ich prezentuje ako generáciu danej rodiny (<code>HSA_OVERRIDE_GFX_VERSION</code>) a inštalátor pred stiahnutím väčšieho obrazu vyžiada potvrdenie. Staršia GPU, napríklad integrovaná grafika Ryzen 5000U, sa neponúkne a Immich ponechá rozpoznávanie na CPU."
],
[
"NVIDIA",
"<code>nvidia-smi</code> a <code>nvidia-container-cli</code>",
"GPU, UUID, PCI bus, verzia ovládača, Toolkit, uzly <code>/dev/nvidia*</code>, binárne súbory a knižnice"
],
[
"Coral PCIe/M.2",
"<code>/dev/apex_N</code> a jeho odkaz na <code>/sys/dev/char/MAJOR:MINOR</code>",
"Uzol znakového zariadenia, čísla major/minor, vlastník, GID a oprávnenia"
],
[
"USB a sériové",
"<code>/dev/ttyUSB*</code>, <code>/dev/ttyACM*</code> alebo <code>/dev/bus/usb/BBB/DDD</code>",
"Uzol znakového zariadenia; pri USB aj výrobca, produkt a sériové číslo, ak ich sysfs zverejňuje"
],
[
"KVM, TUN, FUSE, video a generické SCSI",
"<code>/dev/kvm</code>, <code>/dev/net/tun</code>, <code>/dev/fuse</code>, <code>/dev/videoN</code> alebo <code>/dev/sgN</code>",
"Podporovaná cesta, typ uzla a účinné práva"
],
[
"Optická mechanika",
"<code>/dev/srN</code>",
"Blokové zariadenie"
]
]
}
}
]
},
{
"id": "install",
"title": "Čo sa stane počas inštalácie",
"blocks": [
{
"steps": {
"items": [
{
"title": "Šablóna ponúka svoje profily",
"body": "Napríklad len CPU, Intel/AMD VA-API, AMD OpenCL, Intel OpenCL alebo NVIDIA. Možnosti patria k obrazu, nie k spoločnému menu."
},
{
"title": "Vyberie sa profil",
"body": "Určuje uzly zariadení, prostredie, mody alebo runtime, ktoré aplikácia potrebuje."
},
{
"title": "Navrhuje sa cesta",
"body": "Pre DRM, <code>/dev/dri/renderD128</code>, ktoré môžu byť zmenené na hostiteľa s niekoľkými renderových uzlov. Pre USB alebo sériový je vybraný konkrétny uzol."
},
{
"title": "Overenie",
"body": "Existencia, typ, povolený výrobca, povolenia a GID sú kontrolované. Nesúlad zastaví operáciu."
},
{
"title": "Zapíše sa kontrakt",
"body": "Cesta, režim, GID, zápis a profil sa zaznamenávajú pre aktualizácie a opätovné vytvorenia."
},
{
"title": "Pripojenie a skúška",
"body": "<code>pct set</code> pridáva položku <code>devN</code> a prístup sa potom kontroluje vo vnútri LXC. LinuxServer obrazy sú tiež kontrolované ako používateľ <code>abc</code>."
}
]
}
}
]
},
{
"id": "config",
"title": "Ako sa objavuje v konfigurácii LXC",
"intro": "Ilustračné hodnoty: <code>dev0</code> a <code>dev1</code> sú voľné pozície priradené Proxmox VE. <code>renderD128</code>, <code>apex_0</code> a GID závisia od hardvéru uzla.",
"blocks": [
{
"codeGrid": {
"items": [
{
"title": "Intel/AMD VA-API",
"code": "dev0: path=/dev/dri/renderD128,mode=0660,gid=993,deny-write=0"
},
{
"title": "Coral PCIe/M.2",
"code": "dev0: path=/dev/apex_0,mode=0660,gid=GID,deny-write=0"
},
{
"title": "Špecifické USB zariadenie",
"code": "dev0: path=/dev/bus/usb/003/004,mode=0660,gid=GID,deny-write=0"
},
{
"title": "AMD OpenCL",
"code": "dev0: path=/dev/dri/renderD128,mode=0660,gid=GID,deny-write=0\ndev1: path=/dev/kfd,mode=0660,gid=GID,deny-write=0"
}
]
}
},
{
"p": "GID sa načíta na hostiteľovi pomocou <code>stat</code> a zapíše do položky <code>devN</code>; nepredpokladá sa, že skupiny <code>render</code> a <code>video</code> majú pevné číslo. Zariadenie má v LXC rovnakú cestu <code>/dev</code>, na ktorej ho vyhľadávajú vlastné mechanizmy aplikácie."
}
]
},
{
"id": "profiles",
"title": "Profily, ktoré môže obraz ponúknuť",
"blocks": [
{
"table": {
"headers": [
"Profil",
"Výsledná konfigurácia",
"Ponúknuté, keď"
],
"rows": [
[
"Intel/AMD VA-API",
"Renderovací uzol <code>/dev/dri</code>",
"Aplikácia podporuje video zrýchlenie"
],
[
"OpenCL",
"Render uzol, <code>/dev/kfd</code> v prípade potreby a oficiálny mod",
"Obraz alebo profil ho dokumentuje"
],
[
"NVIDIA",
"Zariadenia a knižnice ovládača na hostiteľovi",
"Hostiteľ má funkčný ovládač a NVIDIA Container Toolkit"
],
[
"Coral",
"<code>/dev/apex_0</code> alebo zbernica USB",
"Profil vyhlasuje Coral podporu (Frigate)"
],
[
"USB, sériové, FUSE",
"Jediné zariadenie, validovaný strom alebo funkcia LXC",
"Zmluva o ňu žiada"
]
]
}
}
]
},
{
"id": "nvidia",
"title": "NVIDIA",
"blocks": [
{
"calloutWarning": {
"title": "Požiadavka na uzol: NVIDIA Container Toolkit",
"body": "Funkčný ovládač na Proxmox VE nestačí na sprístupnenie GPU NVIDIA obrazu OCI. OCI manager Apps používa <code>nvidia-container-cli</code> zo súpravy NVIDIA Container Toolkit na identifikáciu zariadení a získanie binárnych súborov a knižníc zodpovedajúcich načítanému ovládaču."
}
},
{
"p": "<nvidiaLink>Inštalátor NVIDIA nástroja ProxMenux</nvidiaLink> nainštaluje NVIDIA Container Toolkit z oficiálneho repozitára NVIDIA spolu s ovládačom. Skontroluje jeho štyri balíky, overí <code>nvidia-container-cli</code> a zaznamená výsledok do denníka zmien <auditLink>Audit a správa</auditLink>."
},
{
"p": "Tieto dva príkazy na hostiteľovi ukazujú, či je k dispozícii ovládač a súbor nástrojov:"
},
{
"shell": {
"code": "nvidia-smi -L\nnvidia-container-cli --version"
}
},
{
"p": "Na hostiteľovi, kde bol ovládač nainštalovaný inými prostriedkami, je Toolkit nainštalovaný z oficiálneho stabilného úložiska:"
},
{
"shell": {
"code": "apt-get update\napt-get install -y --no-install-recommends ca-certificates curl gnupg2\n\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \\\n | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg\n\ncurl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \\\n | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \\\n > /etc/apt/sources.list.d/nvidia-container-toolkit.list\n\napt-get update\napt-get install -y nvidia-container-toolkit libnvidia-container-tools"
}
},
{
"p": "Inventár, ktorý používa OCI manager Apps, je výstupom príkazu:"
},
{
"shell": {
"code": "nvidia-container-cli list --device all --libraries --binaries --firmwares --ipcs"
}
},
{
"calloutInfo": {
"title": "Konfigurácia Runtime Docker nie je zahrnutá",
"body": "Kontajnery sú natívne LXC a nepoužívajú démona Docker, takže <code>nvidia-ctk runtime configure --runtime=docker</code> nehrá žiadnu úlohu: ProxMenux priamo volá <code>nvidia-container-cli</code> a zapíše zariadenia a pripojenia LXC. Príkazy a podporované platformy sú uvedené v <toolkitLink>návode na inštaláciu NVIDIA Container Toolkit</toolkitLink>."
}
},
{
"cards": {
"items": [
{
"icon": "cpu",
"title": "Inventár z ovládača",
"body": "<code>nvidia-container-cli</code> uvádza uzly zariadenia, binárne súbory, firmware a knižnice nainštalovaného ovládača."
},
{
"icon": "refresh",
"title": "Bez pevnej verzie",
"body": "Šablóna nepomenuje súbory knižnice. Profil je generovaný z aktuálneho hostiteľa."
},
{
"icon": "shield",
"title": "Pripojenia iba na čítanie",
"body": "Hostiteľské knižnice sú namontované iba na čítanie namiesto kopírovania do kontajnera."
},
{
"icon": "hardDrive",
"title": "Zmeny ovládača",
"body": "Po zmene ovládača sa inventár znovu vygeneruje pred začiatkom postihnutých LXC."
}
]
}
},
{
"code": {
"title": "Výsledok NVIDIA (zjednodušený)",
"code": "devN: path=/dev/nvidia0,...\ndevN: path=/dev/nvidiactl,...\ndevN: path=/dev/nvidia-uvm,...\nlxc.mount.entry: HOST_LIBRARY CONTAINER_LIBRARY none ro,bind,create=file 0 0"
}
},
{
"p": "Sprístupniť len <code>/dev/nvidia0</code> nestačí. Komponenty užívateľského priestoru načítaného ovládača sú namontované len na čítanie a <code>nvidia-smi</code> potom beží vnútri LXC pre porovnanie GPU, UUID, PCI zbernice a verzie s inventárom hostiteľa."
}
]
},
{
"id": "usb",
"title": "USB, sériové a USB Coral",
"blocks": [
{
"calloutWarning": {
"title": "Číslovanie USB sa môže zmeniť",
"body": "Cesta ako <code>/dev/bus/usb/003/004</code> sa môže zmeniť po opätovnom pripojení zariadenia alebo reštarte hostiteľa. Profil zaznamená výrobcu, produkt a sériové číslo, ak sú dostupné, ale nová adresa zbernice sa automaticky nepremapuje."
}
},
{
"p": "Periférne zariadenie je daný jeho konkrétnym uzlom: <code>/dev/ttyUSB0</code>, <code>/dev/ttyACM0</code>, <code>/dev/apex_0</code> alebo <code>/dev/bus/usb/BBB/DDD</code>. Sprístupnenie celého <code>/dev</code> nie je akceptovaný. Coral je ponúkaný len pre aplikácie, ktorých profil deklaruje."
}
]
},
{
"id": "trees",
"title": "Stromy zariadení a funkcie LXC",
"blocks": [
{
"table": {
"headers": [
"Žiadosť",
"Výsledná konfigurácia",
"Rozsah"
],
"rows": [
[
"<code>/dev/dvb</code>, <code>/dev/snd</code> alebo <code>/dev/bus/usb</code>",
"Každý uzol znakového zariadenia v strome dostane vlastnú položku <code>devN</code> s režimom a GID hostiteľa",
"Len požadovaný strom, nie zvyšok <code>/dev</code>"
],
[
"<code>/dev/fuse</code>",
"Uzol a, keď ho profil potrebuje, funkcia <code>fuse=1</code>",
"Samotná FUSE nepublikuje pripojenia do iných LXC"
],
[
"<code>/dev/net/tun</code>",
"Položka <code>devN</code> s rovnakou cestou vo vnútri LXC",
"VPN alebo konfigurácia siete zostáva v aplikácii"
],
[
"<code>/dev/kvm</code>",
"Potvrdená položka <code>devN</code>",
"Ponúkané iba vtedy, keď o to zmluva požiada"
]
]
}
}
]
},
{
"id": "security",
"title": "Potvrdenie podľa úrovne rizika",
"blocks": [
{
"p": "Konkrétne zariadenia, voliteľné privilégium, požadované privilégium, AppArmor alebo seccomp relaxácia a prístup k mennému priestoru PID hostiteľa sa považujú za samostatné prípady, nie pod jedným generickým privilegovaným označením. Každá možnosť s rizikom sa vysvetľuje a potvrdzuje počas inštalácie."
}
]
}
]
}
+213
View File
@@ -0,0 +1,213 @@
{
"meta": {
"title": "OCI manager Apps | ProxMenux",
"description": "Spúšťajte oficiálne obrazy OCI ako natívne kontajnery LXC v Proxmox VE, s trvalými údajmi, prístupom k zariadeniam, aplikáciami s viacerými kontajnermi a transakčnými aktualizáciami."
},
"header": {
"title": "OCI manager Apps",
"description": "Oficiálne obrazy OCI bežia ako natívne kontajnery LXC v Proxmox VE. Používa sa rovnaký obraz, aký zverejňuje jeho správca; ProxMenux vytvorí prostredie, ktoré by okolo neho pripravil Docker Compose.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "model",
"blocks": [
{
"calloutInfo": {
"title": "Jeden obraz OCI, jeden natívny LXC",
"body": "V kontajneroch nebeží Docker Engine. Proxmox VE importuje súborový systém obrazu a jeho metadáta OCI. Aplikácia sa stane hlavným procesom natívneho LXC, ktorý sa spravuje rovnakými nástrojmi ako ostatné kontajnery uzla."
}
},
{
"flow": {
"nodes": [
{
"label": "Zdroj",
"detail": "Obraz OCI\nCompose a dokumentácia"
},
{
"label": "ProxMenux",
"detail": "Kontrakt JSON\noverenie a plánovanie"
},
{
"label": "Proxmox VE",
"detail": "Natívny LXC\nzväzky a zariadenia"
}
],
"caption": "Používa sa pôvodná aplikácia; jej prostredie sa deklaratívne opíše a následne znovu vytvorí."
}
}
]
},
{
"id": "where",
"title": "Kde ho nájdete",
"intro": "Na uzle Proxmox otvorte ako root položku <strong>OCI manager Apps (Technology Preview)</strong> v hlavnom menu ProxMenux. Úvodná obrazovka ponúka:",
"blocks": [
{
"list": {
"items": [
"<strong>Vyhľadať aplikácie</strong> – vyhľadávanie podľa názvu v celom katalógu.",
"<strong>Všetky aplikácie</strong> – úplný katalóg s počtom aplikácií.",
"<strong>Spravovať nainštalované aplikácie OCI</strong> – aktualizovať, upravovať, odstraňovať alebo obnovovať existujúce inštalácie.",
"<strong>Účty registrov</strong> – správa účtov na inštaláciu a aktualizáciu obrazov zo súkromných registrov.",
"<strong>Nainštalovať obraz mimo katalógu</strong> – prispôsobiť súbor Compose, príkaz <code>docker run</code> alebo odkaz na obraz.",
"Kategórie katalógu, každá s počtom aplikácií."
]
}
},
{
"figure": {
"src": "/oci-manager/main-menu.png",
"alt": "Hlavná obrazovka OCI manager Apps s vyhľadávaním, úplným katalógom, správou aplikácií, obrazmi mimo katalógu a kategóriami.",
"caption": "Hlavná obrazovka OCI manager Apps."
}
},
{
"p": "Po výbere aplikácie sa zobrazí jej opis, používaný obraz a dva režimy inštalácie. <strong>Inštalovať s predvolenými nastaveniami</strong> sa pýta len na základné voľby: úložisko, umiestnenie údajov, adresu a spustenie. <strong>Inštalovať s rozšírenými nastaveniami</strong> postupne prejde všetky rozhodnutia: VMID a zdroje, úložisko pre každú cestu, sieťový most a zariadenia."
},
{
"p": "Aplikácie, ktoré boli skutočne otestované, majú v tomto zobrazení označenie <strong>Overené</strong> a v zoznamoch značku ✓. Platí to pre testy v laboratóriu ProxMenux aj pre testy komunity."
}
]
},
{
"id": "beta",
"title": "Prečo má označenie Technology Preview",
"blocks": [
{
"p": "OCI manager Apps ponecháva označenie <strong>Technology Preview</strong>, ktoré Proxmox VE používa pre aplikačné kontajnery vytvorené z obrazov OCI. Ich podpora bola zavedená v Proxmox VE 9.1. Označenie sa týka technológie, na ktorej OCI manager Apps beží, nie jadra ProxMenuxu: správanie týchto kontajnerov sa ešte môže meniť medzi vydaniami Proxmox VE. Označenie zostane, kým Proxmox VE túto podporu neoznačí za stabilnú."
},
{
"p": "Funkcie OCI manager Apps sa testujú v laboratóriu ProxMenux: inštalácia, aktualizácia, úpravy, opätovné vytvorenie, zálohovanie, obnova, migrácia a watchdog. Každá aplikácia sa overuje samostatne. Skutočne otestované aplikácie majú označenie <strong>Overené</strong> a v zoznamoch značku ✓."
}
]
},
{
"id": "translation",
"title": "Ako Docker opisuje požiadavky a OCI manager Apps ich realizuje",
"blocks": [
{
"table": {
"headers": [
"Požiadavka",
"Vyjadrenie v Dockeri",
"Realizácia v OCI manager Apps"
],
"rows": [
[
"Spustiť aplikáciu",
"<code>image</code>, <code>entrypoint</code>, <code>command</code>",
"Rootfs obrazu OCI a hlavný proces LXC"
],
[
"Zachovať konfiguráciu",
"<code>volumes: /config</code>",
"Trvalý zväzok <code>mpN</code> zahrnutý do zálohy alebo adresár na hostiteľovi."
],
[
"Sprístupniť službu",
"<code>ports</code>",
"Vlastná adresa pre LXC a URL na prístup k službe."
],
[
"Použiť hardvér",
"<code>devices</code>, <code>group_add</code>",
"Záznamy <code>devN</code> s efektívnym GID hostiteľa a overeným profilom."
],
[
"Prepojiť závislosti",
"<code>networks</code>, <code>depends_on</code>",
"Súkromný sieťový most, pevné adresy, poradie spúšťania a kontroly stavu."
],
[
"Aktualizovať",
"Stiahnuť cez <code>pull</code> a znovu vytvoriť",
"Nový rootfs so zachovaným kontraktom trvalých údajov."
]
]
}
}
]
},
{
"id": "kept",
"title": "Čo zostáva a čo sa mení",
"blocks": [
{
"cards": {
"items": [
{
"icon": "archive",
"title": "Zachované",
"body": "Oficiálny obraz, jeho vnútorné cesty, prostredie, proces spustenia a dokumentácia používania."
},
{
"icon": "boxes",
"title": "Prispôsobené",
"body": "Prostredie behu: sieť, trvalé údaje, zariadenia, oprávnenia a závislosti využívajú natívne mechanizmy LXC v Proxmox VE."
},
{
"icon": "shield",
"title": "Bez ekvivalentu",
"body": "Voľba Compose bez bezpečného ekvivalentu sa označí ako prekážka inštalácie. Šablóny s takými prekážkami sa na inštaláciu neponúkajú a citlivé voľby vyžadujú potvrdenie v sprievodcovi."
},
{
"icon": "refresh",
"title": "Uložené",
"body": "Digest obrazu, zdroje, cesty, sieť, zariadenia a príslušnosť k zostave sa ukladajú do kontraktu inštancie. Aktualizácie aj opätovné vytvorenie tento kontrakt zachovávajú."
}
]
}
}
]
},
{
"id": "pages",
"title": "Stránky tejto časti",
"blocks": [
{
"next": {
"items": [
{
"label": "Ako sa prispôsobí obraz OCI",
"href": "/docs/oci-manager/architecture",
"tail": "Od obrazu a jeho súboru Compose k natívnemu LXC."
},
{
"label": "Inštalácia obrazu mimo katalógu",
"href": "/docs/oci-manager/custom-image",
"tail": "Súbor Compose, príkaz docker run alebo odkaz na obraz."
},
{
"label": "Údaje, cesty a sieť",
"href": "/docs/oci-manager/storage-network",
"tail": "Zväzky kontajnera, adresáre hostiteľa, pripojenia cez rclone a adresy."
},
{
"label": "Zariadenia a akcelerácia",
"href": "/docs/oci-manager/hardware",
"tail": "GPU, NVIDIA, Coral, USB a ďalšie zariadenia."
},
{
"label": "Aplikácie s viacerými kontajnermi",
"href": "/docs/oci-manager/stacks",
"tail": "Aplikácia, databáza a vyrovnávacia pamäť v koordinovaných LXC."
},
{
"label": "Inštalácia, aktualizácia a úpravy",
"href": "/docs/oci-manager/lifecycle",
"tail": "Kontrakt inštancie a operácie s ním."
},
{
"label": "V ProxMenux Monitor",
"href": "/docs/oci-manager/monitor",
"tail": "Verzie, aktualizácie, výstup konzoly a terminál."
}
]
}
}
]
}
]
}
@@ -0,0 +1,499 @@
{
"meta": {
"title": "Inštalácia, aktualizácia a úpravy | ProxMenux",
"description": "Kontrakt inštancie kontajnera OCI a operácie, ktoré ho používajú: aktualizácia, úprava, odstránenie, zotavenie z prerušenej operácie a obnovenie prevádzky po obnove zo zálohy na tomto alebo inom hostiteľovi."
},
"header": {
"title": "Inštalácia, aktualizácia a úpravy",
"description": "Každá inštancia uchováva reprodukovateľný kontrakt, takže jej rootfs možno nahradiť bez straty konfigurácie alebo trvalých dát.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "contract",
"title": "Kontrakt inštancie",
"blocks": [
{
"p": "Po inštalácii sa výsledná konfigurácia uloží do <code>/usr/local/share/proxmenux/oci/instances/VMID/oci-compose.json</code>. Nejde o kópiu pôvodného súboru Compose: je to reprodukovateľný kontrakt kontajnera LXC, ktorý existuje na tomto hostiteľovi."
},
{
"code": {
"code": "instances/\n└── 105/\n └── oci-compose.json\n ├── image and resolved digest\n ├── resources and network\n ├── environment (secrets protected)\n ├── container disks and host directories\n ├── hardware profile and devices\n ├── console log and terminal mode\n └── stack membership and lifecycle"
}
},
{
"p": "Kópia kontraktu sa nachádza v kontajneri v <code>/.proxmenux/oci-record.json</code> a môže ju čítať iba používateľ root kontajnera. Záloha kontajnera preto vždy obsahuje kontrakt platný v čase zálohovania. Druhá kópia je uložená v <code>/etc/pve/priv/proxmenux/oci</code>, ktorý zdieľajú všetky uzly klastra a môže ho čítať iba root hostiteľa. Obe kópie sa zapisujú po každej inštalácii, aktualizácii a zmene."
}
]
},
{
"id": "manage",
"title": "Spravovať nainštalované aplikácie OCI",
"intro": "Táto možnosť na hlavnej obrazovke zobrazí registrované inštancie s ich aplikáciou a obrazom. Pred každou akciou sa každá inštancia porovná so svojím kontraktom; CT, ktorý už nezodpovedá svojmu záznamu, sa neupraví ani neodstráni. Rovnaká aktualizácia a rovnaký editor sú dostupné na karte Aktualizácie v <monitorLink>ProxMenux Monitor</monitorLink>.",
"blocks": [
{
"table": {
"headers": [
"Možnosť",
"Čo sa zmení?",
"Čo sa uchováva"
],
"rows": [
[
"Aktualizovať obraz pomocou uloženej konfigurácie",
"Rootfs sa nahradí obrazom, ktorý uložený kanál aktuálne publikuje",
"Zmluva, kontajnerové disky, hostiteľské adresáre, siete a zariadenia"
],
[
"Upraviť: upraviť zdroje, sieť, cesty a GPU",
"Editor sa otvorí s aktuálnym kontraktom; CT sa znova vytvorí so zmenami",
"Dáta kontajnerových diskov a hostiteľských adresárov"
],
[
"Watchdog: reštartovať aplikáciu pri havárii",
"Určuje, či sa aplikácia znova spustí, keď sa sama zastaví. Nič sa nevytvára znova",
"Celá inštalácia; len voľba je uložená v zmluve"
],
[
"Odstrániť: odstrániť aplikáciu a jej kontajnery",
"LXC alebo všetci členovia zostavy a ich kontrakty sa odstránia",
"Hostiteľské adresáre s obsahom"
]
]
}
},
{
"p": "Pre aplikáciu s viacerými kontajnermi menu ponúka <strong>Aktualizovať všetky kontajnery aplikácie</strong>, <strong>Upraviť ďalšie cesty a zariadenia</strong>, <strong>Znovu vytvoriť všetky kontajnery s uloženou konfiguráciou</strong>, watchdog a odstránenie. Úprava pridáva alebo odstraňuje ďalšie cesty a zariadenia aplikačného kontajnera bez opätovného vytvárania. V Immich tiež mení zariadenie, ktoré vykonáva rozpoznávanie. Opätovné vytvorenie zostaví každý kontajner z pôvodne nainštalovaného obrazu bez vyhľadávania novšieho."
},
{
"figure": {
"src": "/oci-manager/manage-menu.png",
"alt": "Zoznam nainštalovaných aplikácií OCI s možnosťami aktualizácie, úpravy a odstránenia",
"caption": "Spravovať nainštalované aplikácie OCI."
}
}
]
},
{
"id": "update",
"title": "Transakčná aktualizácia",
"blocks": [
{
"mermaid": {
"chartCode": "sequenceDiagram\n participant U as {{user}}\n participant P as ProxMenux\n participant R as {{registry}}\n participant X as Proxmox VE\n U->>P: {{update}}\n P->>R: {{resolve}}\n R-->>P: digest\n P->>P: {{verify}}\n P->>X: {{backup}}\n P->>X: {{import}}\n P->>X: {{reapply}}\n X-->>P: healthcheck\n alt {{healthy}}\n P-->>U: {{commit}}\n else {{failure}}\n P->>X: Rollback\n P-->>U: {{restored}}\n end",
"labels": {
"user": "Používateľ",
"registry": "Register OCI",
"update": "Aktualizovať inštanciu",
"resolve": "Zistiť obraz podľa značky",
"verify": "Overiť archív a vykonať predbežné kontroly",
"backup": "Zastaviť a zálohovať CT",
"import": "Importovať nové rootfs",
"reapply": "Znova použiť kontrakt",
"healthy": "v poriadku",
"failure": "zlyhanie",
"commit": "Kontrakt zverejnený s novým digestom",
"restored": "Predchádzajúca inštancia obnovená"
}
}
},
{
"list": {
"items": [
"Ak register stále poskytuje nainštalovaný digest, nič sa nesťahuje a inštancia zostáva nezmenená.",
"Nový obraz sa overí vrstvu po vrstve ešte pred zastavením CT. Poškodené stiahnutie sa zopakuje druhýkrát; obraz už uložený vo vyrovnávacej pamäti, ktorý neprejde kontrolou, sa stiahne znova.",
"Nastavenia zmenené v Proxmox VE po inštalácii (pamäť, swap, jadrá, limit CPU, priorita CPU, spustenie spolu s uzlom) sa zachovajú a prenesú do nového kontraktu.",
"Rozhranie LAN, ktoré pridáva súprava Arr a aplikácie s viacerými kontajnermi (<code>net1</code>), aj poradie spúšťania (<code>startup</code>) sa bez zmeny prenesú do nového kontajnera.",
"Akýkoľvek iný rozdiel medzi CT a jeho zmluvou zastaví aktualizáciu pred zastavením CT."
]
}
},
{
"flow": {
"nodes": [
{
"label": "Pred",
"detail": "rootfs A\n/config mp0\n/media hostiteľský adresár"
},
{
"label": "Aktualizácia",
"detail": "nahradí iba\nrootfs"
},
{
"label": "Po",
"detail": "rootfs B\n/config mp0\n/media hostiteľský adresár"
}
]
}
},
{
"p": "Pred zastavením čohokoľvek sa overí dostatok miesta pre zálohu: využité dáta na zálohovaných zväzkoch plus rezerva. Záloha sa zapisuje vedľa záznamu aplikácie na systémový disk hostiteľa. Ak tam nie je dosť miesta, ponuka vyžiada iné úložisko hostiteľa podporujúce zálohy. Záloha sa vytvorí tam a po skončení operácie sa odstráni. Výber sa zapamätá pre danú aplikáciu aj pre plánované aktualizácie. Ak žiadne úložisko nemá dosť miesta, operácia sa odmietne a aplikácia zostane nezmenená. Rovnako sa pred stiahnutím overí miesto pre nový obraz."
}
]
},
{
"id": "recovery",
"title": "Zotavenie z prerušenej operácie",
"intro": "Aktualizácia aj úprava používajú trvalo uloženú transakciu. Ak sa proces, terminál alebo uzol preruší po zastavení CT, operácia sa nepovažuje za dokončenú.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Značka nedokončenej operácie",
"body": "Keď sa otvorí správa nainštalovaných aplikácií OCI, uložený stav ukazuje, že výmena nebola nikdy zverejnená."
},
{
"title": "Zobraziť stav",
"body": "Zobrazí dosiahnutú fázu bez zmeny kontajnerov alebo dát."
},
{
"title": "Obnoviť predchádzajúcu inštaláciu",
"body": "Obnoví overenú natívnu zálohu vytvorenú pred výmenou aj predchádzajúci kontrakt."
},
{
"title": "Zostavy ako celok",
"body": "V prípade aplikácie s viacerými kontajnermi je každý člen obnovený z rovnakého transakčného bodu, nielen z vybraného."
}
]
}
},
{
"calloutWarning": {
"title": "Hostiteľské adresáre sú mimo návratu do pôvodného stavu",
"body": "Záloha zahŕňa rootfs a disky kontajnera, ktoré sú do nej zahrnuté. Hostiteľský adresár sa nevracia do predchádzajúceho stavu, pretože jeho dáta môžu používať iné kontajnery LXC."
}
}
]
},
{
"id": "watchdog",
"title": "Watchdog: reštartovanie aplikácie, ktorá sa zastaví",
"intro": "Proxmox nemá politiku reštartovania: keď sa proces aplikačného kontajnera skončí, kontajner zostane zastavený. Pri zapnutom watchdogu sa aplikácia, ktorá sa sama zastaví, znova spustí. Pre aplikáciu OCI zabezpečuje to, čo <code>restart: unless-stopped</code> v súbore Compose.",
"blocks": [
{
"table": {
"headers": [
"Čo sa stane?",
"So zapnutým watchdogom"
],
"rows": [
[
"Aplikácia havaruje alebo jej proces končí",
"Kontajner sa znova spustí do niekoľkých sekúnd"
],
[
"Zastaví sa alebo vypne cez Proxmox, Monitor alebo pomocou <code>pct</code>",
"Zostane zastavený, kým ho niekto nespustí"
],
[
"Pracuje na tom záloha, migrácia alebo operácia ProxMenux",
"Nič sa nerobí, kým to neskončí."
],
[
"Bol už zastavený pri spustení hostiteľa",
"Zostane zastavený; rozhoduje o tom <strong>Spustiť s Proxmox</strong>"
],
[
"Opakovane sa zastavuje hneď po spustení",
"Aplikácia, ktorá sa zastaví v priebehu niekoľkých sekúnd po spustení alebo sa nespustí vôbec, sa skúsi spustiť päťkrát s odstupmi 30 sekúnd, 1, 2 a 5 minút. Potom zostane zastavená a odošle sa oznámenie"
]
]
}
},
{
"p": "Inštalátor sa na túto možnosť pýta v oboch režimoch inštalácie a navrhuje hodnotu uvedenú v recepte aplikácie. Neskôr sa mení cez <strong>Spravovať nainštalované aplikácie OCI</strong> alebo prepínačom <strong>Watchdog</strong> kontajnera v <monitorLink>ProxMenux Monitor</monitorLink> a platí pre všetky kontajnery aplikácie. Jediná služba hostiteľa, <code>proxmenux-oci-watchdog.service</code>, sleduje všetky aplikácie, ktoré si to vyžiadali; jej inštalácia je uvedená na karte Zmeny v Audit & Report."
},
{
"calloutInfo": {
"title": "Čo hostiteľ nevie povedať",
"body": "Návratový kód aplikácie sa k hostiteľovi nedostane, takže riadne ukončenie a pád vyzerajú rovnako a v oboch prípadoch nasleduje reštart, podobne ako pri <code>always</code> a <code>unless-stopped</code> v Dockeri. Zastavenie vyžiadané mimo Proxmox pomocou <code>lxc-stop</code> alebo <code>systemctl</code> nevytvorí úlohu zastavenia a považuje sa za samovoľné zastavenie."
}
}
]
},
{
"id": "restore",
"title": "Zálohovanie, obnova a ďalší hostiteľ",
"intro": "Záloha vytvorená pomocou vzdump alebo Proxmox Backup Server obsahuje kontajner, disky kontajnera vybrané na zálohovanie a kópiu jeho kontraktu. To, čo inštalácia uchováva na hostiteľovi, do nej nepatrí. <strong>Spravovať nainštalované aplikácie OCI</strong> rozpozná kontajnery obnovené na hostiteľovi, ktorý nemá ich kontrakt, napríklad po novej inštalácii Proxmox alebo na inom hostiteľovi, a ponúkne ich opätovnú registráciu.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Obnoviť kontajnery v Proxmoxe",
"body": "Zo zálohovacieho úložiska, s pôvodným ID alebo ľubovoľným voľným ID. Aplikácia s viacerými kontajnermi potrebuje všetky svoje kontajnery."
},
{
"title": "Otvoriť Spravovať nainštalované aplikácie OCI",
"body": "Zobrazia sa obnovené kontajnery a ponúkne sa obnovenie. Tlačidlo <strong>Obnoviť</strong> na karte Aktualizácie <monitorLink>ProxMenux Monitor</monitorLink> otvorí rovnaké obnovenie."
},
{
"title": "Pred zmenou skontrolujte",
"body": "Obnova overí, či hostiteľ má všetko, čo každá aplikácia potrebuje. Aplikácia, ktorú nemožno obnoviť ako celok, zostane nezmenená a uvedie sa dôvod."
},
{
"title": "Registrácia a spustenie",
"body": "Kontrakt sa zaregistruje na tomto hostiteľovi a znova sa zapíše to, čo na ňom inštalácia uchovávala. Spustenie aplikácií je samostatná otázka, na ktorú treba odpovedať Nie, ak pôvodné kontajnery stále bežia na inom hostiteľovi."
}
]
}
},
{
"figure": {
"src": "/oci-manager/restore-offer.png",
"alt": "Dialóg, ktorý uvádza obnovené kontajnery a ponúka ich obnoviť",
"caption": "Obnova ponúknutá po otvorení Spravovať nainštalované aplikácie OCI."
}
},
{
"table": {
"headers": [
"Čo si hostiteľ nechal?",
"Po zotavení"
],
"rows": [
[
"Kontrakt inštancie",
"Zaregistruje sa z kópie v kontajneri, ktorá sa porovná s konfiguráciou obnovenou systémom Proxmox"
],
[
"Súkromná sieť multikontajnerovej aplikácie",
"Znova sa vytvorí s rovnakým mostom a podsieťou; pevné adresy kontajnerov sa nezmenia"
],
[
"Poradie spúšťania aplikácie s viacerými kontajnermi",
"Hookscript závislostí a jeho kontrakt sa znova nainštalujú; ak žiadne úložisko nepodporuje snippets, povolia sa na úložisku <code>local</code>"
],
[
"Sieťové sysctls a súbor host-monitor",
"Znova sa zapíšu do <code>/etc/pve/proxmenux</code>"
],
[
"Runtime NVIDIA",
"Hook neprivilegovaného kontajnera sa znova nainštaluje. Privilegovaný kontajner dostane súbory ovládača tohto hostiteľa namiesto súborov pôvodného hostiteľa"
],
[
"Pripojenie Rclone",
"Hookscript a programy, ktoré sprístupňujú pripojenie, sa znova zapíšu s rovnakými pohľadmi na hostiteľovi"
],
[
"Pravidlo firewallu hostiteľa pre monitor hostiteľa",
"Znova sa vyžiada súhlas pre webový port a podsieť mosta na tomto hostiteľovi"
],
[
"<code>lost+found</code> z každého obnoveného disku",
"Odstráni sa, ak je prázdny; obnova ho vytvorí a niektoré aplikácie sa nespustia, ak je medzi ich dátami"
],
[
"Disky obnovené na inom úložisku",
"Kontrakt sa aktualizuje podľa úložiska, na ktorom sa teraz nachádzajú"
]
]
}
},
{
"p": "Kontajner obnovený s iným ID si zachová svoju aplikáciu. Kontrakt, záznam konzoly, sieťové nastavenia sysctl, hookscript pripojenia Rclone a poradie spúšťania viackontajnerovej aplikácie sa zaregistrujú s ID, ktoré majú kontajnery na tomto hostiteľovi."
},
{
"table": {
"headers": [
"Čo bráni obnove",
"Čo urobiť"
],
"rows": [
[
"Chýba kontajner aplikácie s viacerými kontajnermi",
"Obnovte aj tento kontajner; aplikácia sa obnovuje ako celok"
],
[
"Súkromná podsieť sa už používa na tomto hostiteľovi",
"Obnova sa zruší a nič sa nezmení: adresy kontajnerov sú pevné a nepresúvajú sa do inej podsiete"
],
[
"Adresár hostiteľa neexistuje",
"Pripojiť alebo vytvoriť s jeho dátami; záloha kontajnera nezahŕňa adresáre hostiteľa"
],
[
"Zariadenie neexistuje na tomto hostiteľovi",
"Pripojte ho alebo ho odstráňte z kontajnera v Proxmox"
],
[
"Aplikácia s NVIDIA na hostiteľovi bez ovládača",
"Nainštalujte ovládač NVIDIA a Container Toolkit"
],
[
"Záloha bola vytvorená skôr, než existovala kópia kontraktu",
"Kontajner zostáva ako bežný LXC a nie je opäť ponúkaný"
]
]
}
},
{
"calloutInfo": {
"title": "Kontajner, ktorý sa vráti",
"body": "Kontajner obnovený s pôvodným ID zo staršej zálohy, vrátený do snímky alebo presunutý späť z iného uzla nesie kontrakt svojho aktuálneho stavu. Ak sa pri výbere na operáciu jeho kontrakt líši od kontraktu na tomto hostiteľovi, operácia sa nespustí a ponúkne sa obnova kontajnera."
}
},
{
"figure": {
"src": "/oci-manager/restore-result.png",
"alt": "Výsledok obnovy so súkromnou sieťou, poradím spúšťania a zaregistrovanými kontajnermi",
"caption": "Výsledok zotavenia, krok za krokom."
}
}
]
},
{
"id": "remove",
"title": "Odstránenie aplikácie OCI",
"blocks": [
{
"p": "Pred potvrdením je zostavený súhrn zo skutočnej konfigurácie: kontajnery, ktoré sú odstránené, údaje s nimi vymazané, súkromná sieť, ktorá je uvoľnená a hostiteľské adresáre, ktoré sú uchovávané. Potvrdenie je predvolene <strong>Nie</strong>, pretože údaje z vymazaných diskov nie je možné následne obnoviť."
},
{
"table": {
"headers": [
"Prostriedok",
"Po odstránení",
"Dôvod"
],
"rows": [
[
"rootfs a kontajnerové disky",
"Odstránia sa",
"Patria len do kontajnera."
],
[
"Adresár hostiteľa",
"Zachová sa aj s obsahom",
"Iné aplikácie ho môžu používať"
],
[
"Hostiteľské súbory kontajnera",
"Odstránia sa",
"Jeho záznam konzoly, sieťové parametre sysctl, hookscript pripojenia Rclone a registrácia na karte App v ProxMenux Monitor neslúžia žiadnemu inému kontajneru"
],
[
"Súbory zdieľané viacerými inštaláciami",
"Vymazané s poslednou inštaláciou, ktorá ich používa",
"Súbor monitora hostiteľa a hookscript závislostí aplikácií s viacerými kontajnermi"
],
[
"Kontrakt inštancie",
"Odstráni sa po úspešnom odstránení aplikácie",
"Už s ním nie je spojený žiadny CT"
],
[
"Súkromný most zostavy",
"Uvoľní sa spolu so zostavou",
"Nemá žiadnych členov na pripojenie"
],
[
"Sieť zdieľaná súpravou Arr",
"Uvoľní sa s poslednou aplikáciou súpravy",
"Každá aplikácia súpravy je nezávislá a odstraňuje sa samostatne"
],
[
"Jeden člen zostavy",
"Neodstránené samostatne",
"Odstráni sa celá aplikácia, aby nezostala neúplná zostava"
],
[
"Kontajner na inom uzle klastra",
"Neodstránené",
"Jeho záznam a súbory na hostiteľovi sú na uzle, kde bol nainštalovaný: odstráni sa tam po migrácii späť"
]
]
}
},
{
"figure": {
"src": "/oci-manager/remove-summary.png",
"alt": "Prehľad odstránenia s dotknutými kontajnermi, dátami a adresármi hostiteľa",
"caption": "Prehľad odstránenia, postavený z reálnej konfigurácie."
}
}
]
},
{
"id": "archives",
"title": "Stiahnuté obrazy a miesto na hostiteľovi",
"blocks": [
{
"p": "Archív OCI slúži na vytvorenie rootfs; bežiaci CT ho nečíta. Po inštalácii alebo aktualizácii sa zobrazia archívy stiahnuté počas danej operácie aj s ich veľkosťou a ponúkne sa ich odstránenie. Odstránením sa uvoľní miesto bez vplyvu na kontajner alebo jeho dáta."
},
{
"calloutInfo": {
"title": "Aktualizácie nepotrebujú archív",
"body": "Bez archívu aktualizácia vyrieši uložený kanál a stiahne nový digest. S ním sa archív znova použije iba vtedy, keď sa jeho referencia a integrita zhodujú s požadovaným."
}
}
]
},
{
"id": "registry",
"title": "Register a čistenie",
"blocks": [
{
"p": "Pri otvorení <strong>Spravovať nainštalované aplikácie OCI</strong> sa najskôr odstránia pozostatky kontajnerov, ktoré už neexistujú na žiadnom uzle klastra: uložený záznam kontajnera odstráneného cez rozhranie Proxmox, uchovávaný ako história, a súbory hostiteľa, ktoré zostali po odstránení. Záznam s nedokončenou operáciou sa zachová, pretože jeho záloha môže byť ešte potrebná. Zväzky ani adresáre hostiteľa sa nikdy neodstraňujú na základe domnienok."
}
]
},
{
"id": "cluster",
"title": "V klastri: migrácia a vysoká dostupnosť",
"intro": "Kontajner OCI je bežný LXC Proxmox: možno ho migrovať alebo spravovať pomocou HA ako ostatné, s rovnakými obmedzeniami. Všetko potrebné na spustenie je uložené tam, kde to nájde každý uzol klastra.",
"blocks": [
{
"table": {
"headers": [
"Časť",
"Na inom uzle klastra"
],
"rows": [
[
"Konzolový log",
"Kontajner pred spustením vytvorí <code>/var/log/proxmenux/oci</code> na uzle, ktorý ho spúšťa. Každý uzol uchováva záznam spustení, ktoré vykonal."
],
[
"Sieťové parametre sysctl a monitor hostiteľa",
"Uchovávajú sa v <code>/etc/pve/proxmenux</code>, ktorý zdieľajú všetky uzly klastra, takže migrovaný kontajner ich nájde."
],
[
"Kontajnerové disky",
"Proxmox ich presúva s kontajnerom. HA potrebuje mať ich dáta dostupné na cieľovom uzle cez zdieľané úložisko alebo podporovanú konfiguráciu replikácie."
],
[
"Hostiteľské adresáre a zariadenia",
"Rovnaké pravidlá ako všetky LXC: hostiteľský adresár musí existovať na cieľovom uzle a musí byť označený ako zdieľaný a musí tam byť prítomný GPU, Coral alebo NPU."
],
[
"Záznam ProxMenux",
"Kontrakt zostáva na uzle, kde bola aplikácia nainštalovaná, a každý uzol číta kópiu v <code>/etc/pve/priv/proxmenux/oci</code>. Migrovaná aplikácia s jedným kontajnerom sa zaregistruje na cieľovom uzle po otvorení <strong>Spravovať nainštalované aplikácie OCI</strong> alebo po spustení operácie pre danú aplikáciu. Aplikácia s viacerými kontajnermi sa tam ponúkne na obnovu, pretože jej súkromná sieť sa musí vytvoriť na tomto uzle."
]
]
}
},
{
"calloutWarning": {
"title": "Nie je určené pre vysokú dostupnosť",
"body": "Aplikácia s viacerými kontajnermi komunikuje so svojimi členmi cez súkromný most uzla, na ktorom bola nainštalovaná, preto jej členovia zostávajú na tomto uzle. Monitor hostiteľa, napríklad Glances v režime hostiteľa alebo Netdata, sleduje uzol, na ktorom beží; presunutím by sledoval iný uzol."
}
},
{
"p": "Pri obnove aplikácie dostane záloha obnovená mimo klastra súbory z <code>/etc/pve/proxmenux</code>, ktoré kontajner používa."
}
]
},
{
"id": "channel",
"title": "Priebežne aktualizovaná značka neznamená bezobslužnú aktualizáciu",
"blocks": [
{
"p": "Katalóg nainštaluje priebežne aktualizovanú značku, ktorú publikuje správca, ale skutočný digest sa zistí a zaznamená a zmení sa iba explicitnou aktualizáciou s predbežnou kontrolou a možnosťou návratu späť. <monitorLink>ProxMenux Monitor</monitorLink> porovná nainštalovaný digest s digestom publikovaným registrom a zobrazí aj odošle upozornenie, keď je dostupný nový obraz."
}
]
}
]
}
@@ -0,0 +1,213 @@
{
"meta": {
"title": "Kontajnery OCI v ProxMenux Monitor | ProxMenux",
"description": "Čo ProxMenux Monitor zobrazuje pre kontajner nainštalovaný cez OCI manager Apps: verzie aplikácie a obrazu, nové obrazy, výstup konzoly a terminál Proxmox VE."
},
"header": {
"title": "V ProxMenux Monitore",
"description": "Kontajner nainštalovaný cez OCI manager Apps sa zobrazuje v časti VM a LXC ako každý iný LXC. Jeho detail načíta záznam inštalácie: verzie aplikácie a obrazu, nové obrazy, výstup konzoly a terminál.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "intro",
"blocks": [
{
"calloutInfo": {
"title": "Záznam je zdroj",
"body": "OCI manager Apps vie, čo nainštaloval a odkiaľ to pochádza. Monitor načíta tento záznam inštalácie namiesto vyhľadávania aplikácie v kontajneri. Tieto údaje sú preto rovnaké pri spustenom aj zastavenom kontajneri."
}
},
{
"table": {
"headers": [
"Karta",
"Čo sa mení pri kontajneri OCI"
],
"rows": [
[
"Stav",
"Prepínač <strong>Watchdog</strong> pod Start at boot: aplikácia sa znova spustí, keď sa sama zastaví"
],
[
"Aplikácia",
"Aplikácia je identifikovaná zo záznamu a aktualizácie sú sledované obrazom"
],
[
"Aktualizácie",
"Obraz je aktualizovaný alebo aplikácia upravená s rovnakým tokom ako OCI menu"
],
[
"Pripojenia",
"Kontajnerové disky a hostiteľské adresáre s ich použitím"
],
[
"Logy",
"Len pre kontajnery OCI: výstup konzoly aplikácie"
]
]
}
}
]
},
{
"id": "app",
"title": "Aplikácia",
"intro": "Záložka <appLink>App</appLink> ponúka nainštalovanú aplikáciu ako detekciu s názvom, logom, portom a schémou záznamu. Zaregistrovanie otvára editor metódou <strong>Obraz OCI (nainštalovaný ProxMenux)</strong>, ktorá nepotrebuje konfiguráciu.",
"blocks": [
{
"cards": {
"items": [
{
"icon": "boxes",
"title": "Aplikácia",
"body": "Verzia aplikácie v obraze, načítaná zo samotného obrazu: z jeho prostredia alebo štítku <code>org.opencontainers.image.version</code>. Je to informatívny údaj."
},
{
"icon": "archive",
"title": "Obraz",
"body": "Dátum zostavenia a digest nainštalovaného obrazu. O aktualizácii sa rozhoduje tu: nainštalovaný digest sa porovná s tým, ktorý register dnes publikuje pre rovnakú značku."
}
]
}
},
{
"list": {
"items": [
"Keď register zverejní nový digest, na karte sa zobrazí <strong>Nový obraz</strong> s jeho dátumom a digest, aj keď sa verzia aplikácie vo vnútri nezmenila: prestavba na aktualizovanej báze je aktualizáciou.",
"Keď sa hodnoty digest zhodujú, karta zobrazí <strong>Verzia</strong>.",
"Karta odkazuje na úložisko obrazu: jeho projekt GitHub alebo jeho stránku Docker Hub pre oficiálny obraz.",
"Prístupové spojenie používa LAN adresu kontajnera, aj pre hlavného člena viackontajnerovej aplikácie, ktorá má druhú adresu vo svojej súkromnej sieti.",
"Tlačidlo <strong>Obnoviť údaje</strong> znovu načíta záznam aj register obrazov. Možnosti vyhľadávania alebo registrácie ďalších aplikácií sa neponúkajú: kontajner obsahuje presne aplikáciu zo svojho záznamu."
]
}
},
{
"figure": {
"src": "/oci-manager/monitor-app-tab.png",
"alt": "App záložka kontajnera OCI s verziou aplikácie, obrazom a odkazom na úložisko",
"caption": "Karta Aplikácia kontajnera nainštalovaného cez OCI manager Apps."
}
},
{
"p": "Kontrola prebieha raz denne s kontrolami aktualizácií monitora a <strong>Obnoviť údaje</strong> ju spustí okamžite. Nový obraz sa odošle ako upozornenie prostredníctvom kanálov nakonfigurovaných v <notificationsLink>Upozornenia</notificationsLink>. Aktualizácia sa aplikuje na karte Aktualizácie."
}
]
},
{
"id": "updates",
"title": "Aktualizácie",
"intro": "Pri kontajneri nainštalovanom cez OCI manager Apps zobrazuje karta Aktualizácie aplikáciu s nainštalovaným obrazom a prípadným novým obrazom z registra, rovnako ako pri ostatných aplikáciách. Nástroje na aktualizáciu balíkov a aplikácií bežného LXC sa nezobrazujú.",
"blocks": [
{
"table": {
"headers": [
"Tlačidlo",
"Čo to otvára?"
],
"rows": [
[
"Aktualizácia",
"Aktualizácia z časti <lifecycleLink>Spravovať nainštalované aplikácie OCI</lifecycleLink> pre tento kontajner v termináli Monitor. Možno ju spustiť aj bez nového obrazu; vtedy sa nič nezmení. Vo viackontajnerovej aplikácii aktualizuje všetkých členov."
],
[
"Upraviť",
"Editor aplikácie (zdroje, sieť, cesty a GPU). Vo viackontajnerovej aplikácii pridáva alebo odstraňuje ďalšie cesty a zariadenia aplikačného kontajnera a v Immich mení, čo vykonáva rozpoznávanie."
],
[
"Obnoviť",
"Nahradí Aktualizáciu po prerušení operácie na kontajneri a otvorí jeho obnovu."
],
[
"Obnoviť (obnovený kontajner)",
"Zobrazí sa pri kontajneri obnovenom zo zálohy, ktorý na tomto hostiteľovi nemá kontrakt, v časti <strong>Obnovená aplikácia OCI</strong>. Otvorí <lifecycleLink>obnovu</lifecycleLink> v termináli Monitor; po registrácii sa zobrazia možnosti Aktualizovať a Upraviť."
]
]
}
},
{
"p": "Externé zmeny, hostiteľské adresáre a multikontajnerové aplikácie sú spracované ako v ponuke OCI. Vo viackontajnerovej aplikácii sa tlačidlá a možnosti zobrazia len na hlavnom kontajneri; ostatní členovia zobrazujú svoj obraz, poznámku, že sú aktualizované z hlavného kontajnera a tlačidlo, ktoré ho otvára. Keď sa terminál uzavrie, obraz, záznam a pripojenia sa znovu prečítajú."
},
{
"table": {
"headers": [
"Možnosť",
"Správanie"
],
"rows": [
[
"Ponechať zálohu vytvorenú pred aktualizáciou",
"Každá aktualizácia zálohuje kontajner, aby ho bolo možné obnoviť pri zlyhaní aktualizácie. Pri tejto voľbe sa tá istá záloha ponechá vo vybranom úložisku a zobrazí medzi zálohami CT; pri Proxmox Backup Server sa záloha zapíše pred aktualizáciou."
],
[
"Plánované aktualizácie",
"Obraz sa aktualizuje v zvolenom čase iba vtedy, keď register publikuje nový obraz; voliteľne až po jeho dosiahnutí veku 1, 3, 7 alebo 14 dní. Kontajner so zmenami mimo ProxMenux sa preskočí a nahlási."
]
]
}
}
]
},
{
"id": "logs",
"title": "Logy",
"intro": "Karta Záznamy sa zobrazuje iba pri kontajneroch nainštalovaných cez OCI manager Apps, medzi kartami Pripojenia a Zálohy. Zobrazuje štandardný a chybový výstup hlavného procesu obrazu, teda rovnaký výstup ako <code>docker logs</code> pri kontajneri Docker.",
"blocks": [
{
"list": {
"items": [
"Výstup sa uchováva na hostiteľovi v <code>/var/log/proxmenux/oci/VMID.console.log</code> (režim 0600) od prvého spustenia aj cez reštarty, takže ho možno čítať pri zastavenom kontajneri.",
"Súbor sa otáča na 10 MB, pričom sa uchovávajú tri komprimované kópie (<code>/etc/logrotate.d/proxmenux-oci</code>).",
"Každý začiatok kontajnera je označený vo výstupe. Karta štandardne zobrazuje výstup od posledného spustenia; <strong>Úplná história</strong> zobrazuje aj predchádzajúce.",
"Po odstránení aplikácie sa odstráni jej výstup.",
"Zobrazuje sa posledných 100, 500 alebo 1000 riadkov. Počas behu kontajnera sa nové riadky sledujú naživo; posunutie nahor sledovanie pozastaví a tlačidlo <strong>Sledovať</strong> ho obnoví.",
"Filter zobrazí iba riadky, ktoré obsahujú text a <strong>Stiahnuť</strong> uloží načítané riadky.",
"Farebné kódy sa odstránia a riadok opakovane prekresľovaný ukazovateľom priebehu sa zobrazí v konečnom stave.",
"Karta načíta súbor pri každom otvorení; nepoužíva vyrovnávaciu pamäť."
]
}
},
{
"calloutInfo": {
"title": "Prihlasovacie údaje pri prvom spustení",
"body": "Obrazy, ktoré vytlačia vygenerované heslo na ich prvom štarte, to nechajú v tomto výstupe, ako to robí <code>docker logs</code>. Inštalátor ho odtiaľ prečíta, aby ju ukázal v súhrne."
}
},
{
"figure": {
"src": "/oci-manager/monitor-logs-tab.png",
"alt": "Karta záznamov s výstupom konzoly kontajnera OCI, výberom počtu riadkov, filtrom a tlačidlom sledovania",
"caption": "Konzolový výstup kontajnera OCI."
}
}
]
},
{
"id": "terminal",
"title": "konzola Proxmox VE",
"blocks": [
{
"p": "Obraz OCI spúšťa vlastný proces ako PID 1 a neobsahuje prihlasovaciu službu. Predvolená konzola LXC by preto otvorila terminál bez procesu, ktorý by odpovedal na prihlásenie. Kontajnery nainštalované cez OCI manager Apps sa vytvárajú s <code>cmode: shell</code>: konzola Proxmox VE otvorí shell pomocou <code>lxc-attach</code>, čo zodpovedá <code>docker exec</code>. Spustená aplikácia zostáva nedotknutá."
},
{
"list": {
"items": [
"Shell je ten, ktorý súbor <code>/etc/passwd</code> v obraze priraďuje používateľovi root. Ak root nemá shell alebo obraz žiadny neobsahuje, zostane predvolená konzola.",
"Shell beží ako root vnútri kontajnera, bez hesla. O tom, kto ho môže otvoriť, rozhoduje <code>VM.Console</code> povolenie Proxmox VE.",
"Terminál monitora vstupuje do kontajnera s <code>pct enter</code>, ktorý funguje rovnako."
]
}
}
]
},
{
"id": "mounts",
"title": "Pripojenia",
"blocks": [
{
"p": "Karta <mountsLink>Pripojenia</mountsLink> uvádza disky kontajnera a jeho adresáre hostiteľa. Využitie disku kontajnera na blokovom úložisku, napríklad LVM-thin, sa číta zo súborového systému disku, ktorý je pripojený iba v kontajneri."
}
]
}
]
}
@@ -0,0 +1,404 @@
{
"meta": {
"title": "Aplikácie s viacerými kontajnermi | ProxMenux",
"description": "Ako OCI manager Apps mení aplikáciu s databázou a vyrovnávacou pamäťou na koordinované natívne LXC: plán, súkromná sieť, hook závislostí, overenie a transakčné aktualizácie."
},
"header": {
"title": "Aplikácie s viacerými kontajnermi",
"description": "Aplikácia so svojou databázou, vyrovnávacou pamäťou a ďalšími službami sa stáva niekoľkými koordinovanými LXC, nainštalovanými a aktualizovanými ako jedna.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "intro",
"blocks": [
{
"calloutInfo": {
"title": "Jedna aplikácia pre užívateľa, niekoľko LXC pre Proxmox VE",
"body": "Definícia viacerých kontajnerov je jedným záznamom v katalógu. Inštalátor vytvorí jeden natívny LXC pre každú službu a explicitne spravuje ich závislosti. Immich, Nextcloud, Paperless-ngx a Tandoor sú nainštalované týmto spôsobom."
}
},
{
"mermaid": {
"chartCode": "flowchart LR\n C[\"Docker Compose\"] --> O[\"{{plan}}\"]\n O --> A[\"{{app}}<br/>{{appNet}}\"]\n O --> D[\"{{db}}<br/>{{private}}\"]\n O --> R[\"{{cache}}<br/>{{private}}\"]\n V1[(\"config\")] --> A\n V2[(\"database\")] --> D\n V3[(\"cache\")] --> R\n D --> A\n R --> A",
"labels": {
"plan": "Stack plán",
"app": "Aplikácia LXC",
"appNet": "LAN + súkromné",
"db": "PostgreSQL LXC",
"cache": "Valkey LXC",
"private": "súkromné"
}
}
}
]
},
{
"id": "plan",
"title": "1. Plán ešte pred vytvorením kontajnerov",
"blocks": [
{
"p": "Počas spracovania definície Compose sa nevytvára žiadny LXC. Najprv vznikne úplný plán so všetkými členmi, obrazmi, VMID, sieťami, cestami, tajnými údajmi, poradím a kontrolami stavu. Ak plán nie je konzistentný, inštalácia sa nezačne."
},
{
"table": {
"headers": [
"Prvok plánu",
"Obsah",
"Overenie pred vytvorením čohokoľvek"
],
"rows": [
[
"Členovia",
"Hlavná aplikácia, databáza, vyrovnávacia pamäť, strojové učenie a iné závislosti",
"Jedinečné VMID, známe úlohy a presne jeden hlavný člen"
],
[
"Obrazy",
"Priebežne aktualizovaný odkaz, architektúra a určený digest každej služby",
"Všetky existujú, podporujú architektúru a prejdú kontrolou integrity OCI"
],
[
"Sieť",
"Súkromný most, podsieť, pevná adresa pre každú službu a prístup LAN pre hlavného člena",
"Žiadna zrážka s existujúcimi mostmi alebo podsietami a žiadna opakovaná adresa"
],
[
"Perzistencia",
"Kontajnerové disky, hostiteľské adresáre, majitelia a zálohovanie",
"Žiadne prekrývanie ciest, dostupné úložisko a deklarované oprávnenia"
],
[
"Tajomstvá",
"Heslo databázy, aplikačné kľúče a počiatočné prihlasovacie údaje",
"Generované raz a podané iba členom, ktorí ich používajú"
],
[
"Životný cyklus",
"Poradie spúšťania, poradie zastavovania a kontrola stavu každého člena",
"Hlavná aplikácia sa spúšťa posledná a zastavuje prvá"
]
]
}
}
]
},
{
"id": "create",
"title": "2. Vytváranie jednotlivých členov",
"blocks": [
{
"steps": {
"items": [
{
"title": "Rezervujte každý VMID",
"body": "Súpis Proxmox VE a inštančný register sú kontrolované. Existujúce CT nie je prijaté a zmluva, ktorá stále patrí do inej inštancie, sa opätovne nepoužíva."
},
{
"title": "Pripravte každý obraz",
"body": "Všetky obrazy sú vyriešené, stiahnuté a overené pred vytvorením prvého kontajnera."
},
{
"title": "Vytvoriť každý rootfs",
"body": "Importujú sa oficiálne metadáta OCI a pridá sa identita inštancie ProxMenux a rola člena."
},
{
"title": "Súkromná sieť",
"body": "Vytvorí sa most a podsieť a každý člen dostane pevnú adresu; iba hlavný člen navyše dostane rozhranie LAN."
},
{
"title": "Perzistencia",
"body": "Každá databáza a konfigurácia dostane svoj vlastný disk kontajnera; iba údaje určené na zdieľanie používajú adresáre hostiteľov."
},
{
"title": "Prostredie",
"body": "Zapíšu sa interné koncové body, zdieľané tajné údaje a premenné služieb. Aplikácia pristupuje k svojim závislostiam cez ich vyhradené súkromné adresy."
},
{
"title": "Záznam",
"body": "Každý člen zaznamenáva svoju natívnu konfiguráciu, rootfs zmeny, ktoré aktualizácie musia reprodukovať a jeho vzťah k stohu."
}
]
}
}
]
},
{
"id": "checks",
"title": "3. Spustiť a skontrolovať každý kontajner",
"intro": "Vytvorený LXC ešte neznamená pripravenú službu. Závislosti sa spúšťajú v určenom poradí a každá prejde kontrolou špecifickou pre danú službu.",
"blocks": [
{
"table": {
"headers": [
"Služba",
"Kontrola",
"Čo ukazuje"
],
"rows": [
[
"PostgreSQL",
"<code>pg_isready</code> v CT s očakávaným hostiteľom, používateľom a databázou",
"Server akceptuje spojenia pre nakonfigurovanú databázu"
],
[
"Redis / Valkey",
"<code>redis-cli</code> alebo <code>valkey-cli</code> s príkazom <code>PING</code> na jeho súkromnej adrese",
"Broker počúva a odpovedá"
],
[
"Immich strojové učenie",
"HTTP <code>GET /ping</code>, plus kontrola zvoleného runtime GPU",
"Služba odpovedá a požadovaná akcelerácia neprešla na CPU"
],
[
"Nextcloud",
"<code>GET /status.php</code> s <code>installed=true</code>, <code>maintenance=false</code> a <code>needsDbUpgrade=false</code>",
"Inicializácia ukončená bez ďalšej migrácie"
],
[
"Paperless-ngx / Tandoor",
"HTTP na adrese LAN a skutočnom porte služby",
"Frontend a jeho závislosti poskytujú aplikáciu"
],
[
"Hlavná aplikácia",
"Koncový bod jeho šablóny, napríklad <code>/api/server/ping</code> v Immich",
"Celý zásobník pracuje prostredníctvom aplikácie, ktorá používa závislosti"
]
]
}
},
{
"calloutWarning": {
"title": "Spustený neznamená funkčný",
"body": "Stav spustené len hovorí, že proces LXC existuje. Tam, kde služba ponúka lepšiu kontrolu, sa používa exec alebo HTTP kontrola s časovým limitom. Ak člen zastaví alebo zlyhá jeho kontrola, zásobník nie je deklarovaný ako nainštalovaný."
}
}
]
},
{
"id": "hook",
"title": "4. Hook závislostí",
"blocks": [
{
"p": "Hook sa nastaví iba na hlavnom kontajneri zostavy so závislosťami. Proxmox VE uchováva skript ako snippet a spúšťa ho ako <code>hookscript</code> daného CT. Recept zostavy nie je zapísaný v skripte: nachádza sa v samostatnom súkromnom kontrakte."
},
{
"codeGrid": {
"items": [
{
"title": "Hlavné nastavenie CT",
"code": "hookscript: local:snippets/proxmenux-stack-dependencies.sh"
},
{
"title": "Súkromná zmluva (príklad)",
"code": "/etc/pve/priv/proxmenux-stack-VMID.json\n{\n \"schema\": 1,\n \"stack\": \"immich\",\n \"dependencies\": [\n {\"vmid\": 107, \"label\": \"PostgreSQL\", \"healthcheck\": {...}},\n {\"vmid\": 108, \"label\": \"Valkey\", \"healthcheck\": {...}},\n {\"vmid\": 106, \"label\": \"Machine Learning\", \"healthcheck\": {...}}\n ]\n}"
}
]
}
},
{
"snippet": {
"summary": "Kompletný zdroj proxmenux-stack-dependencies.sh",
"pathCode": "local:snippets/proxmenux-stack-dependencies.sh",
"snippetCode": "stackDependencyHook"
}
},
{
"p": "Skript je rovnaký pre každý zásobník. VMID, názvy, kontrolné typy a timeouty pochádzajú zo súkromného kontraktu <code>/etc/pve/priv/proxmenux-stack-VMID.json</code> každého zásobníka."
},
{
"steps": {
"items": [
{
"title": "Proxmox VE zavolá pre-start",
"body": "Pred spustením hlavného CT sa hook spustí s jeho VMID a fázou životného cyklu."
},
{
"title": "Zámok na zásobník",
"body": "<code>flock</code> na <code>/run/lock/proxmenux-stack-VMID.lock</code> zabraňuje dvom štartovým sekvenciám súčasne."
},
{
"title": "Zmluva je prečítaná a overená",
"body": "Požaduje sa známa schéma, numerické závislosti, etikety, exec, http alebo kontrola chodu a pozitívny timeout."
},
{
"title": "Závislosti v poradí",
"body": "Každý CT musí existovať; zastavený sa spustí, už spustený sa nereštartuje."
},
{
"title": "Čakanie na pripravenosť služby",
"body": "Kontrola beží každé dve sekundy, a CT je tiež potvrdené, že stále beží."
},
{
"title": "Hlavné CT začína",
"body": "Keď je každá závislosť pripravená, pre-start končí a Proxmox VE spustí aplikáciu."
}
]
}
},
{
"calloutInfo": {
"title": "Háčik nezastaví závislosť",
"body": "Fázy post-start, pre-stop a post-stop nič nevykonávajú. Zastavenie hlavného CT ponechá PostgreSQL, Redis, Valkey alebo strojové učenie spustené. Hook určuje poradie spúšťania; nemení viaceré LXC na jeden proces."
}
},
{
"table": {
"headers": [
"Typ",
"Príklad",
"Neskoršie spustenia"
],
"rows": [
[
"Závislý zásobník",
"Immich, Nextcloud, aplikácia s PostgreSQL",
"Hook hlavného CT spustí závislosti a čaká na ich pripravenosť."
],
[
"Súprava aplikácií",
"Súprava Arr",
"Žiadny hlavný člen: každý LXC sleduje svoje vlastné <code>onboot</code>"
],
[
"Samostatná aplikácia",
"Jellyfin",
"Proxmox VE spustí daný LXC priamo"
]
]
}
}
]
},
{
"id": "stack-checks",
"title": "5. Kontrola stohu ako celku",
"blocks": [
{
"list": {
"items": [
"Každý VMID existuje, je jedinečný a udržiava očakávanú inštančnú identitu.",
"Každý kontrakt patrí do rovnakej zostavy, zachováva svoju rolu a zaznamenanú natívnu konfiguráciu.",
"Hlavný člen je posledný v <code>start_order</code> a prvý v <code>stop_order</code>.",
"Nechýba žiadny člen, zväzok ani úprava rootfs.",
"Hook odkazuje na oficiálny snippet, jeho obsah sa nezmenil a jeho kontrakt zodpovedá receptu zostavy.",
"Zistené obrazy a hodnoty digest zodpovedajú pripraveným archívom OCI.",
"Zariadenia, profily GPU, pripojenia, tajomstvá a koncové body stále zodpovedajú zmluvám.",
"Keď všetky závislosti prejdú kontrolou, koncový bod hlavnej aplikácie overí integráciu medzi členmi."
]
}
}
]
},
{
"id": "manage",
"title": "Správa nainštalovaného zásobníka",
"intro": "V časti <strong>Spravovať nainštalované aplikácie OCI</strong> vedie každý člen k celej zostave. Ponuka obsahuje <strong>Aktualizovať všetky kontajnery aplikácie</strong>, <strong>Upraviť dodatočné cesty a zariadenia</strong>, <strong>Znova vytvoriť všetky kontajnery s uloženou konfiguráciou</strong> a <strong>Odstrániť: vymazať aplikáciu a jej kontajnery</strong>. Opätovné vytvorenie zostaví každý kontajner z pôvodného obrazu podľa uloženého digestu bez hľadania novšieho obrazu. Používa rovnaké kroky ako aktualizácia a ponúka sa pre aktualizovateľné zostavy.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Každý člen",
"body": "Zmluva člena menuje hlavné VMID a kompletný zoznam členov."
},
{
"title": "Stack je reprodukovateľný",
"body": "Overia sa identity, kontrakty, hook, úpravy a koordinované opätovné vykonanie daného receptu."
},
{
"title": "Prvé obrazy",
"body": "Aplikácia sa nezastaví, kým sa každý digest neurčí, nestiahne a neoverí."
},
{
"title": "Zastaviť súčasti a zálohovať celú zostavu",
"body": "Overené natívne zálohy sa vytvoria pri zastavenej zostave, aby aplikácia a databázy zodpovedali rovnakému okamihu."
},
{
"title": "Aktualizovať a skontrolovať každého člena",
"body": "Adaptácia, sieť, pripojenia, tajomstvá a zariadenia sa používajú opäť pred kontrolou stavu každého člena."
},
{
"title": "Publikovať alebo obnoviť všetko",
"body": "Nové zmluvy sa uverejňujú iba vtedy, keď každý člen prejde. Ak jeden zlyhá, každý člen je obnovený."
}
]
}
},
{
"table": {
"headers": [
"Upraviť",
"Čo sa zmení?",
"Čo sa uchováva"
],
"rows": [
[
"Extra cesty a zariadenia",
"Pridajú sa do aplikačného kontajnera alebo sa z neho odstránia a kontajner sa reštartuje. Nič sa znova nevytvára.",
"Údaje aplikácie, jej databázy a ostatných kontajnerov"
],
[
"Čo spúšťa rozpoznanie (Immich)",
"Kontajner strojového učenia dostane obraz a zariadenia pre CPU alebo GPU hostiteľa. Celá aplikácia sa zastaví a aktualizuje rovnakým postupom ako pri aktualizácii.",
"Modelová vyrovnávacia pamäť, knižnica a databáza. Ak niečo zlyhá, predchádzajúce kontajnery a predchádzajúca voľba sú obnovené"
]
]
}
},
{
"calloutWarning": {
"title": "Zostava bez koordinovaného opätovného vykonania sa neaktualizuje",
"body": "Ak sa príprava zásobníka nedá reprodukovať, aktualizácia sa zamietne pred zastavením zásobníka. Aplikácia funguje tak, ako je."
}
}
]
},
{
"id": "failure",
"title": "6. Keď niečo zlyhá",
"blocks": [
{
"p": "Ak počas inštalácie nastane chyba, zastavia a odstránia sa neúplné kontajnery vytvorené touto operáciou aj súkromný most, ak ho operácia vytvorila. Zostava sa nezverejní ako platná, kým neskončí celý postup."
},
{
"p": "Aktualizácia je transakčná: všetky obrazy sú pripravené ako prvé, potom stack zastaví, každý člen je zálohovaný a záloha overená, a len potom je každý rootfs nahradený. Členovia začínajú jeden po druhom so zdravotnou kontrolou; ak jeden zlyhá, každý člen je obnovený z rovnakého súboru záloh, takže databáza a aplikácia nikdy nepatria do rôznych momentov."
},
{
"mermaid": {
"chartCode": "flowchart LR\n P[\"{{prepare}}\"] --> S[\"{{stop}}\"]\n S --> B[\"{{backup}}\"]\n B --> R[\"{{replace}}\"]\n R --> H{\"{{healthy}}\"}\n H -- \"{{yes}}\" --> C[\"{{commit}}\"]\n H -- \"{{no}}\" --> X[\"{{rollback}}\"]",
"labels": {
"prepare": "Pripravte každý obraz",
"stop": "Stop, hlavný člen prvý",
"backup": "Overená záloha každého CT",
"replace": "Nahradiť rootfs",
"healthy": "Sú všetky funkčné?",
"yes": "Áno",
"no": "Nie",
"commit": "Zverejniť kontrakty",
"rollback": "Obnoviť každého člena"
}
}
}
]
},
{
"id": "not-assumed",
"title": "Čo zásobník nezahŕňa",
"blocks": [
{
"list": {
"items": [
"Súprava nainštalovaná v jednom postupe, napríklad súprava Arr, nie je zostavou so závislosťami: jej kontajnery nemajú určené vzájomné poradie spúšťania.",
"Súkromná sieť nenahrádza autentifikáciu, TLS ani konfiguráciu každej aplikácie.",
"Zálohovanie jedného LXC neobsahuje most, hák ani zmluvy zvyšku zásobníka.",
"Prowlarr, Sonarr alebo Radarr neprijímajú žiadne indexátory, profily alebo poskytovateľov z ProxMenux."
]
}
}
]
}
]
}
@@ -0,0 +1,305 @@
{
"meta": {
"title": "Údaje, cesty a sieť | ProxMenux",
"description": "Ako OCI manager Apps uchováva údaje kontajnera OCI: disky kontajnera, adresáre hostiteľa, pripojenia cez rclone, adresy a súkromné siete."
},
"header": {
"title": "Údaje, cesty a sieť",
"description": "Čo sa nachádza v rootfs, čo sa zachová pri jeho výmene, ako sa zdieľajú údaje medzi kontajnermi a ako každý kontajner získa svoju adresu.",
"section": "OCI manager Apps"
},
"sections": [
{
"id": "intro",
"blocks": [
{
"calloutInfo": {
"title": "Trvalé uloženie údajov sa určí pred vytvorením LXC",
"body": "Pred vytvorením kontajnera sa načítajú zväzky deklarované obrazom a jeho súborom Compose. Každá cesta, ktorá sa má zachovať po aktualizácii, sa stane prípojným bodom nezávislým od rootfs. Rootfs tak obsahuje iba súbory patriace obrazu a možno ho vymeniť."
}
}
]
},
{
"id": "questions",
"title": "Na čo sa pýta inštalátor",
"intro": "Šablóna poskytuje cesty potrebné pre aplikáciu. Každá sa umiestni na disk kontajnera alebo do adresára hostiteľa. Pred súhrnom možno pridať ďalšie cesty.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Potrebné cesty",
"body": "Zobrazia sa <code>/config</code>, <code>/data</code>, knižnice, stiahnuté súbory a všetky zväzky deklarované aplikáciou."
},
{
"title": "Umiestnenie",
"body": "Každá cesta sa umiestni na disk kontajnera alebo do existujúceho adresára hostiteľa."
},
{
"title": "Úložisko a veľkosť",
"body": "Na úložisku Proxmox VE sa vytvorí disk kontajnera so zadanou veľkosťou. Predvolená inštalácia používa <code>local-lvm</code>. Rozšírená inštalácia sa pri každej ceste pýta najprv na úložisko a potom na veľkosť; navrhuje úložisko rootfs. Disk sa zobrazuje ako <code>vm-VMID-disk-N</code> a pripája sa ako <code>mpN</code>."
},
{
"title": "Adresár hostiteľa",
"body": "Adresár hostiteľa sa zadáva jeho cestou. Ak neexistuje, vytvorí sa a jeho vlastníkom bude používateľ hostiteľa, na ktorého sa mapuje používateľ kontajnera."
},
{
"title": "Ďalšie cesty",
"body": "Pred inštaláciou možno pridať ďalšie dvojice cesty alebo zväzku hostiteľa a cesty v kontajneri."
},
{
"title": "Súhrn",
"body": "Pred vytvorením CT sa zobrazí úplné mapovanie ciest a uloží sa do kontraktu inštancie."
}
]
}
}
]
},
{
"id": "options",
"title": "Dve možnosti trvalého uloženia",
"blocks": [
{
"table": {
"headers": [
"Vlastnosť",
"Disk kontajnera",
"Adresár hostiteľa"
],
"rows": [
[
"V konfigurácii",
"<code>mpN: STORAGE:vm-VMID-disk-N,mp=/config,backup=1,size=16G</code>",
"<code>mpN: /mnt/oci-shared/media,mp=/data/media</code>"
],
[
"Záloha kontajnera (vzdump)",
"Zahrnutý pri <code>backup=1</code>",
"Nezahrnutý"
],
[
"Veľkosť",
"Pevná; zväčšuje sa zmenou veľkosti prípojného bodu",
"Voľné miesto v súborovom systéme alebo datasete hostiteľa"
],
[
"Ostatné kontajnery",
"Pripája ho iba kontajner, ktorému patrí",
"Ten istý adresár možno pripojiť do viacerých kontajnerov"
],
[
"Snapshoty a obnova",
"Spravuje ich Proxmox VE spolu s CT",
"Spravujú sa na úložisku hostiteľa"
],
[
"Pri odstránení aplikácie",
"Odstráni sa spolu s kontajnerom",
"Zachová sa aj s obsahom"
],
[
"Pri presune CT na iný uzol",
"Presunie sa spolu s CT",
"Na druhom uzle musí existovať rovnaká cesta"
]
]
}
},
{
"p": "Rootfs je vyhradený pre binárne súbory a obsah obrazu. Aktualizácia alebo opätovné vytvorenie ho nahradí bez zásahu do ktoréhokoľvek z dvoch typov prípojných bodov."
}
]
},
{
"id": "example",
"title": "Príklad: kontajner s oboma umiestneniami",
"blocks": [
{
"code": {
"title": "Jellyfin nainštalovaný ako CT 151 na local-lvm (úryvok)",
"code": "rootfs: local-lvm:vm-151-disk-0,size=8G\n# Container disk, part of the CT backup\nmp0: local-lvm:vm-151-disk-1,mp=/config,backup=1,size=16G\n\n# Host directory, outside the CT backup\nmp1: /mnt/oci-shared/media,mp=/data/media"
}
},
{
"p": "Aktualizácia alebo opätovné vytvorenie nahradí iba rootfs: <code>mp0</code> zachová používateľov, knižnice a nastavenia a <code>mp1</code> naďalej sprístupňuje rovnaké médiá. Obnova zálohy CT obnoví <code>/config</code>. Adresár s médiami sa v prípade potreby obnovuje zo zálohy úložiska hostiteľa."
},
{
"flow": {
"nodes": [
{
"label": "Kontrakt",
"detail": "/config"
},
{
"label": "Umiestnenie",
"detail": "Disk kontajnera\nalebo adresár hostiteľa"
},
{
"label": "LXC",
"detail": "Pre aplikáciu\nvždy /config"
}
],
"caption": "Aplikácia vidí cestu deklarovanú obrazom; mení sa iba miesto jej uloženia."
}
}
]
},
{
"id": "shared",
"title": "Jeden adresár hostiteľa, viacero kontajnerov",
"blocks": [
{
"mermaid": {
"chartCode": "flowchart TB\n H[\"{{host}}<br/>/mnt/oci-shared/media\"]\n H --> Q[\"qBittorrent<br/>/data\"]\n H --> J[\"Jellyfin<br/>/data\"]\n H --> R[\"Radarr / Sonarr<br/>/data\"]\n Q -. \"{{config}}\" .-> QV[(\"/config mpN\")]\n J -. \"{{config}}\" .-> JV[(\"/config mpN\")]\n R -. \"{{config}}\" .-> RV[(\"/config mpN\")]",
"labels": {
"host": "Adresár hostiteľa",
"config": "Vlastná konfigurácia"
}
}
},
{
"p": "Každý kontajner uchováva svoju konfiguráciu na vlastnom disku. Knižnica alebo stiahnuté súbory sú v jednom adresári hostiteľa, pripojenom na rovnakej vnútornej ceste v každom kontajneri. Cesta, do ktorej jedna aplikácia zapisuje, je preto rovnaká ako cesta, z ktorej druhá číta."
}
]
},
{
"id": "rclone",
"title": "Cloudové úložisko cez aplikáciu rclone",
"intro": "Položka rclone v katalógu okrem inštalácie ponúka aj možnosť <strong>Aktivovať pripojenie v existujúcom kontajneri OCI s rclone</strong>. Pripojí sa vzdialené úložisko, ktoré už bolo vytvorené a autorizované vo webovom rozhraní rclone, a sprístupní sa na hostiteľovi. Ostatné kontajnery ho môžu používať ako adresár hostiteľa.",
"blocks": [
{
"steps": {
"items": [
{
"title": "Kontajner a vzdialené úložisko",
"body": "VMID kontajnera s rclone, presný názov vzdialeného úložiska a voliteľne cesta v ňom."
},
{
"title": "Názov pripojenia a vyrovnávacia pamäť",
"body": "Názov pripojenia a režim vyrovnávacej pamäte VFS: <code>off</code>, <code>minimal</code>, <code>writes</code> alebo <code>full</code> (predvolený)."
},
{
"title": "Sprístupnené zobrazenia",
"body": "Spoločný koreňový adresár, predvolene <code>/mnt/oci-shared</code>, obsahuje zobrazenie na čítanie aj zápis v <code>/mnt/oci-shared/remotes/NAME</code> a zobrazenie iba na čítanie v <code>/mnt/oci-shared/remotes-ro/NAME</code>."
},
{
"title": "Aktivácia",
"body": "Po potvrdení sa CT zastaví, nastaví sa jeho spúšťací príkaz a hookscript Proxmox VE a znova sa spustí. Operácia čaká, kým budú obe zobrazenia pripojené na hostiteľovi."
}
]
}
},
{
"calloutInfo": {
"title": "Ak sa pripojenie neaktivuje",
"body": "Obnoví sa predchádzajúca konfigurácia kontajnera a kontajner sa znova spustí. Ak aktivácia zlyhá, rclone tak zostane v pôvodnom stave."
}
}
]
},
{
"id": "network",
"title": "Adresy a siete",
"intro": "Aplikácia s jedným kontajnerom potrebuje adresu. Aplikácia s viacerými kontajnermi potrebuje aj stabilnú sieť medzi svojimi členmi.",
"blocks": [
{
"cards": {
"items": [
{
"icon": "network",
"title": "Aplikácia s jedným kontajnerom",
"body": "Vyberie sa sieťový most a DHCP alebo pevná adresa vo formáte CIDR. LXC má vlastnú adresu a súhrn zobrazuje úplné URL služieb."
},
{
"icon": "waypoints",
"title": "Aplikácia s viacerými kontajnermi",
"body": "Vyhľadá sa voľná podsieť a vytvorí sa trvalý súkromný sieťový most. Každý člen — aplikácia, databáza a vyrovnávacia pamäť — v ňom dostane pevnú adresu."
}
]
}
},
{
"flow": {
"nodes": [
{
"label": "LAN",
"detail": "Dostupná adresa\niba pre hlavnú službu"
},
{
"label": "Hlavný LXC",
"detail": "Web / API\nLAN + súkromná sieť"
},
{
"label": "Súkromná sieť",
"detail": "PostgreSQL · Valkey · ML\npevné adresy"
}
],
"caption": "Závislé služby komunikujú cez súkromnú sieť a nemajú adresu v LAN."
}
},
{
"p": "Kontrakt zostavy uchováva sieťový most, podsieť, adresy a vzťahy medzi službami. Pri aktualizácii aplikácie sa pre všetkých členov znovu použije rovnaká topológia. ProxMenux Monitor otvára hlavný kontajner na jeho adrese v LAN, nie na adrese v súkromnej sieti."
}
]
},
{
"id": "ownership",
"title": "Vlastníctvo súborov a adresárov",
"blocks": [
{
"list": {
"items": [
"Nové adresáre sa vytvárajú s UID a GID, na ktoré sa mapuje neprivilegovaný LXC.",
"Vlastníctvo existujúcich adresárov sa nemení rekurzívne.",
"Sockety, systémové súbory a citlivé cesty sa neponúkajú ako bežné adresáre hostiteľa."
]
}
}
]
},
{
"id": "backup",
"title": "Čo obsahuje záloha kontajnera",
"blocks": [
{
"table": {
"headers": [
"Položka",
"V zálohe vzdump kontajnera CT",
"Kde sa uchováva"
],
"rows": [
[
"Rootfs OCI",
"Áno",
"V zálohe CT; možno ho tiež znovu vytvoriť z obrazu a kontraktu"
],
[
"Disk kontajnera s <code>backup=1</code>",
"Áno",
"Záloha CT"
],
[
"Adresár hostiteľa",
"Nie",
"Záloha úložiska hostiteľa"
],
[
"Kontrakt inštancie",
"Áno, kópia uložená v CT",
"<code>/.proxmenux/oci-record.json</code> v CT; ďalšie kópie hostiteľa a klastra sa uchovávajú samostatne"
],
[
"Aplikácia s viacerými kontajnermi",
"Každý člen vo vlastnej zálohe",
"Zálohy všetkých členov spolu s kontraktom zostavy a jej sieťovým mostom na hostiteľovi"
]
]
}
}
]
}
]
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Automatický skript po inštalácii | Dokumentácia ProxMenux",
"description": "Automatický skript ProxMenux po inštalácii vykoná na novom hostiteľovi Proxmox VE 14 vopred určených optimalizácií podľa hardvéru. Nemá zoznam funkcií na výber, no môže žiadať potvrdenie aktualizácie systému, odstránenia upozornenia na predplatné, niektorých inštalácií Log2RAM a reštartu. Vratné zmeny sa zaznamenajú na neskoršiu obnovu.",
"ogTitle": "Automatický skript po inštalácii | Dokumentácia ProxMenux",
"ogDescription": "14 vopred určených optimalizácií podľa hardvéru pre nový hostiteľ Proxmox VE, s potvrdením niektorých krokov a záznamom vratných zmien."
},
"header": {
"title": "Automatický skript po inštalácii",
"description": "ProxMenux vykoná 14 vopred určených základných optimalizácií bez zoznamu funkcií na výber. Niektoré kroky žiadajú potvrdenie. Vratné zmeny sa zaznamenajú pre Odinštalovať optimalizácie; aktualizácie balíkov sa neoznačujú za vratné.",
"section": "Po inštalácii · Automatizovaná"
},
"intro": {
"title": "Kedy vybrať automatizované",
"body": "Spustite ho na čerstvo nainštalovanom hostiteľovi Proxmox, ak chcete rozumné základné nastavenie bez výberu každej funkcie. Skript je idempotentný: opakované spustenie znovu použije rovnakú konfiguráciu. Voliteľné funkcie (Fastfetch, IOMMU, repozitár Ceph, HA, opravy AMD…) zámerne <strong>nie sú</strong> súčasťou tohto postupu; v prípade potreby ich vyberte v <link>Prispôsobiteľné</link>."
},
"applies": {
"heading": "Čo skript nastaví",
"intro": "Optimalizácia sa uplatňuje v tomto presnom poradí. Stĺpec <em>Kategória</em> odkazuje na podrobnú dokumentáciu každej zmeny v prispôsobiteľnom odkaze.",
"headerNum": "#",
"headerTool": "Nástroj",
"headerWhat": "Čo to robí?",
"headerCategory": "Kategória"
},
"optimizations": [
{
"tool": "Repozitáre APT + úplná aktualizácia",
"what": "Zakáže podnikové zdroje pve-enterprise.sources a ceph.sources, vytvorí čistý zdroj no-subscription pre kódový názov Debianu na hostiteľovi a spustí apt update && apt full-upgrade -y, čo je oficiálny príkaz Proxmoxu na aktualizáciu.",
"category": "Základné nastavenia",
"categorySlug": "basic-settings"
},
{
"tool": "Odstránenie upozornenia na predplatné",
"what": "Upraví webové rozhranie, aby skrylo upozornenie „Žiadne platné predplatné“. Pred použitím žiada potvrdenie; zmenu možno vrátiť cez Odinštalovať optimalizácie.",
"category": "Prispôsobenie",
"categorySlug": "customization"
},
{
"tool": "Vynútiť IPv4",
"what": "Zapíše /etc/apt/apt.conf.d/99-force-ipv4, aby apt používal iba IPv4 a obišiel nestabilné IPv6 spojenia so zrkadlami.",
"category": "Sieť",
"categorySlug": "network"
},
{
"tool": "Preskočiť jazykové balíky",
"what": "Zapíše /etc/apt/apt.conf.d/99-disable-translations, aby sa nesťahovali indexy preložených opisov balíkov a znížil sa objem dát pri aktualizáciách apt.",
"category": "Základné nastavenia",
"categorySlug": "basic-settings"
},
{
"tool": "Zvýšiť systémové limity",
"what": "Zvýši počet sledovaní inotify, limity nofile/nproc, limity zväzku kľúčov jadra a fs.file-max cez sysctl.d, limits.d, pam a systemd na hodnoty vhodné pre hostiteľov s mnohými kontajnermi.",
"category": "Systém",
"categorySlug": "system"
},
{
"tool": "Ladenie pamäte",
"what": "Nastaví vm.swappiness=10, vyvážené podiely zmenených nezapísaných stránok, vm.max_map_count=262144 a proaktívnu kompaktáciu, ak je podporovaná. Politika prideľovania pamäte nad dostupnú kapacitu zostáva na predvolenej hodnote Proxmoxu.",
"category": "Systém",
"categorySlug": "system"
},
{
"tool": "Správanie pri panike jadra",
"what": "Nastaví reštart hostiteľa 10 sekúnd po panic / oops / hardlockup namiesto neobmedzeného zamrznutia.",
"category": "Systém",
"categorySlug": "system"
},
{
"tool": "Ladenie sieťového zásobníka",
"what": "Veľkosti vyrovnávacích pamätí TCP, posilnenie IPv4 (vypnuté presmerovania, rp_filter=2, vypnuté logovanie martian), lokálne porty 1024-65535, zisťovanie MTU TCP, RFC 1337 a skript /usr/local/sbin/proxmenux-fwbr-tune spúšťaný jednorazovou jednotkou systemd a pravidlom udev. Tým sa rp_filter=0 / log_martians=0 opätovne nastavia na fwbr*/fwln*/fwpr*/tap* vždy, keď ich Proxmox znovu vytvorí pri štarte/zastavení VM, reštarte alebo živej migrácii.",
"category": "Sieť",
"categorySlug": "network"
},
{
"tool": "Prispôsobenie bashrc (root)",
"what": "Farebné PS1, bežné aliasy (l/la/ll/ls/grep), história s časovými značkami a načítanie bash-completion, všetko v ohraničenom bloku PMX_CORE_BASHRC na jednoduché odstránenie.",
"category": "Prispôsobenie",
"categorySlug": "customization"
},
{
"tool": "Log2RAM (prispôsobené pre SSD, automatické)",
"what": "Znižuje opotrebenie SSD/NVMe presunom /var/log na ramdisk tmpfs s pravidelnou synchronizáciou na disk. Inštalácia z pôvodného projektu pri koreňovom disku SSD alebo NVMe. Veľkosť podľa RAM hostiteľa (128M / 256M / 512M), pravidelná synchronizácia a ochrana, ktorá pri 80% zaplnení vyčistí staré žurnály a pri 92% skráti rýchlo rastúce logy pred zápisom. Limity journald prispôsobí ramdisku. Podrobnosti v <link>Log2RAM</link>.",
"category": "Úložisko",
"categorySlug": "storage"
},
{
"tool": "Autotrim ZFS (iba SSD)",
"what": "Zapne zpool autotrim=on v každom poole ZFS, ktorého všetky vdev sú SSD/NVMe s podporou TRIM (kontroluje /sys/block/[dev]/queue/rotational a discard_granularity). Pooly s HDD automaticky vynechá. Na odinštalovanie zaznamená iba pooly skutočne zmenené cez ProxMenux; ručne zapnutý autotrim ponechá.",
"category": "Úložisko",
"categorySlug": "storage"
},
{
"tool": "Limity veľkosti journald",
"what": "Vynúti trvalé ukladanie, obmedzí SystemMaxUse=64M / RuntimeMaxUse=60M, zapne kompresiu a logovanie úrovne info potrebné pre Monitor. Pri aktívnom Log2RAM sa vynechá, pretože ten vykonáva vlastné úpravy.",
"category": "Systém",
"categorySlug": "system"
},
{
"tool": "Ladenie logrotate",
"what": "Globálne nastaví daily a potom size 10M, uchová 7 rotácií a zapne kompresiu aj copytruncate. Neskoršie veľkostné kritérium má prednosť; pravidlá konkrétnych logov ho môžu prepísať. Vhodné pre Log2RAM, no frekvencia závisí od pravidiel a časovača.",
"category": "Systém",
"categorySlug": "system"
},
{
"tool": "Trvalé názvy rozhraní",
"what": "Pre každú fyzickú sieťovú kartu zapíše <code>/etc/systemd/network/10-proxmenux-&lt;iface&gt;.link</code> s hlavičkou „Managed by ProxMenux“, ktorý priradí MAC k aktuálnemu názvu. Názvy <code>eth0</code> / <code>enp…</code> zostanú stabilné po reštarte aj pridaní kariet.",
"category": "Sieť",
"categorySlug": "network"
}
],
"hardwareTitle": "Predvolené hodnoty podľa hardvéru",
"hardwareBody": "Skript pred nastavením preskúma hardvér hostiteľa. Log2RAM sa predvolene inštaluje iba pri koreňovom disku SSD alebo NVMe; pri inej detekcii žiada potvrdenie. Veľkosť ramdisku sa vyberá podľa celkovej RAM (<code>≤ 8 GB → 128M</code>, <code>≤ 16 GB → 256M</code>, <code>'>' 16 GB → 512M</code>). Pri aktívnom Log2RAM sa limity journald prispôsobia ramdisku, aby sa nezaplnil.",
"upgrade": {
"heading": "Aktualizovať systém",
"intro": "Prvým krokom automatického postupu je aktualizácia Proxmoxu. Oficiálny návod pre bežiaci hostiteľ v rámci rovnakej hlavnej verzie odporúča spustiť:",
"after": "Tento riadok je oficiálny príkaz pre aktuálne verzie Proxmoxu. Automatický skript vykoná <strong>presne</strong> tento príkaz a pridá čistenie repozitárov a kroky po aktualizácii podľa oficiálneho návodu — rovnako ako samostatný nástroj <link>Aktualizácia systému Proxmox</link>:",
"items": [
"Zakáže podnikové zdroje <code>pve-enterprise.sources</code> / <code>ceph.sources</code>, odstráni staré súbory repozitárov a zapíše čistý zdroj bez predplatného pre kódový názov distribúcie hostiteľa.",
"Spustí inováciu neinteraktívne pomocou <code>DEBIAN_FRONTEND=noninteractive</code> a <code>--force-confdef --force-confold</code> – konfiguračné súbory, ktoré ste si prispôsobili, zostanú vaše, aj keď ich upstream zmení.",
"Nainštaluje základné balíky Proxmox, ak chýbajú (<code>zfsutils-linux</code>, <code>proxmox-backup-restore-image</code>, <code>chrony</code>).",
"Kontrola konzistentnosti metadát LVM, <code>apt-get autoremove -y</code> + <code>apt-get autoclean -y</code> a výzva na reštart iba pri zmene jadra."
],
"sameTitle": "Rovnaká aktualizácia, dva vstupné body",
"sameBody": "Automatický postup a samostatný nástroj <link>Aktualizácia systému Proxmox</link> používajú rovnaké skripty (<code>update-pve8.sh</code> / <code>update-pve9_2.sh</code>). Samostatný nástroj použite, ak chcete iba aktualizovať hostiteľa bez ostatných optimalizácií."
},
"endResult": {
"heading": "Očakávaný konečný výsledok",
"body": "Po skončení uvidíte správu o úspechu s výstupmi jednotlivých krokov a výzvu na reštart, ktorý vyžadujú niektoré nastavenia jadra. Reštart môžete odložiť; nastavenia sa prejavia pri ďalšom štarte.",
"imageAlt": "Automatický skript po inštalácii – konečný výstup terminálu zobrazujúci každú úspešne aplikovanú optimalizáciu"
},
"notDoes": {
"heading": "Čo tento skript nerobí",
"items": [
"Automatické zistenie časového pásma (v pôvodnom skripte je zakomentované; v prípade potreby použite Prispôsobiteľné).",
"Zakázať portmapper / rpcbind (pozri <secLink>Zabezpečenie</secLink>).",
"Povoliť IOMMU / VFIO (pozri <virtLink>Virtualizácia</virtLink>).",
"Nainštalovať Fastfetch / Figurine / repozitár Ceph / HA / opravy CPU AMD (pozri <optLink>Voliteľné</optLink>).",
"Nainštalovať pigz alebo naladiť ZFS ARC (pozri <perfLink>Výkon</perfLink> / <storLink>Úložisko</storLink>)."
]
},
"xshokTitle": "Detekcia xshok-proxmox",
"xshokBody": "Ak hostiteľ už spustil skript <code>xshok-proxmox</code>, ProxMenux rozpozná súbor označenia a pred pokračovaním vás upozorní. Niektoré úpravy sa môžu prekrývať. Doplnkový skript je zastaraný; ak napriek tomu pokračujete, prečítajte si <link>prehľad</link> so súvislosťami.",
"revert": {
"heading": "Vrátenie",
"body": "Každý nástroj v tabuľke sa zaznamená v <code>/usr/local/share/proxmenux/installed_tools.json</code>. Otvorte <link>Odinštalovať optimalizácie</link> a vyberte položky na obnovu. Zálohy zmenených súborov sú vedľa originálov s príponou <code>.bak</code>."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — Vyberte si presne to, čo chcete z rovnakého katalógu."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — vráťte vybrané zmeny z tohto postupu späť."
},
{
"label": "Užitočné systémové príkazy",
"href": "/docs/help-info/system-commands",
"tail": " — overte zmeny (uptime, free, journalctl atď.)."
},
{
"label": "Prehľad po inštalácii",
"href": "/docs/post-install",
"tail": "."
}
]
}
}
@@ -0,0 +1,240 @@
{
"meta": {
"title": "Po inštalácii: Základné nastavenia | Dokumentácia ProxMenux",
"description": "Základné možnosti po inštalácii: prechod na repozitáre Proxmox bez predplatného a aktualizácia systému, zistenie časového pásma a zapnutie NTP, vynechanie prekladov APT a výber z 25 bežných systémových nástrojov na inštaláciu."
},
"header": {
"title": "Po inštalácii: Základné nastavenia",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Päť základných možností pre nový hostiteľ Proxmox: prejsť na komunitné repozitáre bez predplatného, plne aktualizovať systém, automaticky nastaviť časové pásmo a NTP, vypnúť preklady APT na úsporu šírky pásma a disku a vybrať z 25 bežných nástrojov."
},
"upgrade": {
"heading": "Aktualizovať systém",
"intro": "Nastaví APT na bezplatný repozitár <em>pve-no-subscription</em> namiesto repozitára Enterprise s predplatným a plne aktualizuje systém. Presné kroky závisia od hlavnej verzie Proxmox VE; ProxMenux ju zistí a spustí správny skript.",
"headerVersion": "PVE verzia",
"headerScript": "Skript výberu podľa verzie",
"headerCodename": "Kódové meno Debianu",
"rows": [
{
"version": "9.x",
"script": "update-pve9_2.sh",
"codename": "trixie"
},
{
"version": "8.x",
"script": "update-pve8.sh",
"codename": "bookworm"
}
],
"officialTitle": "Oficiálne odporúčanie pre Proxmox",
"officialBody": "Oficiálny návod Proxmox odporúča tieto príkazy v presnom poradí:",
"officialOutro": "Toto je bežný príkaz pre aktualizácie v rámci nainštalovanej hlavnej verzie Proxmox VE. Skontrolujte repozitáre a navrhované zmeny balíkov <em>pred</em> pokračovaním. Prechod na inú hlavnú verziu vyžaduje oficiálny migračný postup.",
"doesTitle": "Čo robí možnosť ProxMenux — overené podľa skriptu",
"doesIntro": "Aktualizácia ProxMenux vykoná uvedené príkazy apt a pridá prípravné aj záverečné kroky, na ktoré by ste inak museli myslieť sami. Nasledujúce položky zodpovedajú výberovému skriptu; podrobnosti sú v <link>Aktualizácia systému Proxmox</link>.",
"doesItems": [
"<strong>Najprv poriadok v repozitároch.</strong> Zakáže podnikové zdroje <code>pve-enterprise.sources</code> / <code>ceph.sources</code>, odstráni staré súbory repozitárov z predchádzajúcich verzií PVE a vytvorí čistý <code>proxmox.sources</code> s bezplatným kanálom <em>pve-no-subscription</em> podľa kódového názvu Debianu na hostiteľovi: trixie pre PVE 9, bookworm pre PVE 8.",
"<strong>Prepíše repozitáre Debian</strong> s main / updates / security a <code>non-free-firmware</code>, aby počas aktualizácie zmizlo upozornenie na firmvér.",
"<strong>Spustí oficiálnu aktualizáciu.</strong> <code>apt-get update</code> a potom <code>apt full-upgrade -y</code> (PVE 9) alebo <code>apt dist-upgrade -y</code> (PVE 8), neinteraktívne s <code>--force-confdef --force-confold</code> na zachovanie upravených konfiguračných súborov.",
"<strong>Nainštaluje základné balíky</strong>, ak chýbajú: <code>zfsutils-linux</code>, <code>proxmox-backup-restore-image</code>, <code>chrony</code>.",
"<strong>Skontroluje metadáta LVM.</strong> Hľadá VM s priamo priradenými diskami, ktoré mohli na surové disky zapísať staré hlavičky fyzických zväzkov. Upozorní na nezrovnalosti bez automatickej opravy.",
"<strong>Potom vyčistí:</strong> <code>apt-get autoremove -y</code> + <code>apt-get autoclean -y</code>, potom vyzve na reštart, ak jadro bolo aktualizované alebo <code>/var/run/reboot-required</code> je prítomný."
],
"shortTitle": "Stručne povedané",
"shortBody": "Možnosť spustí odporúčaný príkaz <code>apt update && apt full-upgrade -y</code>, doplní úpravu repozitárov a záverečné čistenie uvedené v oficiálnom návode a ponúkne reštart. Pozrite <link>Aktualizácia systému Proxmox</link> s celým diagramom; rovnaký aktualizátor je samostatne dostupný v hlavnom menu.",
"subTitle": "Nepoužívajte na hostiteľovi s predplatným",
"subBody": "Ak máte predplatné Proxmox a chcete ponechať repozitáre Enterprise, túto možnosť vynechajte. Zakáže Enterprise a prepne hostiteľa na komunitný kanál. Aktualizácia balíkov ani prepísanie repozitárov sa nedajú vrátiť cez Odinštalovať optimalizácie. Neskoršiu zmenu kanála musíte vykonať úpravou konfigurácie repozitárov.",
"safetyTitle": "Bezpečnostná kontrola po aktualizácii",
"safetyBody": "Po aktualizácii skript hľadá staré metadáta fyzických zväzkov (PV) na diskoch. Môže k tomu dôjsť, keď VM s priamo priradeným diskom zapíše hlavičky LVM na surový disk. Pri podozrivom náleze zobrazí upozornenie a navrhne kontrolu cez <code>pvs</code>. Automaticky nič nemení."
},
"time": {
"heading": "Automaticky synchronizovať čas",
"intro": "Zistí verejnú IP adresu servera cez <code>dig myip.opendns.com @resolver1.opendns.com</code>, potom z <code>ipapi.co/'{'ip'}'/timezone</code> získa zodpovedajúce časové pásmo IANA a nastaví ho cez <code>timedatectl set-timezone</code>. Nakoniec zapne NTP cez <code>timedatectl set-ntp true</code>.",
"depTitle": "Závisí od dvoch externých služieb",
"depBody": "Vyhľadávanie závisí od dostupnosti OpenDNS a <code>ipapi.co</code> a od správnosti ich odpovedí. Ak spustíte Proxmox za VPN alebo na VLAN, ktorá vychádza z iného regiónu, automaticky zistené časové pásmo môže byť nesprávne. V takom prípade preskočte túto možnosť a nastavte časové pásmo ručne:",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "<link>Odinštalovanie optimalizácií</link> obnoví časové pásmo na UTC (bezpečné predvolené nastavenie). Nezakáže NTP – vaše hodiny sa neustále synchronizujú, len sú ukotvené na UTC, kým manuálne nenastavíte nové časové pásmo."
},
"languages": {
"heading": "Nesťahovať ďalšie jazyky",
"intro": "Počas <code>apt update</code> môže APT okrem hlavných metadát sťahovať aj preklady opisov balíkov. Možnosť ich vypne na úsporu šírky pásma a miesta. Predtým ProxMenux <strong>overí, že miestne nastavenie hostiteľa je vygenerované</strong>: prečíta <code>/etc/default/locale</code> alebo <code>/etc/environment</code>, podľa potreby doplní <code>/etc/locale.gen</code> a spustí <code>locale-gen</code>. Miestne nastavenie shellu sa tak zachová.",
"writtenTitle": "Čo sa napíše",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "Odstraňovanie <code>/etc/apt/apt.conf.d/99-disable-translations</code> (buď manuálne, alebo z menu Odinštalovať) obnoví štandardné správanie a APT znovu stiahne jazykové súbory."
},
"utilities": {
"heading": "Nainštalovať bežné systémové nástroje",
"intro": "Otvorí zoznam <strong>25 vybraných nástrojov</strong> rozdelených do skupín. Vyberiete požadované nástroje a potvrdíte výber. ProxMenux ich nainštaluje cez <code>apt</code>, overí fungovanie balíkov a na konci zobrazí súhrn.",
"imageAlt": "Výber systémových nástrojov ProxMenux: medzerník vyberá, Enter potvrdzuje",
"reuseTitle": "Rovnaký zoznam je opätovne použitý inde",
"reuseBody": "Katalóg 25 nástrojov má jedinú definíciu: <code>PROXMENUX_UTILS</code> v <code>scripts/global/utils-install-functions.sh</code>. Menu <em>Pomôcky a nástroje → Systémové nástroje</em> ponúka rovnaký zoznam na neskoršie inštalácie bez opakovania nastavení po inštalácii.",
"listTitle": "Čo je v zozname?",
"groups": [
{
"group": "Monitory systému",
"items": [
{
"pkg": "htop",
"desc": "Interaktívny prehliadač procesov"
},
{
"pkg": "btop",
"desc": "Moderný monitor zdrojov (CPU, RAM, disky, sieť, procesy)"
},
{
"pkg": "s-tui",
"desc": "Terminálové rozhranie na záťažové testy a sledovanie CPU"
},
{
"pkg": "iftop",
"desc": "Využitie šírky pásma pre každé spojenie v reálnom čase"
},
{
"pkg": "iotop",
"desc": "Diskové I/O podľa procesu"
},
{
"pkg": "iptraf-ng",
"desc": "Interaktívny monitor IP LAN"
}
]
},
{
"group": "Sieť",
"items": [
{
"pkg": "iperf3",
"desc": "Meranie maximálnej dosiahnuteľnej šírky pásma medzi hostiteľmi"
},
{
"pkg": "net-tools",
"desc": "Staršie nástroje (ifconfig, netstat, route). Stále užitočné na rýchle kontroly"
},
{
"pkg": "ipset",
"desc": "Spravuje veľké množiny IP adries v jadre — užitočné pre pravidlá iptables/nftables"
}
]
},
{
"group": "Sťahovanie a archívy",
"items": [
{
"pkg": "axel",
"desc": "Nenáročný akcelerátor paralelného sťahovania"
},
{
"pkg": "aria2",
"desc": "Sťahovanie z viacerých zdrojov a cez viac protokolov (HTTP, FTP, BitTorrent, Metalink)"
},
{
"pkg": "unzip",
"desc": "Rozbaliť archívy ZIP"
},
{
"pkg": "zip",
"desc": "Vytvoriť ZIP archívy"
},
{
"pkg": "cabextract",
"desc": "Rozbaliť archívy Microsoft CAB (užitočné pri súboroch ISO systému Windows)"
},
{
"pkg": "wimtools",
"desc": "Manipulovať obrazy Windows WIM (extrahovať, rozdeliť, pripojiť, použiť)"
},
{
"pkg": "genisoimage",
"desc": "Vytvárať obrazy ISO 9660 z adresára"
}
]
},
{
"group": "Text a súbory",
"items": [
{
"pkg": "dos2unix",
"desc": "Previesť koncovky riadkov CRLF (Windows) na LF (Unix)"
},
{
"pkg": "grc",
"desc": "Univerzálne farebné zvýraznenie výstupu príkazov ping, traceroute, dig, tail a ďalších"
},
{
"pkg": "plocate",
"desc": "Rýchle indexované vyhľadávanie súborov. Po inštalácii spustite updatedb na vytvorenie indexu"
}
]
},
{
"group": "Vzdialený prístup a relácie",
"items": [
{
"pkg": "sshpass",
"desc": "Neinteraktívne overenie SSH heslom (užitočné pre skripty, nie na každodenné používanie)"
},
{
"pkg": "tmux",
"desc": "Terminálový multiplexer: odpojenie relácií, rozdelenie panelov a zachovanie relácií pri strate spojenia"
}
]
},
{
"group": "Hardvér a nízkoúrovňové nástroje",
"items": [
{
"pkg": "msr-tools",
"desc": "Čítať a zapisovať registre špecifické pre model CPU (rdmsr, wrmsr)"
},
{
"pkg": "intel-gpu-tools",
"desc": "Intel GPU diagnostické pomôcky vrátane `intel_gpu_top`"
}
]
},
{
"group": "Virtualizácia",
"items": [
{
"pkg": "libguestfs-tools",
"desc": "Kontrolovať a upravovať obrazy diskov VM (virt-ls, virt-cat, guestmount…)"
},
{
"pkg": "chntpw",
"desc": "Upravovať Windows SAM (užitočné na obnovenie hesiel v prevzatých Windows VM)"
}
]
}
],
"actionTitle": "Niekoľko z nich v akcii",
"noBulkTitle": "Odstránia sa iba nástroje nainštalované cez ProxMenux",
"noBulkBody": "ProxMenux zaznamenáva iba vybrané balíky, ktoré ešte neboli nainštalované. Voľba Odinštalovať optimalizácie ich úplne odstráni a ponechá pôvodné balíky. Aktualizácie APT nemajú bezpečný atómový návrat späť: odinštalovanie nástrojov nevráti aktualizáciu systému."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Aktualizácia systému Proxmox",
"href": "/docs/utils/system-update",
"tail": " — Na požiadanie zopakuje cyklus apt update + dist-upgrade."
},
{
"label": "Inštalátor systémových nástrojov",
"href": "/docs/utils/system-utils",
"tail": " — Nainštalovať alebo preinštalovať jednotlivé nástroje aj po nastavení po inštalácii."
},
{
"label": "Príkazy na aktualizácie a balíky",
"href": "/docs/help-info/update-commands",
"tail": " — Prehľad apt pre shell."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,106 @@
{
"meta": {
"title": "Prispôsobiteľný skript po inštalácii | Dokumentácia ProxMenux",
"description": "Vyberte presne tie optimalizácie, ktoré má ProxMenux použiť na hostiteľovi Proxmox VE. 10 kategórií, približne 35 nástrojov a výber pomocou zaškrtávacích políčok. Obsahuje všetko z automatizovaného skriptu aj voliteľné funkcie (IOMMU, Fastfetch, Figurine, Ceph, HA, opravy AMD…).",
"ogTitle": "Prispôsobiteľný skript po inštalácii | Dokumentácia ProxMenux",
"ogDescription": "10 kategórií, približne 35 jednotlivých optimalizácií. Vyberte presne to, čo chcete na hostiteľovi Proxmox VE. Vratné zmeny sa zaznamenávajú."
},
"header": {
"title": "Prispôsobiteľný post-inštalačný skript",
"description": "Vyberte presne tie optimalizácie, ktoré chcete použiť na hostiteľovi Proxmox VE. ProxMenux zoskupuje približne 35 nástrojov do 10 kategórií v jednom výberovom dialógu. Rovnaký základ ako Automatizované, ale s úplnou kontrolou nad použitými zmenami.",
"section": "Po inštalácii · Prispôsobiteľné"
},
"intro": {
"title": "Kedy vybrať prispôsobiteľné",
"body": "Vyberte túto cestu, ak už poznáte požadované alebo nechcené úpravy hostiteľa. Výberový zoznam zoskupený podľa kategórií umožňuje vopred vyberať, rušiť výber a kombinovať optimalizácie. Položky možno neskôr použiť znovu a vratné zmeny sa zaznamenávajú pre <link>Odinštalovať optimalizácie</link>. Aktualizácie balíkov sa neuvádzajú ako vratné."
},
"compare": {
"heading": "Ako sa porovnáva s Automatizovaným",
"body": "Prispôsobiteľné obsahuje celý <link>automatizovaný skript</link>: rovnakých 14 základných optimalizácií a množstvo voliteľných položiek, ktoré Automatizované zámerne vynecháva. Sú užitočné pre konkrétny hardvér (opravy AMD), hosting (OVH RTM) alebo záťaže (IOMMU/VFIO, repozitár Ceph, vysoká dostupnosť, Fastfetch, Figurine, ladenie ARC ZFS, pigz, automatické snímky ZFS, rýchlostné limity vzdump, Open vSwitch, TCP BBR…)."
},
"categoriesSection": {
"heading": "10 kategórií",
"body": "Prispôsobiteľný skript zoskupuje optimalizácie do 10 kategórií v jednom výberovom dialógu. Každá kategória má vlastnú stránku dokumentácie — otvorte kartu nižšie pre zdôvodnenie, predvolené hodnoty a overovacie kroky jednotlivých možností."
},
"categories": [
{
"name": "Základné nastavenia",
"description": "Vyčistí zdroje APT, spustí oficiálnu aktualizáciu Proxmox a nastaví časové pásmo, miestne nastavenia a bežné nástroje. Základ všetkých ostatných skupín."
},
{
"name": "Systém",
"description": "Vyladí záznamový subsystém a limity jadra pre hostiteľa s mnohými VM a kontajnermi. Zahŕňa journald, logrotate, sysctl (pamäť, limity súborov), správanie pri kernel panic a rýchle reštarty."
},
{
"name": "Virtualizácia",
"description": "Pripraví hostiteľa na pokročilú virtualizáciu. Nainštaluje zodpovedajúceho hosťovského agenta, ak samotný Proxmox beží v podporovanej VM, a povolí IOMMU/VFIO na priame priradenie PCI zariadení GPU, radičov a TPU."
},
{
"name": "Sieť",
"description": "Posilní a vyladí sieťový stack hostiteľa. Vynúti IPv4 pre APT, použije bezpečnostné nastavenia sysctl a ladenie vyrovnávacích pamätí TCP, ponúkne Open vSwitch, TCP BBR a TCP Fast Open a priradí trvalé názvy rozhraní k MAC adresám."
},
{
"name": "Úložisko",
"description": "Nastaví bežné úložné subsystémy Proxmox: veľkosť ARC ZFS, automatické snímky ZFS, autotrim ZFS pre pooly SSD/NVMe a rýchlostné limity vzdump proti vyťaženiu diskov pri zálohovaní."
},
{
"name": "Zabezpečenie",
"description": "Zmenší predvolene vystavenú útočnú plochu. Vypne služby RPC portmapper/rpcbind, ktoré Proxmox nepotrebuje, ale ponecháva načúvať."
},
{
"name": "Prispôsobenie",
"description": "Zmení vzhľad a prostredie shellu hostiteľa: farby a aliasy v bashrc, banner MOTD a odstránenie upozornenia na predplatné vo webovom rozhraní."
},
{
"name": "Monitorovanie",
"description": "Integruje hostiteľa s OVH Real-Time Monitoring. RTM sa nainštaluje iba pri zistení servera OVH; na iných hostiteľoch možnosť nič nemení."
},
{
"name": "Výkon",
"description": "Zrýchli kompresiu pri zálohách a prenosoch nahradením gzip jeho paralelnou alternatívou pigz."
},
{
"name": "Voliteľné",
"description": "Špecializované možnosti, ktoré nepotrebuje každý hostiteľ: opravy CPU AMD, banner Fastfetch, 3D názov hostiteľa Figurine, aktualizácia indexu PVE Appliance Manager, repozitár Ceph, služby vysokej dostupnosti, Log2RAM na zníženie opotrebenia SSD a swapový profil ZRAM."
}
],
"mixTip": {
"title": "Kombinujte Automatizované a Prispôsobiteľné",
"body": "Bežný postup: najprv spustite <strong>Automatizované</strong> pre rozumné základné nastavenia, potom otvorte <strong>Prispôsobiteľné</strong> a vyberte iba potrebné voliteľné nástroje, napríklad IOMMU pre priame priradenie GPU. Zmeny sa sledujú nezávisle; menu Odinštalovať zobrazí všetko použité bez ohľadu na zvolenú cestu."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Automatizované nastavenia po inštalácii",
"href": "/docs/post-install/automated",
"tail": " — rozumné predvolené nastavenia použité bez otázok."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — čisto vrátiť vybrané zmeny."
},
{
"label": "Základné nastavenia",
"href": "/docs/post-install/basic-settings",
"tail": " — repozitáre, čas, jazyk a nástroje."
},
{
"label": "Virtualizácia",
"href": "/docs/post-install/virtualization",
"tail": " — IOMMU + VFIO na priame priradenie zariadení."
},
{
"label": "Zabezpečenie",
"href": "/docs/post-install/security",
"tailRich": " · <storageLink>Úložisko</storageLink> · <networkLink>Sieť</networkLink> · <customLink>Prispôsobenie</customLink> — ďalšie kategórie."
},
{
"label": "Prehľad po inštalácii",
"href": "/docs/post-install",
"tail": "."
}
]
}
}
@@ -0,0 +1,74 @@
{
"meta": {
"title": "Po inštalácii: Prispôsobenie | Dokumentácia ProxMenux",
"description": "Možnosti prispôsobenia v prispôsobiteľnom skripte ProxMenux po inštalácii: farebný prompt bash s užitočnými aliasmi, banner ProxMenux v MOTD a odstránenie upozornenia na predplatné z webového rozhrania Proxmox."
},
"header": {
"title": "Po inštalácii: prispôsobenie",
"description": "Vizuálne a praktické úpravy hostiteľa Proxmox. Spríjemnia používanie shellu a skryjú upozornenie na predplatné vo webovom rozhraní. Bashrc, MOTD aj banner predplatného sa zaznamenávajú a dajú sa obnoviť cez Odinštalovať.",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Tri malé nezávislé možnosti: <strong>farebný prompt bash s aliasmi</strong> pre shell root, jednoriadkový <strong>banner MOTD</strong> pri prihlásení cez SSH a odstránenie <strong>okna „Žiadne platné predplatné“</strong>, ktoré Proxmox zobrazuje pri každom prihlásení do webového rozhrania."
},
"bashrc": {
"heading": "Prispôsobiť bashrc",
"intro": "Vloží do <code>/root/.bashrc</code> pripravený blok s farebným promptom, históriou s časovými pečiatkami, bežnými aliasmi <code>ls</code> / <code>grep</code> a príkazom <code>source</code> na dopĺňanie bash. Spríjemní prácu cez SSH a pri viacerých otvorených kartách jasne ukáže aktuálneho hostiteľa.",
"writesTitle": "Čo ProxMenux pridáva do .bashrc",
"writesOutro": "Blok je ohraničený značkami <code>PMX_CORE_BASHRC</code>. Opätovné spustenie nahradí predchádzajúci blok bez duplikovania. Pôvodný <code>.bashrc</code> sa raz zálohuje do <code>/root/.bashrc.bak</code> a do <code>/root/.bash_profile</code> sa pridá riadok <code>source /root/.bashrc</code>, aby sa prompt použil aj v prihlasovacích shelloch, napríklad po <code>su -</code>.",
"rootTitle": "Platí iba pre root",
"rootBody": "Prispôsobenie sa týka shellu účtu root. Ostatní používatelia hostiteľa si ponechajú svoje predvolené nastavenia. Ak spravujete Proxmox výhradne cez webové rozhranie a shell nepoužívate, túto čisto estetickú možnosť môžete vynechať."
},
"motd": {
"heading": "Nastaviť vlastnú MOTD správu",
"intro": "Pridá <em>\"This system is optimised by: ProxMenux\"</em> na začiatok <code>/etc/motd</code>, správy po úspešnom prihlásení cez SSH, nad promptom a pred skriptmi <code>update-motd</code>. Neškodné a čisto informatívne — rýchle vizuálne potvrdenie použitia ProxMenux na hostiteľovi.",
"writesTitle": "Čo píše ProxMenux",
"writesOutro": "Pri prvom použití ProxMenux zaznamená, či <code>/etc/motd</code> existoval, a uloží pôvodný obsah pod <code>/usr/local/share/proxmenux</code>. Operácia je idempotentná: ak riadok so značkou už existuje, nič sa nepridá. Staršie inštalácie s <code>/etc/motd.bak</code> sa prevedú do rovnakého vratného stavu."
},
"banner": {
"heading": "Odstrániť hlásenie o predplatnom",
"intro": "Odstráni okno <em>„Nemáte platné predplatné pre tento server“</em>, ktoré sa zobrazuje pri každom prihlásení do webového rozhrania Proxmox bez predplatného Enterprise. ProxMenux zohľadňuje verziu a spustí správny skript pre odlišné balíky rozhrania hlavných verzií.",
"versionTitle": "Výber skriptu podľa verzie",
"versionItems": [
"<strong>PVE 9.x</strong> → spúšťa <code>remove-banner-pve-v3.sh</code> (opravuje desktop <code>proxmoxlib.js</code> aj nový mobilný UI založený na Yew).",
"<strong>PVE 8.x</strong> → spustí <code>remove-banner-pve8.sh</code> (iba pre počítač)."
],
"versionOutro": "Pred úpravou ProxMenux zálohuje pôvodné súbory JS/šablón do <code>/usr/local/share/proxmenux/backups/</code> s časovou pečiatkou. Odinštalovanie ich obnoví zo záloh; ak záloha chýba alebo je poškodená, preinštaluje balíky rozhrania Proxmox.",
"breakTitle": "Môže sa zlomiť po aktualizáciách Proxmoxu",
"breakBody": "Aktualizácie rozhrania Proxmox pravidelne prepisujú <code>proxmoxlib.js</code>, takže upozornenie sa môže vrátiť. Túto možnosť môžete použiť znovu na opätovnú úpravu súboru alebo dovtedy ponechať upozornenie. ProxMenux inštaluje aj hook APT na automatické opakovanie úpravy po aktualizácii balíkov — jeho odstránenie opisuje <link>Odinštalovať optimalizácie</link>.",
"legalTitle": "Právne upozornenie (vždy stojí za to zopakovať)",
"legalBody": "Táto možnosť iba skryje upozornenie rozhrania. <strong>Neposkytuje</strong> podporu Enterprise ani prístup k repozitáru Enterprise a nemení licenciu softvéru. Proxmox VE sa vydáva pod GNU AGPLv3. Predplatné podporuje projekt a umožňuje prístup ku kanálu aktualizácií Enterprise; vyberte si podporu vhodnú pre svoje prostredie."
},
"verify": {
"heading": "Overenie",
"intro": "Po uplatnení všetkých troch:",
"reversibleTitle": "Všetky tri zmeny prispôsobenia sú sledované",
"reversibleBody": "<link>Odinštalovať optimalizácie</link> obnoví <code>/root/.bashrc</code>, vráti presný obsah MOTD spred ProxMenux alebo súbor odstráni, ak predtým neexistoval, a obnoví upravené súbory rozhrania zo zálohy alebo podľa potreby preinštaluje príslušné balíky Proxmox."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Voliteľné",
"href": "/docs/post-install/optional",
"tail": " — Fastfetch a Figurine, ďalšie vizuálne úpravy."
},
{
"label": "Zobraziť informácie o verzii",
"href": "/docs/settings/show-version-information",
"tail": " — potvrdí, že prispôsobenia sú registrované ako nainštalované."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — obnoviť bashrc, motd a upozornenie na predplatné."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,106 @@
{
"meta": {
"title": "Skript po inštalácii Proxmox VE — Automatizovaný a prispôsobiteľný | ProxMenux",
"description": "Prehľad skriptov ProxMenux po inštalácii Proxmox VE. Automatizovaný skript použije rozumné predvolené nastavenia bez otázok. Prispôsobiteľný skript umožní presný výber z 10 kategórií. Odinštalovať optimalizácie obnoví podporované vratné zmeny.",
"ogTitle": "Skript po inštalácii Proxmox VE — Automatizovaný a prispôsobiteľný",
"ogDescription": "Použite bežné optimalizácie po inštalácii Proxmox VE v 10 kategóriách — automaticky alebo podľa výberu, s vratnými možnosťami.",
"twitterTitle": "Skript po inštalácii Proxmox VE | ProxMenux",
"twitterDescription": "Automatizované a prispôsobiteľné optimalizácie po inštalácii Proxmox VE s vratnými možnosťami."
},
"header": {
"title": "Skripty po inštalácii",
"description": "Nakonfigurujte čerstvo nainštalovaný hostiteľ Proxmox VE pomocou optimalizácií ProxMenux. Automaticky použite základné nastavenia, vyberte jednotlivé možnosti, aktualizujte nainštalované funkcie alebo obnovte podporované vratné zmeny. Aktualizácie balíkov sa neuvádzajú ako vratné.",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Na čo je toto menu",
"body": "Hneď po inštalácii Proxmox VE môžu desiatky drobných zmien zrýchliť hostiteľa a zjednodušiť jeho údržbu: repozitáre bez predplatného, rozumné limity journald a vyrovnávacie pamäte TCP, ukladanie záznamov šetrné k SSD, vylepšenia bashrc a ďalšie. ProxMenux ich automatizuje a sleduje podporované vratné zmeny konfigurácie."
},
"openingMenu": {
"heading": "Otvorenie menu",
"body": "V hlavnom menu ProxMenux vyberte <strong>Nastavenie Proxmoxu po inštalácii</strong>. Zobrazí sa toto:",
"imageAlt": "Ponuka Skripty po inštalácii – Automatizované, Prispôsobiteľné, podmienené Použiť dostupné aktualizácie (iba keď čakajú aktualizácie) a Odinštalovať, po ktorej nasleduje sekcia Komunitné skripty"
},
"threeWays": {
"heading": "Štyri spôsoby, ako uplatniť optimalizáciu",
"body": "Štyri položky ProxMenux používajú rovnaký kód aj register nainštalovaných nástrojov, ale poskytujú rôznu mieru ovládania. <em>Aplikovať dostupné aktualizácie</em> sa zobrazí iba vtedy, keď má aspoň jedna nainštalovaná optimalizácia na disku novšiu verziu než registrovanú. Na čerstvo nakonfigurovanom hostiteľovi zostáva skrytá."
},
"routes": [
{
"title": "Automatizované",
"description": "Starostlivo vybraných 14 bezpečných a vždy užitočných optimalizácií, ktoré sa použijú postupne bez otázok. Dobrá predvolená voľba pre väčšinu používateľov.",
"bullets": [
"Repozitáre bez predplatného + aktualizácia systému",
"Pamäť, jadro, sieťové ladenie",
"Log2RAM (automatické zistenie SSD/NVMe)",
"Journald + limity veľkosti logrotate",
"Trvalé názvy rozhraní"
]
},
{
"title": "Prispôsobiteľné",
"description": "Približne 35 jednotlivých optimalizácií v 10 kategóriách. Presne si vyberiete, ktoré sa použijú. Rovnaký základ ako Automatizované, ale s úplnou kontrolou.",
"bullets": [
"Výberový zoznam so zaškrtávacími políčkami pre každú kategóriu",
"Obsahuje všetko z Automatizované a navyše výslovne voliteľné položky (IOMMU, Fastfetch, Figurine, Ceph, HA, opravy AMD…)",
"Spustite ho ľubovoľne veľakrát — zmeny sú idempotentné"
]
},
{
"title": "Aplikovať dostupné aktualizácie",
"description": "Keď má optimalizácia po inštalácii (Log2Ram, nastavenia pamäte, Logrotate…) na disku novšiu verziu než tú registrovanú na hostiteľovi, položka zobrazí iba zmenené optimalizácie. Znovu spustí príslušnú funkciu a aktualizuje register — ničoho iného sa nedotkne.",
"bullets": [
"Výslovný výber každej optimalizácie, iba zmenených",
"Rovnaký výber je dostupný z prehľadu Monitor",
"Jedno súhrnné oznámenie pri dostupnosti nových aktualizácií"
]
},
{
"title": "Odinštalovať optimalizácie",
"description": "Podporované vratné zmeny sa sledujú v registri JSON a majú priradenú funkciu obnovy. Akcie bez bezpečného vrátenia, napríklad úplná aktualizácia balíkov, sú zámerne vylúčené.",
"bullets": [
"Odhaľuje predtým aplikovanú optimalizáciu automaticky",
"Pre každú položku vyberie správny postup obnovy: obnoví zálohu .bak, ak bola vytvorená, odstráni konfiguračný úryvok sysctl.d, ak nebolo čo zálohovať, alebo znovu nainštaluje pôvodný balík s --force-confnew (napríklad pri upozornení na predplatné)",
"Výzva na reštart podľa potreby (VFIO, trvalé názvy atď.)"
]
}
],
"whichTitle": "Ktorý by si si mal vybrať?",
"whichBody": "Pri novej inštalácii Proxmox s rozumnými základnými nastaveniami bez rozhodovania vyberte <autoLink><strong>Automatizované</strong></autoLink>. Ak už poznáte požadované alebo nechcené úpravy: <customLink><strong>Prispôsobiteľné</strong></customLink>. Na aktualizáciu iba už použitej optimalizácie s novšou verziou na disku: <updatesLink><strong>Aplikovať dostupné aktualizácie</strong></updatesLink>. Na čisté vrátenie predchádzajúcich zmien: <uninstallLink><strong>Odinštalovať optimalizácie</strong></uninstallLink>. Možnosti možno kombinovať: najprv Automatizované, potom pridať Fastfetch či IOMMU cez Prispôsobiteľné a neskôr vrátiť jednotlivé položky.",
"mixing": {
"heading": "Miešanie s inými postinštalačnými skriptmi",
"stackTitle": "Nekombinujte viacero skriptov po inštalácii",
"stackBody": "Spustenie viacerých skriptov po inštalácii na rovnakom hostiteľovi môže vytvoriť duplicitné konfiguračné súbory, konfliktné položky sysctl alebo dokonca nefunkčnú sieť po reštarte. Ak ste už použili <strong>Helper-Scripts Post Install</strong>, niektoré optimalizácie ProxMenux sa môžu prekrývať s jeho konfiguráciou. Používajte jeden nástroj po inštalácii na hostiteľa.",
"xshokTitle": "xshok-proxmox: deprekovaný",
"xshokBody": "Staršie verzie ProxMenux uvádzali <a>xshok-proxmox</a> ako doplnkový nástroj po inštalácii. Projekt je už zastaraný a ProxMenux ho neponúka. Ak predchádzajúce spustenie zanechalo značky na hostiteľovi, ProxMenux ich stále zistí a upozorní vás. Dnes ho však nemáte inštalovať popri ProxMenux."
},
"community": {
"heading": "Komunitné skripty",
"body": "Menu ponúka aj dva skripty tretích strán z projektu <a>community-scripts</a>: <em>Proxmox VE Post Install</em> a <em>Proxmox VE Microcode</em>. Ide o obaly, ktoré stiahnu a spustia pôvodné autorské skripty cez <code>wget | bash</code>. ProxMenux ich neudržiava. Pred spustením si pozrite podrobnosti a otázky dôvery v časti <link>Externé repozitáre</link>."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Aktualizácia systému Proxmox",
"href": "/docs/utils/system-update",
"tail": " — udržiava hostiteľa aktuálneho po nastavení po inštalácii."
},
{
"label": "Zabezpečenie",
"href": "/docs/security",
"tail": " — Fail2Ban + Lynis navyše k posilneniu zabezpečenia po inštalácii."
},
{
"label": "Zobraziť informácie o verzii",
"href": "/docs/settings/show-version-information",
"tail": " — Pozrite sa, ktoré komponenty po inštalácii sú sledované ako nainštalované."
},
{
"label": "Príkazy na aktualizácie a balíky",
"href": "/docs/help-info/update-commands",
"tail": " — Referencie pre apt / pveupgrade."
}
]
}
}
@@ -0,0 +1,56 @@
{
"meta": {
"title": "Po inštalácii: Sledovanie | Dokumentácia ProxMenux",
"description": "Možnosti sledovania v prispôsobiteľnom skripte ProxMenux po inštalácii. Zatiaľ jediná možnosť: inštalácia OVH Real-Time Monitoring (RTM), ktorá sa vykoná iba po zistení, že hostiteľ je serverom OVH."
},
"header": {
"title": "Po inštalácii: monitorovanie",
"description": "Možnosti sledovania v prispôsobiteľnom skripte po inštalácii. Táto malá kategória je špecifická pre poskytovateľa: nainštaluje agenta OVH Real-Time Monitoring na dedikovaných serveroch OVH a inde nič nevykoná.",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Zámerne úzky rozsah",
"body": "Sledovanie po inštalácii sa obmedzuje na <strong>jedného agenta konkrétneho poskytovateľa</strong>. Všeobecné nástroje (Prometheus, Grafana, node_exporter) sem nepatria, pretože vyžadujú architektonické rozhodnutia o samostatnom hostiteľovi, uchovávaní údajov a cieľoch upozornení, ktoré sa nehodia do kroku na jedno kliknutie. ProxMenux Monitor, dodávaný s ProxMenux, pokrýva väčšinu tejto úlohy bez externého agenta."
},
"ovh": {
"heading": "Inštalovať OVH monitorovanie v reálnom čase (RTM)",
"intro": "Ak je hostiteľ Proxmox dedikovaný server prenajatý od <a>OVHcloud</a>, môžete povoliť RTM a sprístupniť hardvérovú telemetriu (teplota CPU, stav zdroja, SMART diskov, stav radiča RAID atď.) v ovládacom paneli OVH. Ide o rovnakého agenta, akého OVH používa pre funkciu „Server Monitoring“.",
"decisionsTitle": "Ako sa rozhoduje ProxMenux",
"decisionsItems": [
"Získa verejnú IP adresu hostiteľa cez <code>curl ipinfo.io/ip</code>.",
"Zistí vlastníckeho poskytovateľa pomocou dotazu <code>whois</code> na <code>v4.whois.cymru.com</code>.",
"Ak výsledok uvádza OVH, stiahne <code>last-public-ovh-infra-yak.snap.mirrors.ovh.net/yak/archives/apply.sh</code> a cez rúru ho odovzdá <code>bash</code> s manifestom Puppet pre RTM v2.",
"Ak výsledok <em>neuvádza</em> OVH, nič sa nenainštaluje. Možnosť nevykoná žiadne zmeny."
],
"remoteTitle": "Vzdialený skript odovzdaný cez rúru do bash",
"remoteBody": "Inštalácia spustí <code>wget -qO - https://…apply.sh | bash</code>. Ak dôjde ku kompromitovaniu zrkadla OVH, skript sa na hostiteľovi vykoná ako root. Pred povolením zvážte dôveru v reťazec zrkadiel OVH oproti prínosu sledovania. Pre väčšinu domácich laboratórií a používateľov mimo OVH má možnosť zostať vypnutá.",
"noOpTitle": "Povoliť iba vtedy, ak je hostiteľ skutočne na OVH",
"noOpBody": "Na serveroch mimo OVH možnosť nič nemení, takže jej zaškrtnutie na domácom Proxmox nič nepokazí. Skript vypíše <em>„Nie je to server OVH, inštalácia RTM sa preskočí“</em> a ukončí sa bez inštalácie balíkov.",
"runsTitle": "Čo ProxMenux spúšťa",
"verifyTitle": "Overenie",
"verifyBody": "Na skutočnom hostiteľovi OVH by sa po reštarte mal v OVH Manager zobraziť <a>prehľad RTM</a> s aktuálnymi údajmi hostiteľa. Na strane Proxmox je zberač RTM službou systemd — overte ju priamo:",
"troubleTitle": "Riešenie problémov",
"revertTitle": "Odstrániť RTM cez menu Odinštalovať",
"revertBody": "Ak je RTM registrovaný ako nainštalovaný, Odinštalovať optimalizácie ponúkne položku OVH Real-Time Monitoring. Spustí <code>apt-get purge -y ''ovh-rtm*'' ''rtm'' ''rtm-*''</code>, odstráni /etc/rtm a označí RTM za odinštalovaný. Zvyšky Puppet môžu vyžadovať ručné čistenie; skontrolujte manifesty RTM v <code>/etc/puppet/</code>. Na hostiteľovi mimo OVH sa balíky RTM nenainštalovali, takže nie je čo odstrániť."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "ProxMenux Monitor",
"href": "/docs/settings/proxmenux-monitor",
"tail": " — lokálny webový prehľad hostiteľa, ktorý funguje u každého poskytovateľa, nielen OVH."
},
{
"label": "Užitočné systémové príkazy",
"href": "/docs/help-info/system-commands",
"tail": " — referencia pre sledovanie lokálneho hostiteľa."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "Po inštalácii: Sieť | Dokumentácia ProxMenux",
"description": "Sieťové možnosti prispôsobiteľného skriptu ProxMenux po inštalácii: vynútiť APT cez IPv4, použiť vybraný profil sysctl, nainštalovať Open vSwitch, zapnúť TCP BBR + Fast Open a priradiť názvy rozhraní k ich MAC adresám."
},
"header": {
"title": "Po inštalácii: Sieť",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Päť nezávislých sieťových možností. Dve sú jednoduché (<strong>APT cez IPv4</strong>, <strong>inštalácia Open vSwitch</strong>), dve upravujú správanie TCP (<strong>sieťový profil sysctl</strong>, <strong>BBR + Fast Open</strong>) a jedna rieši častý prevádzkový problém: <strong>pevné priradenie názvov rozhraní</strong>, aby nová sieťová karta alebo aktualizácia BIOSu nepremenovala <code>enp3s0</code> na <code>enp4s0</code> a nenarušila mosty."
},
"ipv4": {
"heading": "Prinútiť APT používať IPv4",
"intro": "Píše <code>Acquire::ForceIPv4 \"true\";</code> na <code>/etc/apt/apt.conf.d/99-force-ipv4</code>. APT potom odmieta používať IPv6 na sťahovanie balíkov, aj keď má hostiteľ IPv6 pripojenie.",
"tipTitle": "Kto má prospech",
"tipBody": "Užitočné pri nestabilnom IPv6, pri nižšej rýchlosti oproti IPv4 alebo ak zrkadlo Debian/Proxmox občas cez IPv6 nefunguje. Hostiteľom bez IPv6 neprekáža. Vo funkčnej sieti s oboma protokolmi zaistí predvídateľné správanie: apt vás neprekvapí prekročením časového limitu IPv6."
},
"sysctl": {
"heading": "Použiť sieťové optimalizácie",
"intro": "Zapíše vybraný profil sysctl do <code>/etc/sysctl.d/99-network.conf</code>. Zahŕňa vyrovnávacie pamäte socketov jadra, posilnenie ICMP, základnú ochranu pred falšovaním adries a veľkosti vyrovnávacích pamätí TCP vhodné pre hypervízor s mnohými súbežnými tokmi.",
"tunedTitle": "Čo sa upraví",
"headerArea": "Oblasť",
"headerSettings": "Kľúčové nastavenia",
"rows": [
{
"area": "Vyrovnávacie pamäte socketov jadra",
"settings": "<code>netdev_max_backlog=8192</code>, <code>rmem_max=16M</code>, <code>wmem_max=16M</code>, <code>somaxconn=8192</code>"
},
{
"area": "Posilnenie ICMP",
"settings": "<code>icmp_echo_ignore_broadcasts=1</code>, <code>icmp_ignore_bogus_error_responses=1</code>"
},
{
"area": "Bezpečnosť smerovania",
"settings": "<code>accept_redirects=0</code>, <code>accept_source_route=0</code>, <code>secure_redirects=0</code>, <code>send_redirects=0</code>, <code>log_martians=0</code>"
},
{
"area": "Filter spätnej cesty",
"settings": "<code>rp_filter=2</code> (voľný režim, pozri poznámku nižšie)"
},
{
"area": "TCP",
"settings": "<code>tcp_mtu_probing=1</code>, <code>tcp_rfc1337=1</code>, <code>tcp_sack=1</code>, <code>tcp_rmem=8K/87K/16M</code>, <code>tcp_wmem=8K/64K/16M</code>"
},
{
"area": "Porty",
"settings": "<code>ip_local_port_range=1024 65535</code> (rozsah dočasných portov)"
},
{
"area": "Unixové sockety",
"settings": "<code>net.unix.max_dgram_qlen=4096</code>"
}
],
"sourceOutro": "Pridá tiež <code>source /etc/network/interfaces.d/*</code> do <code>/etc/network/interfaces</code>, ak tam ešte nie je. Ide o bežný postup umožňujúci pridávať samostatné konfiguračné súbory rozhraní bez úpravy hlavného súboru.",
"fwbrTitle": "Automatické ladenie virtuálnych mostov firewallu",
"fwbrBody": "Spolu s profilom sysctl ProxMenux nainštaluje pomocný skript <code>/usr/local/sbin/proxmenux-fwbr-tune</code>. Nastaví <code>rp_filter=0</code> a <code>log_martians=0</code> na rozhraniach <code>fwbr*</code> / <code>fwln*</code> / <code>fwpr*</code> / <code>tap*</code>, ktoré Proxmox vytvára pre VM a kontajnery. Jednorazová jednotka <code>proxmenux-fwbr-tune.service</code> ho spustí pri štarte a pravidlo <code>/etc/udev/rules.d/99-zz-proxmenux-fwbr-tune.rules</code> pri každej udalosti <code>net add</code> s týmito predponami. Zahŕňa aj rozhrania znovu vytvorené pri spustení/zastavení VM, reštarte a živej migrácii. Skript sa spustí aj hneď po inštalácii a spracuje už existujúce rozhrania.",
"rpFilterTitle": "Prečo rp_filter=2 (voľný) namiesto 1 (prísny)",
"rpFilterBody": "Prísny filter spätnej cesty zahadzuje pakety, ktorých zdroj by bol dostupný cez <em>iné</em> rozhranie. Je to vhodné predvolené nastavenie klienta, ale na hostiteľovi Proxmox môže narušiť sieť: prevádzka VM často prichádza cez most a odchádza cez uplink s asymetrickými trasami. <code>rp_filter=2</code> (voľný) zahadzuje iba pakety so skutočne nesmerovateľnými zdrojmi. Ide o kompromis: mierne nižšia detekcia falšovania lokálnej IP adresy výmenou za funkčnú sieť VM."
},
"ovs": {
"heading": "Nainštalovať Open vSwitch",
"intro": "Nainštaluje <code>openvswitch-switch</code> + <code>openvswitch-common</code>. Balíky pridajú OVS ako alternatívu k predvoleným linuxovým mostom Proxmoxu. Samotná inštalácia nemení sieť: existujúce mosty <code>vmbrX</code> fungujú ďalej. Pri <em>vytváraní</em> nového mosta v rozhraní Proxmox si môžete vybrať OVS zo zoznamu typov.",
"tipTitle": "Keď OVS dáva zmysel",
"tipBody": "Zvážte OVS, ak potrebujete <strong>VLAN trunking s nesúvislými VLAN ID</strong>, <strong>LACP s LLDP v špecifických režimoch</strong>, <strong>jemnozrnné programovanie toku</strong> (OpenFlow), alebo súčinnosť s radičmi SDN. Pre domáce laboratórium s niekoľkými sieťami VLAN a jedným uplinkom LACP, štandardné linuxové mosty + <code>vmbrX.VID</code> sú jednoduchšie a úplne v poriadku.",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "OVS je zaznamenaný. <link>Odinštalovať optimalizácie</link> spustí <code>apt purge</code> pre <code>openvswitch-switch</code> a <code>openvswitch-common</code>. Mosty OVS migrujte späť na linuxové mosty <em>pred</em> odinštaláciou, inak ich VM pri ďalšom štarte stratia sieť. Ručný ekvivalent:"
},
"bbr": {
"heading": "Povoliť TCP BBR + TCP Fast Open",
"intro": "Zapíše dva súbory sysctl a znovu ich načíta. BBR nahradí CUBIC algoritmom riadenia preťaženia od Googlu založeným na šírke pásma, ktorý lepšie zvláda vysokokapacitné spoje s veľkou latenciou aj stratové spoje. TCP Fast Open (TFO) ušetrí jeden obojsmerný prenos pri opakovaných spojeniach TCP tým, že odošle dáta už v SYN.",
"verifyTitle": "Overenie",
"impactTitle": "Vplyv závisí od pracovného zaťaženia",
"impactBody": "BBR vyniká na spojoch s vysokou latenciou alebo stratami paketov (medzikontinentálna replikácia, tunely VPN, mobilní klienti). V LAN medzi dvoma počítačmi na rovnakom prepínači býva rozdiel v rámci šumu merania. TFO najviac pomáha krátkym opakovaným spojeniam HTTP.",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "BBR/TFO sú zaznamenané. <link>Odinštalovať optimalizácie</link> odstráni dva súbory sysctl (<code>/etc/sysctl.d/99-kernel-bbr.conf</code> a <code>99-tcp-fastopen.conf</code>) a znovu načíta zvyšnú konfiguráciu. Odstránenie súboru samo neobnoví aktívne hodnoty jadra. Predvolené hodnoty ako <code>cubic</code> a <code>tcp_fastopen=1</code> sa vrátia po reštarte, ak ich neprepíše iná konfigurácia. Ručný ekvivalent:"
},
"names": {
"heading": "Trvalé názvy rozhraní",
"intro": "Prejde fyzické sieťové karty hostiteľa. Vynechá loopback, Docker veth, mosty, zariadenia TAP, bondy, Cilium, ZeroTier a WireGuard. Zapíše súbor systemd <code>.link</code>, ktorý priradí aktuálny názov k aktuálnej MAC adrese. Priradenie podľa MAC tak dostane prednosť pred pravidlami pomenovania jadra.",
"whyTitle": "Prečo na tom záleží",
"whyItems": [
"Pridanie alebo odstránenie zariadení PCIe môže zmeniť číslovanie zbernice a premenovať <code>enp3s0</code> na <code>enp4s0</code>. Ak <code>/etc/network/interfaces</code> odkazuje na starý názov, most po reštarte zmizne.",
"BIOS / Aktualizácie firmvéru niekedy menia spôsob, akým zariadenia enumerujú, s rovnakým účinkom.",
"Pomocný skript zapisuje súbory <code>.link</code> pre fyzické karty vrátane portov bondov, s MAC adresou, ktorú práve hlási sysfs; pri portoch bondu to môže byť spoločná MAC bondu, preto ich názvy po reštarte skontrolujte. Vynecháva virtuálne rozhrania, napríklad LXC veth a samotné bondy; nerieši súbehy pri pomenovaní virtuálnych kariet <code>hotplug</code>."
],
"writtenTitle": "Čo sa napíše",
"writtenIntro": "Jeden súbor pre každú fyzickú kartu v <code>/etc/systemd/network/10-proxmenux-&lt;iface&gt;.link</code>. Začína hlavičkou <code># Managed by ProxMenux — do not edit</code>, aby ProxMenux rozlíšil vlastné súbory od súborov <code>.link</code> používateľa alebo iných balíkov.",
"writtenOutro": "Súbory <code>.link</code> iných balíkov alebo používateľa zostávajú zachované; spravujú sa iba súbory s hlavičkou ProxMenux. Pri opakovanom spustení funkcia skontroluje svoje súbory: z každého <code>10-proxmenux-*.link</code> znovu načíta <code>MACAddress=</code> a odstráni tie, ktorých MAC sa už nenachádza v <code>/sys/class/net/</code>. Súbory starších verzií vo formáte <code>10-&lt;iface&gt;.link</code> sa pri prvom spustení automaticky migrujú.",
"pveTitle": "PVE 9 vs PVE 8",
"pveBody": "Skript používa súbory systemd <code>.link</code> pre trvalé názvy. V Proxmox VE 9 po ich zápise navyše načíta pravidlá udev, aby už pripnutá karta, ktorá sa znova pripojí alebo rozpozná, použila svoje pravidlo bez reštartu. Existujúce rozhrania skontrolujte po reštarte v PVE 8 aj PVE 9. Nemení sa tým používanie <code>ifupdown2</code> na hostiteľovi. Skript v oboch prípadoch nastaví príznak reštartu, aby sa naň prispôsobiteľné nastavenie opýtalo.",
"reviewTitle": "Najprv skontrolujte existujúci /etc/network/interfaces",
"reviewBody": "Ak staršia konfigurácia v <code>/etc/network/interfaces</code> odkazuje na názvy kariet vytvorené jadrom, pevné priradenie <em>aktuálnych</em> názvov je správny výsledok. Ak ste už konfiguráciu ručne prispôsobili konkrétnym názvom, pred reštartom overte, že pevné názvy zodpovedajú súboru interfaces.",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "<link>Odinštalovať optimalizácie</link> odstráni iba súbory <code>10-proxmenux-*.link</code> s hlavičkou ProxMenux z <code>/etc/systemd/network/</code>. Zachová všetky súbory <code>.link</code> používateľa alebo iných balíkov. Po ďalšom reštarte sa obnoví predvolené pomenovanie systemd."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Správa siete",
"href": "/docs/network",
"tail": " — diagnostika, analýza mostov a opravy so sprievodcom."
},
{
"label": "Trvalé názvy rozhraní",
"href": "/docs/network/persistent-names",
"tail": " — rovnaká funkcia neskôr v samostatnom menu; použite jednu z možností, nie obe."
},
{
"label": "Prehľad sieťových príkazov",
"href": "/docs/help-info/network-commands",
"tail": " — ip, ss, ethtool, sysctl."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — vráti tieto zmeny siete späť."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,177 @@
{
"meta": {
"title": "ProxMenux po inštalácii: Voliteľné nastavenia",
"description": "Sprievodca voliteľnými nastaveniami skriptu ProxMenux po inštalácii pre ďalšie funkcie a optimalizácie Proxmox VE.",
"ogTitle": "ProxMenux po inštalácii: Voliteľné nastavenia",
"ogDescription": "Sprievodca voliteľnými nastaveniami skriptu ProxMenux po inštalácii pre ďalšie funkcie a optimalizácie Proxmox VE.",
"ogImageAlt": "ProxMenux Nepovinné nastavenia po inštalácii"
},
"title": "Voliteľné nastavenia",
"intro": "Kategória <strong>Voliteľné nastavenia</strong> ponúka ďalšie funkcie a optimalizácie pre inštaláciu Proxmox VE. Nie sú nevyhnutné, ale v konkrétnych situáciách môžu rozšíriť možnosti systému.",
"available": "Dostupné voliteľné funkcie",
"stepLabel": "Krok",
"ceph": {
"title": "Pridať najnovšiu podporu Ceph",
"intro": "Táto možnosť nainštaluje najnovšiu podporu Ceph úložného systému pre Proxmox VE. Ceph je distribuovaný úložný systém, ktorý poskytuje vysoký výkon, spoľahlivosť a škálovateľnosť.",
"doesIntro": "Čo robí:",
"doesItems": [
"Pridá repozitár Ceph do vášho systému",
"Aktualizuje zoznamy balíkov",
"Inštaluje balíky Ceph pomocou príkazu 'pveceph install'",
"Overuje inštaláciu"
],
"howUse": "Použitie: Po inštalácii môžete nastaviť a spravovať úložisko Ceph cez webové rozhranie Proxmox VE alebo nástroje príkazového riadku.",
"automates": "Táto úprava automatizuje nasledujúce príkazy:"
},
"amd": {
"title": "Použiť opravy CPU AMD",
"intro": "Táto možnosť použije konkrétne opravy procesorov AMD EPYC a Ryzen na zlepšenie stability a kompatibility.",
"doesIntro": "Čo robí:",
"doesItems": [
"Odhaľuje, či je prítomný AMD EPYC alebo Ryzen CPU",
"Použije parameter jadra idle=nomwait na predchádzanie náhodným pádom (cez /etc/kernel/cmdline na hostiteľoch so systemd-boot alebo /etc/default/grub pri GRUB, so zálohou originálu .bak).",
"Nastaví KVM na ignorovanie určitých MSR (registrov špecifických pre model) pre lepšiu kompatibilitu hosťovských systémov Windows."
],
"howUse": "Použitie: Opravy sa použijú automaticky a prejavia sa po reštarte systému.",
"automates": "Táto úprava automatizuje nasledujúce príkazy:"
},
"ha": {
"title": "Zapnúť služby vysokej dostupnosti",
"intro": "Táto možnosť zapne služby vysokej dostupnosti (HA) v Proxmox VE, ktoré umožňujú automatické prevzatie VM a kontajnerov iným uzlom pri poruche uzla.",
"doesIntro": "Čo robí:",
"doesItems": [
"Zapne a spustí službu pve-ha-lrm (lokálny správca zdrojov)",
"Zapne a spustí službu pve-ha-crm (správca zdrojov klastra)",
"Zapne a spustí službu corosync na komunikáciu klastra"
],
"howUse": "Ako používať: Po umožnení týchto služieb môžete konfigurovať HA skupiny a zdroje vo webovom rozhraní Proxmox VE.",
"automates": "Táto úprava automatizuje nasledujúce príkazy:"
},
"pveam": {
"title": "Aktualizovať Proxmox VE Appliance Manager",
"intro": "Obnoví lokálny index šablón kontajnerov, ktorý <code>pveam</code> sprístupňuje v rozhraní Proxmox. Zoznam dostupných softvérových šablón tak bude aktuálny pri ďalšom vytvorení LXC.",
"doesIntro": "Čo robí:",
"doesItems": [
"Spustí <code>pveam update</code> voči zrkadlám Proxmox a získa aktuálny katalóg softvérových šablón",
"Doplní zoznam softvérových šablón zobrazený pri vytváraní kontajnera"
],
"howUse": "Použitie: spustite ho, ak zoznam šablón v rozhraní vyzerá zastarano alebo po zmene zrkadiel. Stiahne iba index katalógu, nie samotné šablóny.",
"automates": "Táto úprava automatizuje nasledujúci príkaz:"
},
"fastfetch": {
"title": "Nainštalovať a nastaviť Fastfetch",
"intro": "Táto možnosť ticho nainštaluje a konfiguruje nástroj Fastfetch, ktorý zobrazuje systémové špecifikácie a vlastné logo pri prihlásení.",
"doesLabel": "Čo robí:",
"doesItems": [
"Ticho stiahne a nainštaluje najnovšiu verziu Fastfetch",
"Umožňuje vám vybrať si vlastné logo (<strong>ProxMenux, Proxmox, Helper-Scripts, Home-Labs-Club, Proxmology</strong> alebo vlastné logo)",
"Nastaví Fastfetch na zobrazenie <em>„Systém optimalizovaný cez ProxMenux“</em>",
"Nastaví Fastfetch pre automatické spustenie pri prihlásení konzoly"
],
"importantLabel": "Dôležité:",
"importantBody": "Ak sa pripájate k Proxmoxu cez SSH, vyberte logo <strong>Proxmox</strong> alebo vytvorte vlastné pomocou <code>jp2a</code> alebo <code>img2txt</code>. Ostatné logá vytvára <code>chafa</code> a v bežnej relácii SSH sa nemusia zobraziť správne.",
"customLabel": "Vlastné logá:",
"customBody1": "Vlastné logo použijete vložením textového súboru s ASCII grafikou do: <code>/usr/local/share/fastfetch/logos/</code>",
"customBody2": "Môžete vytvoriť vlastné logá pomocou nástrojov ako <code>chafa</code>, <code>jp2a</code>, alebo <code>img2txt</code>.",
"customBody3": "Pre dosiahnutie najlepších výsledkov:",
"customItems": [
"Obmedzte výšku loga na 35 riadkov, aby sa zachovali proporcie a zmestilo sa do terminálu",
"Použite <code>chafa</code> pre farebné logá (v reláciách SSH sa nemusia zobraziť správne)",
"Použiť <code>jp2a</code> alebo <code>img2txt</code> pre logá kompatibilné s SSH"
],
"examplesLabel": "Príkladové logá:",
"logos": [
{
"name": "ProxMenux",
"alt": "Logo ProxMenux",
"src": "https://macrimi.github.io/ProxMenux/fastfetch/proxmenux.png"
},
{
"name": "Proxmox",
"alt": "Logo Proxmox",
"src": "https://macrimi.github.io/ProxMenux/fastfetch/proxmox.png"
},
{
"name": "JC Channel",
"alt": "Logo JC Channel",
"src": "/fastfetch/jc-channel.png"
},
{
"name": "Helper-Scripts",
"alt": "Logo Helper-Scripts",
"src": "https://macrimi.github.io/ProxMenux/fastfetch/helper-scripts.png"
},
{
"name": "Home-Labs-Club",
"alt": "Logo Home-Labs-Club",
"src": "https://macrimi.github.io/ProxMenux/fastfetch/home-labs-club.png"
},
{
"name": "Proxmology",
"alt": "Logo Proxmology",
"src": "https://macrimi.github.io/ProxMenux/fastfetch/proxmology.png"
}
],
"automates": "Táto úprava automatizuje nasledujúce príkazy:"
},
"figurine": {
"title": "Inštalovať a nastaviť Figurine",
"intro": "Táto voľba nainštaluje a konfiguruje Figurine, nástroj, ktorý vytvára štýlové ASCII textové bannery pre váš terminál, zobrazujúci vaše meno hostiteľa vo vizuálne atraktívnom 3D formáte.",
"doesLabel": "Čo robí:",
"doesItems": [
"Stiahne a nainštaluje Figurine v2.1.1 z GitHubu pre architektúru hostiteľa (AMD64, ARM64 alebo ARMv7)",
"Vytvorí uvítaciu správu, ktorá zobrazí vaše meno hostiteľa v 3D ASCII umení pri prihlásení",
"Aktualizuje existujúci binárny súbor Figurine až po úspešnom stiahnutí a rozbalení",
"Nastaví uvítaciu správu pre automatické spustenie pri prihlásení"
],
"practicalLabel": "Praktické použitie:",
"practicalBody": "Pri správe viacerých uzlov Proxmox v klastri Figurine hneď ukáže, do ktorého uzla ste prihlásený. Pomáha to predchádzať náhodným príkazom na nesprávnom uzle a zlepšuje prácu s viacerými servermi.",
"exampleLabel": "Príklad výstupu:",
"imageAlt": "Príklad výstupu Figurine",
"automates": "Táto úprava automatizuje tento proces:",
"outro": "Po inštalácii uvidíte vaše meno hostiteľa zobrazené v 3D ASCII umení zakaždým, keď sa prihlásite, aby bolo okamžite jasné, na ktorom uzol Proxmox pracujete."
},
"log2ram": {
"title": "Nainštalovať Log2RAM (zníženie opotrebenia SSD/NVMe)",
"intro": "Log2RAM pripojí <code>/var/log</code> ako ramdisk tmpfs a pravidelne ho synchronizuje na disk. Ukladanie častých zápisov journald do RAM môže znížiť opotrebenie SSD a diskové I/O. Synchronizácia a riadne vypnutie uložia logy na disk, ale náhly výpadok napájania môže stratiť záznamy od poslednej synchronizácie.",
"upstreamLabel": "Pôvodný projekt:",
"upstreamUrl": "https://github.com/azlux/log2ram",
"upstreamLinkLabel": "azlux/log2ram na GitHub",
"doesLabel": "Čo robí ProxMenux:",
"doesItems": [
"Čítaním <code>/sys/block/&lt;dev&gt;/queue/rotational</code> zistí, či je koreňový disk SSD/NVMe. Pri rotačnom disku sa automatický postup pred inštaláciou opýta.",
"Naklonuje pôvodný repozitár (<code>azlux/log2ram</code>) do <code>/tmp/log2ram</code> a upraví <code>install.sh</code>: nahradí <code>rsync -aAXv</code> príkazom <code>rsync -aXv --no-acls</code>. Predíde tak chybe <em>set_acl: Operation not supported</em> s návratovým kódom 23 pri presune /var/log na súborovom systéme bez ACL. Jednotka systemd <code>log2ram</code> sa po inštalácii zapne.",
"Nastaví veľkosť ramdisku podľa RAM hostiteľa: <code>≤ 8 GB → 128M</code>, <code>≤ 16 GB → 256M</code>, <code>&gt; 16 GB → 512M</code>. Zapíše hodnotu do <code>SIZE=</code> v <code>/etc/log2ram.conf</code>.",
"Plánuje periodickú synchronizáciu disku cez <code>/etc/cron.d/log2ram</code>: každý 1h / 3h / 6h podľa rovnakej úrovne RAM.",
"Nainštaluje <code>/usr/local/bin/log2ram-check.sh</code>, spúšťaný cez <code>/etc/cron.d/log2ram-auto-sync</code> každých 10 minút. Keď <code>/var/log</code> dosiahne 80% ramdisku, vyčistí staré žurnály. Pri 92% najprv spustí <code>logrotate -f /etc/logrotate.d/proxmox-backup-api</code>, ak súbor existuje: logy API PBS bývajú najväčším spotrebiteľom miesta na hostiteľovi PBS. Potom skráti <code>pveproxy access/error</code> a <code>pveam.log</code> pred synchronizáciou. Samotný <code>log2ram write</code> skopíruje tmpfs na disk, ale nezmenší ho. Ochrana pomáha predchádzať pádom PVE s <em>No space left on device</em> pri nekontrolovanom raste logov.",
"Zistí službu <code>proxmox-backup-server</code> na hostiteľovi. Ak existuje, vytvorí <code>/etc/logrotate.d/proxmox-backup-api</code> (20 MB × 3 rotácie) a <code>/etc/cron.hourly/proxmox-backup-logrotate</code>, aby obmedzil logy API PBS, častý zdroj rastu, aj medzi synchronizáciami Log2RAM. Bez PBS nič nezmení.",
"Prispôsobí limity systemd-journald (<code>SystemMaxUse</code>, <code>RuntimeMaxUse</code>) ramdisku, aby ho nárazový príval záznamov nezaplnil.",
"Zaznamená sa v <code>installed_tools.json</code>, aby sa dal vrátiť cez Odinštalovať optimalizácie."
],
"howUseLabel": "Ako používať:",
"howUseBody": "Automatický postup nainštaluje Log2RAM bez zásahu pri zistení koreňového SSD/NVMe. Prispôsobiteľný postup sa pýta na veľkosť, interval a ochranu synchronizácie. Výzva uvádza 90%, no vytvorený skript používa vyššie opísané limity 80% na čistenie a 92% na intenzívne čistenie.",
"verifyLabel": "Overiť a spravovať zo shellu:",
"verifyCode": "# Service state and configured timers\nsystemctl status log2ram\nsystemctl list-timers log2ram*\n\n# Current ramdisk usage — /var/log IS the tmpfs itself\ndf -h /var/log\n\n# Force a sync now (tmpfs → disk); does NOT shrink the tmpfs\nlog2ram write\n\n# Trigger the auto-sync guard on demand (vacuum + sync when usage is high)\n/usr/local/bin/log2ram-check.sh\n\n# Current config: SIZE, mail settings, path\ncat /etc/log2ram.conf\n\n# ProxMenux-specific cron jobs\ncat /etc/cron.d/log2ram /etc/cron.d/log2ram-auto-sync\n\n# Recent Log2RAM activity\njournalctl -u log2ram -n 50 --no-pager"
},
"zram": {
"title": "Povoliť výmenný profil ZRAM",
"intro": "Pomocou <code>/dev/zram0</code> vytvorí komprimované odkladacie zariadenie v RAM cez <code>systemd-zram-generator</code>. Stránky presunuté jadrom do swapu sa komprimujú cez zstd a zostanú v pamäti pred použitím swapu na disku.",
"doesLabel": "Čo robí:",
"doesItems": [
"Nainštaluje <code>systemd-zram-generator</code>, ak chýba, a zaznamená, či ho nainštaloval ProxMenux.",
"Zapíše <code>/etc/systemd/zram-generator.conf.d/90-proxmenux.conf</code>: zariadenie <code>zram0</code> s veľkosťou desatiny RAM hostiteľa, kompresiou zstd (<code>zstd(level=9)</code> pri systemd-zram-generator 1.2.0 alebo novšom) a prioritou swapu 32767.",
"S touto prioritou jadro najprv zaplní ZRAM. Existujúci swap na disku si zachová svoju prioritu a prijme stránky, ktoré sa už do ZRAM nezmestia.",
"Pred zmenou niečoho, hľadá ďalšie nastavenie ZRAM: aktívny zram swap, zram linka v <code>/etc/fstab</code>, systemd jednotka alebo iný súbor generátora. Ak ho nájde, možnosť sa zastaví a nechá nastavenie ako je.",
"Spustí <code>dev-zram0.swap</code> a overí, či aktívne zariadenie zodpovedá profilu. Ak nie, obnoví predchádzajúci stav.",
"Zaznamená sa v <code>installed_tools.json</code>, aby sa dal vrátiť cez Odinštalovať optimalizácie."
],
"howUseLabel": "Ako používať:",
"howUseBody": "Možnosť je iba v prispôsobiteľnom postupe; automatický ju nepoužíva. Zariadenie sa pri každom štarte vytvorí znovu. Kým je aktívne, panel Pamäť v ProxMenux Monitor zobrazí kapacitu, využitý swap, algoritmus, kompresný pomer a obsadenú fyzickú pamäť.",
"verifyLabel": "Overiť zo shellu:",
"verifyCode": "# Active swap devices and their priority\nswapon --show\n\n# ZRAM device: algorithm, size and compressed data\nzramctl\n\n# Profile written by ProxMenux\ncat /etc/systemd/zram-generator.conf.d/90-proxmenux.conf\n\n# State of the swap unit\nsystemctl status dev-zram0.swap"
},
"autoApplication": {
"title": "Automatická aplikácia",
"body": "V prispôsobiteľnom postupe vyberte funkcie podľa potreby. Log2RAM je aj súčasťou automatického postupu s detekciou hardvéru; ZRAM zostáva iba prispôsobiteľný. Jednotlivé časti opisujú výzvy a predpoklady."
}
}
@@ -0,0 +1,61 @@
{
"meta": {
"title": "Po inštalácii: Výkon | Dokumentácia ProxMenux",
"description": "Možnosti výkonu v prispôsobiteľnom skripte ProxMenux po inštalácii. Nahrádza jednovláknový gzip programom pigz (paralelný gzip) na rýchlejšie zálohovanie a kompresiu na viacjadrových hostiteľoch."
},
"header": {
"title": "Po inštalácii: výkon",
"description": "Možnosti výkonu v prispôsobiteľnom skripte po inštalácii. Kategória obsahuje jednu optimalizáciu: nahradenie gzip programom pigz, aby zálohovanie a kompresia používali všetky jadrá CPU namiesto jedného.",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Jediná možnosť výkonu tu presmeruje systémový gzip na paralelnú implementáciu. Ostatné úpravy výkonu (pamäť, plánovanie I/O, veľkosť ARC ZFS, limity jadra) sú vo vlastných kategóriách (<em>Systém</em>, <em>Úložisko</em>), pretože ovplyvňujú iné subsystémy."
},
"pigz": {
"heading": "Použiť pigz pre rýchlejšiu gzip kompresiu",
"intro": "Štandardný <code>gzip</code> komprimuje údaje pomocou <strong>jediného jadra CPU</strong>. Na moderných hostiteľoch Proxmox s 8, 16 alebo 32 jadrami je to veľké úzke miesto pri zálohách VM/CT cez <code>vzdump</code>, rotácii záznamov a všetkom, čo prechádza cez <code>gzip</code>. <a>pigz</a> je priamo zameniteľná paralelná náhrada: rovnaký výstup kompatibilný s gzip, ale práca rozdelená medzi všetky jadrá.",
"doesTitle": "Čo robí ProxMenux",
"doesIntro": "Päť krokov, všetky idempotentné:",
"doesItems": [
"Nastaví <code>pigz: 1</code> v <code>/etc/vzdump.conf</code>, aby zálohovací nástroj Proxmox používal pigz natívne.",
"Nainštaluje apt balíček <code>pigz</code>, ak už nie je prítomný.",
"Napíše wrapper skript na <code>/bin/pigzwrapper</code>, ktorý posiela každý argument na <code>/usr/bin/pigz</code>.",
"Zaregistruje presmerovanie dpkg pre systémový program <code>gzip</code> (<code>/usr/bin/gzip</code> v Proxmox VE 9, <code>/bin/gzip</code> v Proxmox VE 8). Pôvodný program zostane vedľa ako <code>gzip.distrib</code> a na jeho miesto príde wrapper. Odvtedy <em>všetko</em>, čo volá <code>gzip</code> — logrotate, <code>tar czf</code>, skripty aj vzdump — používa pigz transparentne.",
"Pred umiestnením wrappera overí, že súbor <code>gzip.distrib</code> je funkčný gzip; ak nie, najprv preinštaluje balík <code>gzip</code>. Hostiteľ so staršou náhradou <code>/bin/gzip.original</code> pri opätovnom použití možnosti prejde na presmerovanie dpkg."
],
"replacesTitle": "Nahrádza systémový program",
"replacesBody": "Umiestniť wrapper namiesto <code>gzip</code> je nezvyčajné. Je to bezpečné, pretože vytvára výstup kompatibilný s gzip, ale skripty s pevne zapísanými cestami, v obmedzených prostrediach chroot alebo overujúce hash programu sa môžu správať inak. Pôvodný program zostáva ako <code>gzip.distrib</code>. Vďaka presmerovaniu dpkg aktualizácia balíka <code>gzip</code> alebo prechod z Proxmox VE 8 na 9 aktualizuje tento súbor a ponechá wrapper na mieste.",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "Táto optimalizácia sa sleduje. <link>Odinštalovať optimalizácie</link> skopíruje pôvodný program z <code>gzip.distrib</code> na miesto wrappera, odstráni presmerovanie aj <code>pigzwrapper</code>, zakomentuje riadok <code>pigz</code> v <code>/etc/vzdump.conf</code> a po overení funkčnosti gzip spustí <code>apt purge pigz</code>. Ručný ekvivalent pre Proxmox VE 9:",
"verifyTitle": "Overenie",
"verifyBody": "Po použití by mal <code>gzip --version</code> uviesť pigz. Rýchly test výkonu tiež ukáže rozdiel v rýchlosti na viacjadrovom hostiteľovi:",
"whenTitle": "Keď na tom záleží najviac",
"whenBody": "Prínos závisí od <strong>počtu jadier hostiteľa</strong> a <strong>frekvencie zálohovania</strong>. Na domácom serveri s 2 jadrami a jedným denným vzdump je malý. Na produkčnom hostiteľovi so 16 jadrami, ktorý každú noc zálohuje tucet VM, môže pigz skrátiť časové okno záloh na zlomok času jednovláknového gzip."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Príkazy na zálohovanie a obnovu",
"href": "/docs/help-info/backup-commands",
"tailRich": " — referencia CLI vzdump vrátane voľby počtu vlákien <code>--pigz</code>."
},
{
"label": "Úložisko",
"href": "/docs/post-install/storage",
"tail": " — Vzdump rýchlostné limity a ZFS ARC ladenie."
},
{
"label": "Systém",
"href": "/docs/post-install/system",
"tail": " — ladenie deskriptorov súborov a pamäte."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,57 @@
{
"meta": {
"title": "Po inštalácii: Zabezpečenie | Dokumentácia ProxMenux",
"description": "Možnosti zabezpečenia v prispôsobiteľnom skripte ProxMenux po inštalácii. Zatiaľ jediná možnosť: zakázať službu portmapper/rpcbind na zmenšenie útočnej plochy hostiteľa."
},
"header": {
"title": "Po inštalácii: Zabezpečenie",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Zabezpečenie po inštalácii zahŕňa iba <strong>posilnenie hostiteľa, ktoré sa dá bezpečne použiť bez dozoru</strong>: vypnutie služieb, ktoré takmer nikto nepotrebuje a ktoré možno obnoviť cez Odinštalovať. Aktívne bezpečnostné nástroje (Fail2Ban na prevenciu prienikov, Lynis na audit) nájdete pod položkou <em>Zabezpečenie</em> v hlavnom menu ProxMenux, mimo nastavení po inštalácii."
},
"rpcbind": {
"heading": "Zakázať portmapper / rpcbind",
"intro": "<code>rpcbind</code> (predtým <code>portmap</code>) mapuje čísla programov RPC na sieťové porty. NFS a niektoré staršie nástroje RPC ho potrebujú. Na typickom hostiteľovi Proxmox, ktorý nie je serverom NFS, ho <strong>nič nepoužíva</strong>; ak zostane zapnutý, port <code>111/tcp</code> načúva na každom rozhraní.",
"whyTitle": "Prečo sa ho oplatí vypnúť",
"whyItems": [
"Zmenšuje útočnú plochu hostiteľa — o jednu načúvajúcu službu menej, o ktorú sa treba starať.",
"V minulosti sa zneužíval ako vektor odrazu a zosilnenia pri útokoch DDoS. Vypnutím <code>rpcbind</code> sa tento faktor zosilnenia na hostiteľovi odstráni.",
"Odstráni zbytočné hlásenia zo záznamov a výstupu <code>netstat</code> / <code>ss</code>, aby sa skutočná aktivita ľahšie rozpoznávala."
],
"nfsTitle": "Nevypnite to, ak používate NFS",
"nfsBody": "Server NFS <strong>aj</strong> klient NFS používajú <code>rpcbind</code> na vyjednanie portov pre <code>mountd</code>, <code>statd</code>, <code>lockd</code> a ďalšie služby. Ak hostiteľ Proxmox <em>exportuje</em> zdieľania NFS iným počítačom alebo <em>pripája</em> zdieľania NFS z NAS, túto možnosť nepoužívajte. Pripájanie zlyhá s chybou <code>mount.nfs: rpc.statd is not running</code> alebo podobnou.",
"runsTitle": "Čo ProxMenux spúšťa",
"runsOutro": "Balík zostáva nainštalovaný. ProxMenux zaznamená pôvodný stav povolenia a aktivity rpcbind.service aj rpcbind.socket, potom obe jednotky zakáže a zastaví, aby aktivácia cez socket nemohla službu znovu spustiť.",
"verifyTitle": "Overenie",
"verifyBody": "Po použití overte, že <code>rpcbind</code> je vypnutý a na porte 111 nič nenačúva:",
"reversibleTitle": "Obnovuje pôvodný stav služby",
"reversibleBody": "Zmena sa zaznamená do <code>installed_tools.json</code>. <link>Odinštalovať optimalizácie</link> vráti každú jednotku rpcbind do povoleného/zakázaného a aktívneho/neaktívneho stavu zaznamenaného pred zmenou ProxMenux. Nepredpokladá, že rpcbind bol povolený na každom hostiteľovi."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Bezpečnostné menu",
"href": "/docs/security",
"tail": " — pokročilejšie nástroje: Fail2Ban (prevencia prienikov) a Lynis (audit)."
},
{
"label": "Lynis",
"href": "/docs/security/lynis",
"tail": " — audit hostiteľa na nájdenie ďalších možností posilnenia zabezpečenia."
},
{
"label": "Užitočné systémové príkazy",
"href": "/docs/help-info/system-commands",
"tail": " — Stav služby, journalctl, referencia auditu lynis."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,167 @@
{
"meta": {
"title": "Po inštalácii: Úložisko | Dokumentácia ProxMenux",
"description": "Optimalizácie úložiska v prispôsobiteľnom skripte ProxMenux po inštalácii: veľkosť ZFS ARC podľa RAM, pravidelné snímky cez zfs-auto-snapshot a odstránenie rýchlostných limitov záloh vzdump."
},
"header": {
"title": "Po inštalácii: Úložisko",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Štyri optimalizácie úložiska: nastaviť <strong>ZFS ARC</strong> na vhodný podiel RAM, nainštalovať a naplánovať <strong>automatické snímky ZFS</strong>, zapnúť <strong>ZFS autotrim</strong> v SSD/NVMe pooloch a odstrániť obmedzenia <strong>vzdump</strong>, aby sa zálohy mohli vytvárať plnou rýchlosťou. Možnosti sú nezávislé; vyberte podľa svojho systému. Piata, <link>Log2RAM</link>, znižuje opotrebenie SSD/NVMe presunom <code>/var/log</code> na ramdisk. Je na stránke Voliteľné podľa zaradenia v prispôsobiteľnom menu."
},
"trackedTitle": "Všetky štyri sú sledované v menu Odinštalovať",
"trackedBody": "Každá z týchto možností zaregistruje nástroj v <code>installed_tools.json</code>, takže sa zobrazí v časti <link>Odstrániť optimalizácie</link>. Vrátenie <code>zfs_arc</code> odstráni <code>/etc/modprobe.d/99-zfsarc.conf</code> a znovu vytvorí initramfs. <code>zfs_auto_snapshot</code> zruší plán cron a ponúkne úplné odstránenie balíka; <code>zfs_autotrim</code> nastaví <code>autotrim=off</code> v pooloch, v ktorých ho zaplo; <code>vzdump_speed</code> obnoví <code>/etc/vzdump.conf</code> zo súboru <code>.bak</code> vytvoreného pri inštalácii.",
"arc": {
"heading": "Optimalizovať veľkosť ZFS ARC",
"intro": "<strong>Adaptive Replacement Cache (ARC)</strong> je čítacia cache ZFS v RAM. Inštalácie Proxmox VE od 8.1 nastavujú 10% RAM, najviac 16 GiB; staršie alebo aktualizované hostitele sa môžu líšiť. Táto možnosť zapíše rovnaké pravidlo výslovne (RAM/10, najviac 16 GiB, najmenej 64 MiB) do vlastného súboru, čím pokryje aj staršie alebo aktualizované hostitele. Skontrolujte existujúce nastavenia a záťaž: menšia cache nie je vždy rýchlejšia.",
"sizingTitle": "Pravidlá veľkosti",
"headerRam": "RAM hostiteľa",
"headerMax": "Limit ARC",
"rows": [
{
"ram": "Vzorec",
"max": "RAM / 10, najviac 16 GiB a najmenej 64 MiB"
},
{
"ram": "8 GB hostiteľ",
"max": "≈ 819 MiB (RAM/10)"
},
{
"ram": "16 GB hostiteľ",
"max": "≈ 1.6 GiB (RAM/10)"
},
{
"ram": "64 GB hostiteľ",
"max": "≈ 6.4 GiB (RAM/10)"
},
{
"ram": "≥ 160 GB hostiteľ",
"max": "16 GiB (limit)"
}
],
"after": "Súbor <code>/etc/modprobe.d/99-zfsarc.conf</code> obsahuje iba <code>options zfs zfs_arc_max=…</code>. Ostatné parametre ZFS (<code>zfs_arc_min</code>, prednačítanie/obmedzenie zápisov L2ARC, časový limit TXG) sa neladia. Pred zápisom kontrola nájde iné <code>*.conf</code> v <code>/etc/modprobe.d/</code> s <code>zfs_arc_min</code> / <code>zfs_arc_max</code>, zálohuje ich s manifestom do <code>/usr/local/share/proxmenux/backups/zfs_arc/</code> a odstráni z nich konfliktné hodnoty <code>zfs_arc_min</code> / <code>zfs_arc_max</code> (ostatné voľby v týchto riadkoch zostanú), aby limit určoval iba súbor ARC ProxMenux. Potom <code>update-initramfs -u -k all</code> a podľa potreby <code>proxmox-boot-tool refresh</code> začlenia limit do initramfs systémov s koreňom na ZFS.",
"rebootTitle": "Prejaví sa po reštarte",
"rebootBody": "Nastavenia ARC sa čítajú pri načítaní modulu <code>zfs</code>. Pre hostiteľov s koreňom na ZFS ProxMenux znovu vytvorí initramfs cez <code>update-initramfs -u -k all</code> a podľa potreby obnoví zavádzač cez <code>proxmox-boot-tool refresh</code>. Nový parameter stále vyžaduje reštart; príznak potreby reštartu sa nastaví automaticky.",
"safeTitle": "Bezpečné na hostiteľoch bez ZFS",
"safeBody": "Funkcia zapíše konfiguráciu iba vtedy, ak <code>zpool list</code> ohlási aspoň jeden importovaný pool ZFS. Na hostiteľoch iba s ext4/LVM alebo s nástrojmi ZFS bez importovaného poolu voľba nič neurobí a nič nezapíše.",
"verifyTitle": "Overenie a ručná obnova"
},
"autoSnap": {
"heading": "Nainštalovať ZFS auto-snapshot",
"intro": "Nainštaluje balík <a>zfs-auto-snapshot</a> a prepíše plány cron na automatické vytváranie snímok v niekoľkých intervaloch. Jednoduchá dodatočná ochrana popri pravidelných zálohách vzdump.",
"cadenceTitle": "Intervaly snímok nastavené cez ProxMenux",
"headerLabel": "Štítok",
"headerRuns": "Beží",
"headerKept": "Uchované snímky",
"rows": [
{
"label": "časté",
"runs": "každý 15 min.",
"kept": "4"
},
{
"label": "hodinová",
"runs": "každú hodinu",
"kept": "1"
},
{
"label": "denne",
"runs": "jedenkrát denne",
"kept": "1"
},
{
"label": "týždenne",
"runs": "jedenkrát týždenne",
"kept": "1"
},
{
"label": "mesačne",
"runs": "jedenkrát mesačne",
"kept": "1"
}
],
"conservativeTitle": "Obmedzené počty uchovaných snímok",
"conservativeBody": "ProxMenux sa dodáva s konzervatívnym uchovávaním (len 4 často + 1 každého dlhšieho intervalu), takže ZFS snapshot úložisko nenarastá. Ak chcete dlhšie uchovávanie, po spustení skriptu upravte čísla v <code>/etc/cron.d/zfs-auto-snapshot</code>, <code>/etc/cron.hourly/zfs-auto-snapshot</code> atď.",
"onlyZfsTitle": "Užitočné iba v pooloch ZFS",
"onlyZfsBody": "Inštalácia balíka na hostiteľovi iba s ext4 je neškodná, ale zbytočná: neexistujú datasety ZFS na vytváranie snímok. Ak ZFS nepoužívate, možnosť vynechajte.",
"verifyTitle": "Overenie a ručná obnova"
},
"autotrim": {
"heading": "Zapnúť ZFS autotrim (SSD/NVMe pooly)",
"intro": "Zapne <code>autotrim</code> v pooloch ZFS zložených iba z SSD alebo NVMe s TRIM. Z opatrnosti vynechá pooly s rotačným diskom. Pooly už nastavené na <code>autotrim=on</code> ponechá bez zmeny.",
"trimTitle": "Čo TRIM robí, a prečo to záleží na ZFS",
"trimBody1": "SSD a NVMe používajú interné mazacie bloky väčšie než logické sektory súborového systému. Po zmazaní súboru disk ešte nevie, že sektory sú voľné, a jeho interné čistenie môže pri uvoľňovaní ďalších blokov zbytočne presúvať staré dáta. <strong>TRIM</strong> oznámi disku voľné sektory, aby ich mohol vymazať vopred.",
"trimBody2": "Bez TRIM sa výkon SSD časom znižuje, pretože na disku sa míňajú vopred vymazané bloky a musí vykonať vymazanie pri zápise a zvyšuje sa zosilnenie zápisu – oboje skracuje životnosť disku. So zapnutým TRIM môže disk udržiavať zdravé pool prázdnych blokov pripravených na zápis.",
"trimBody3": "Pri <code>autotrim=on</code> ZFS na pozadí vykonáva TRIM nedávno uvoľneného miesta a zlučuje rozsahy. Alternatívou je pravidelný <code>zpool trim &lt;pool&gt;</code>. Autotrim nepotrebuje samostatný plán, ale vplyv závisí od diskov; slabším zariadeniam môže viac vyhovovať pravidelný ručný TRIM.",
"practicalTitle": "Prečo je to praktické?",
"practicalItems": [
"<strong>Trvalý výkon zápisu.</strong> TRIM môže pomôcť efektívne obnoviť nepoužité bloky. Prínos a vplyv na latenciu závisia od zariadenia a záťaže.",
"<strong>Životnosť disku.</strong> Menej zbytočného interného kopírovania môže znížiť násobenie zápisov a opotrebenie NAND. Nezaručuje konkrétne predĺženie životnosti.",
"<strong>Bez samostatnej úlohy cron.</strong> Na rozdiel od pravidelného <code>zpool trim</code> sa o autotrim stará samotný pool."
],
"whenTitle": "Kedy je to nutné?",
"whenIntro1": "<strong>Zvážte zapnutie</strong> v pooloch ZFS iba s SSD/NVMe podporujúcimi TRIM. Overte správanie a latenciu; niektorému hardvéru viac vyhovuje plánovaný ručný TRIM.",
"whenIntro2": "<strong>Skript ho automaticky preskočí</strong> na:",
"whenSkipItems": [
"Pooly s rotačným HDD vdev — opatrný hardvérový filter tohto skriptu.",
"Disky bez <code>discard_granularity</code> vystavené v sysfs – zvyčajne staré SSD bez TRIM alebo priechodných ciest, kde OS nevidí základné zariadenie.",
"Pools, kde ZFS sám uvádza, že vlastnosť nie je podporovaná (zriedkavé; veľmi staré pools).",
"Pools už nastavený na <code>autotrim=on</code> (bez-op)."
],
"whenIntro3": "<strong>Nie je relevantné pre hostiteľov iba s ext4</strong> — ZFS nemá čo trimovať. Funkcia vtedy skončí s vysvetľujúcou správou.",
"recordedTitle": "Prečo sa zaznamenávajú iba pooly zmenené cez ProxMenux",
"recordedBody": "Funkcia zapíše pool do interného súboru stavu (<code>/usr/local/share/proxmenux/zfs_autotrim_pools</code>) iba pri zmene z <code>off</code> na <code>on</code>. Pooly s už aktívnym autotrimom vynechá. Neskoršie odinštalovanie tak vráti iba vlastné zmeny ProxMenuxu a nevypne vaše nastavenia.",
"manualTitle": "Ručný ekvivalent (spustite na svojom serveri)",
"manualIntro": "Úplná sekvencia skriptu spustená proti každému pool je replikovateľná ručne. Toto by ste napísali, ak by ste chceli urobiť to isté na jednom pool bez ProxMenux:",
"verifyTitle": "Overenie a ručná obnova",
"oneShotTitle": "Potrebujete jednorazový TRIM namiesto priebežného?",
"oneShotBody": "Niektorí správcovia uprednostňujú ručný TRIM mimo špičky. Vypnite autotrim a naplánujte úlohu cron s <code>zpool trim &lt;pool&gt;</code>: rovnaký cieľ, iný interval."
},
"vzdump": {
"heading": "Zvýšiť rýchlosť záloh vzdump",
"intro": "Zapíše bwlimit: 0 a ionice: 5 do globálnej konfigurácie vzdump. Proxmox už predvolene neobmedzuje šírku pásma; odstráni teda iba nastavený limit. Oproti ionice: 7 hodnota 5 zvýši prioritu I/O best-effort, ak ju plánovač rešpektuje. Môže ovplyvniť hostí a nezaručuje rýchlejšie zálohy.",
"changedTitle": "Čo sa zmení v /etc/vzdump.conf",
"backupTitle": "Prvý beh vytvára .bak vzdump.conf",
"backupBody": "Pri prvom spustení ProxMenux pred úpravami skopíruje <code>/etc/vzdump.conf</code> do <code>/etc/vzdump.conf.bak</code>. Ďalšie spustenia zálohu neprepíšu, takže pôvodná ručne upravená konfigurácia zostane obnoviteľná. <code>bwlimit</code> a <code>ionice</code> zmení cez <code>sed</code>; ostatné možnosti ako compress, pigz, tmpdir a exclude-path ponechá.",
"skipTitle": "Kedy to preskočiť",
"skipBody": "Na hostiteľovi s pomalým úložiskom a VM citlivými na latenciu môže odstránenie limitu šírky pásma spomaliť prevádzku počas záloh. Ak ste preto nastavili <code>bwlimit</code>, ponechajte ho a túto možnosť vynechajte.",
"verifyTitle": "Overenie a ručná obnova"
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Príkazy na správu ZFS",
"href": "/docs/help-info/zfs-commands",
"tail": " — prehľad zpool / zfs pre ARC, snímky a scrub."
},
{
"label": "Príkazy pre úložiská a disky",
"href": "/docs/help-info/storage-commands",
"tail": " — všeobecná príručka blokových zariadení a úložísk Proxmox."
},
{
"label": "Príkazy zálohovania a obnovy",
"href": "/docs/help-info/backup-commands",
"tail": " — prehľad CLI vzdump pre šírku pásma a prioritu I/O."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — vráťte zmeny ARC / vzdump späť."
},
{
"label": "Log2RAM",
"href": "/docs/post-install/optional#log2ram",
"tail": " - znižuje SSD/NVMe opotrebenie ramdiskom /var/log; zdokumentované podľa Voliteľné."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,133 @@
{
"meta": {
"title": "Po inštalácii: Systém | Dokumentácia ProxMenux",
"description": "Systémové optimalizácie prispôsobiteľného skriptu ProxMenux po inštalácii: limity veľkosti journald a logrotate, vyššie limity jadra a deskriptorov súborov, vyvážené ladenie pamäte, rýchle reštarty cez kexec a obnova po panike jadra."
},
"header": {
"title": "Po inštalácii: systém",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Šesť nezávislých systémových optimalizácií. Upravujú <strong>journald</strong> a <strong>logrotate</strong>, aby logy nezaplnili disk, zvyšujú <strong>limity jadra a deskriptorov súborov</strong> pre aplikácie s mnohými otvorenými súbormi, <strong>vyvažujú využitie pamäte</strong> na virtualizačnom hostiteľovi, pridávajú <strong>kexec</strong> na reštart bez BIOSu a nastavujú <strong>automatickú obnovu</strong> pri panike jadra. Všetkých šesť je zaznamenaných a vratných z menu Odinštalovať."
},
"journald": {
"heading": "Optimalizovať journald",
"intro": "Prepíše <code>/etc/systemd/journald.conf</code> s rozumnými predvolenými hodnotami, aby žurnál systemd postupne nezaplnil koreňový oddiel. Potom reštartuje <code>systemd-journald</code> a vyčistí staré záznamy.",
"keyTitle": "Kľúčové hodnoty",
"keyItems": [
"<code>Storage=persistent</code> — uchová záznamy na disku aj po reštarte.",
"<code>SystemMaxUse=64M</code> / <code>RuntimeMaxUse=60M</code> — pevné limity využitia disku a pamäte systémovým denníkom.",
"<code>Compress=yes</code>, <code>Seal=no</code> — komprimuje záznamy, vypne kryptografické pečatenie s doprednou bezpečnosťou (šetrí CPU).",
"<code>MaxLevelStore=info</code> — ukladá úroveň info a vyššie, potrebné pre prehliadač logov ProxMenux Monitor aj pre detekciu neúspešných overení SSH/Proxmox cez Fail2Ban v žurnáli.",
"Limit frekvencie: <code>1000 events / 30 s</code> proti zahlteniu logmi.",
"<code>ForwardToSyslog=no</code>, <code>ForwardToWall=no</code> — neduplikovať hlásenia do syslogu ani ich nerozosielať na konzoly."
],
"tipTitle": "Prečo je MaxLevelStore=info dôležité",
"tipBody": "Prísnejšia úroveň ako <code>warning</code> spôsobí, že ProxMenux Monitor ukáže takmer rovnaké záznamy vo všetkých obdobiach, pretože väčšina aktivity má úroveň info, a Fail2Ban neuvidí neúspešné prihlásenia. Objem obmedzte pomocou <code>SystemMaxUse</code> a <code>RateLimitBurst</code>, nie obmedzením ukladaných úrovní."
},
"logrotate": {
"heading": "Optimalizovať logrotate",
"intro": "Prepíše <code>/etc/logrotate.conf</code> s globálnym denným a veľkostným nastavením, uchovaním 7 rotácií, kompresiou a <code>copytruncate</code>, aby služby mohli písať bez opätovného otvorenia logov. Veľkostné kritérium je uvedené po dennom a má prednosť, ak ho neprepíše pravidlo konkrétneho logu. Pôvodný <code>logrotate.conf</code> sa pri prvom použití zálohuje do <code>.bak</code>.",
"tipTitle": "Vhodné pre Log2RAM",
"tipBody": "Direktíva <code>size 10M</code> má prednosť pred skorším denným nastavením; <em>neznamená</em> to prvé splnené kritérium. Logrotate kontroluje limit pri spustení a pravidlá konkrétnych logov môžu prepísať globálne hodnoty. Pri <code>/var/log</code> v RAM cez Log2RAM skontrolujte pravidlá aj frekvenciu časovača na riadenie využitia miesta."
},
"limits": {
"heading": "Zvýšiť systémové limity",
"intro": "Zvýši limity jadra, systemd a PAM, ktorých predvolené hodnoty môžu byť nízke pre hostiteľa s mnohými VM, kontajnermi a sieťovými službami.",
"headerFile": "Súbor",
"headerSets": "Čo nastavuje",
"rows": [
{
"file": "/etc/sysctl.d/99-maxwatches.conf",
"sets": "<code>fs.inotify.max_user_watches / max_user_instances / max_queued_events = 1048576</code>"
},
{
"file": "/etc/sysctl.d/99-maxkeys.conf",
"sets": "<code>kernel.keys.maxkeys / root_maxkeys = 1000000</code>"
},
{
"file": "/etc/sysctl.d/99-swap.conf",
"sets": "<code>vm.swappiness = 10</code>, <code>vm.vfs_cache_pressure = 100</code>"
},
{
"file": "/etc/sysctl.d/99-fs.conf",
"sets": "<code>fs.nr_open / file-max = 2097152</code>, <code>fs.aio-max-nr = 1048576</code>"
},
{
"file": "/etc/security/limits.d/99-limits.conf",
"sets": "<code>nofile</code> a <code>nproc</code> na 1,048,576 (pre root bez obmedzenia)"
},
{
"file": "/etc/systemd/system.conf + user.conf",
"sets": "<code>DefaultLimitNOFILE=1048576</code> pre služby systemd"
},
{
"file": "/etc/pam.d/common-session + runuser-l",
"sets": "<code>session required pam_limits.so</code>, aby sa uvedené limity uplatnili v prihlasovacích shelloch"
},
{
"file": "/root/.profile",
"sets": "<code>ulimit -n 1048576</code> pre shell používateľa root"
}
],
"tipTitle": "Prečo je inotify dôležité",
"tipBody": "Docker, Syncthing, sledovanie súborov Node.js a skenovanie knižníc Plex môžu vyčerpať <code>max_user_watches</code>. Predvolená hodnota závisí od jadra a pamäte; nie je vždy 8192. Limit 1M umožní viac sledovaní bez ich predbežného pridelenia. Aktívne sledovania spotrebúvajú pamäť jadra, preto pri nedostatku RAM kontrolujte využitie."
},
"memory": {
"heading": "Optimalizácia nastavenia pamäte",
"intro": "Zapíše vyvážený profil sysctl do <code>/etc/sysctl.d/99-memory.conf</code>. Je navrhnutý pre hostiteľa hypervízora: uprednostňuje ponechanie aktívnej pamäte VM v RAM a vopred uvoľňuje stránky, aby nárazové prideľovanie pamäte nespôsobovalo zdržanie.",
"warnTitle": "swappiness=10 na hostiteľoch s nedostatkom pamäte",
"warnBody": "Na hostiteľovi so 16 GB RAM a mnohými VM môže zníženie swappiness viesť k ukončovaniu procesov pre nedostatok pamäte namiesto použitia swapu. Pri častých udalostiach OOM po spustení skriptu zvýšte swappiness na 30–60 v <code>/etc/sysctl.d/99-memory.conf</code>."
},
"kexec": {
"heading": "Povoliť rýchle reštarty (kexec)",
"intro": "Nainštaluje <code>kexec-tools</code> a nastaví ich na priamy reštart hostiteľa do nového jadra <em>bez prechodu firmvérom BIOS/UEFI</em>. Na veľkých serveroch, kde POST trvá 45 – 90 sekúnd, sa tým reštart môže skrátiť z prestávky na kávu na niekoľko sekúnd výpadku.",
"installsTitle": "Čo nainštaluje ProxMenux",
"installsItems": [
"Balík <code>kexec-tools</code> (debconf má vopred nastavené <code>kexec-tools/load_kexec boolean false</code>, aby sa apt nepýtal a automatické načítanie pri vypínaní zostalo vypnuté).",
"Jednotka Systemd <code>/etc/systemd/system/kexec-pve.service</code> — načíta jadro Proxmox a initrd do pamäte pri zavádzaní, pričom opätovne použije aktuálny cmdline.",
"Alias v <code>/root/.bash_profile</code>: <code>reboot-quick</code> → <code>systemctl kexec</code>."
],
"usageIntro": "Použitie po ďalšom reštarte (alebo manuálnom <code>systemctl start kexec-pve</code>):",
"warnTitle": "Kedy nepoužívať kexec",
"warnBody": "kexec vynechá inicializáciu firmvéru. Ak BIOS/UEFI musí obnoviť stav hardvéru, napríklad GPU s passthrough vyžadujúca úplný POST alebo problémový firmvér HBA, reštart cez kexec môže nechať zariadenia čiastočne inicializované. Po aktualizácii jadra alebo pre zmeny BIOS/UEFI použite bežný <code>reboot</code>. <code>reboot-quick</code> je na každodenné reštarty."
},
"panic": {
"heading": "Zapnúť reštart pri kernel panic",
"intro": "Zabezpečí <strong>automatický reštart</strong> jadra namiesto trvalého zamrznutia na obrazovke paniky. Dôležité pri vzdialených hostiteľoch Proxmox bez lokálnej konzoly: pri zaseknutom jadre sú všetky VM nedostupné, kým hostiteľa nevypnete a znovu nezapnete.",
"tipTitle": "Skombinujte to s prístupom k vzdialenej konzole",
"tipBody": "Automatický reštart je mechanizmus obnovy, nie nástroj na ladenie. Ak chcete paniku <em>preskúmať</em>, nielen znovu spustiť systém, použite <link>možnosť kexec</link> vyššie s podporou kdump jadra, ktorú ProxMenux nenastavuje, alebo pred zapnutím automatického reštartu zachytávajte sériovú konzolu na inom hostiteľovi."
},
"verify": {
"heading": "Overenie",
"intro": "Po uplatnení optimalizácie systému:",
"tipTitle": "Obnova a obmedzenia",
"tipBody": "Všetkých šesť možností je v <code>installed_tools.json</code> a <link>Odinštalovať optimalizácie</link>. Obnova odstráni konfiguračné súbory, jednotku a alias kexec, prepíše journald.conf predvolenými hodnotami systemd a obnoví logrotate.conf zo zálohy. Niektoré aktívne limity vyžadujú novú reláciu alebo reštart."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Užitočné systémové príkazy",
"href": "/docs/help-info/system-commands",
"tail": " — overte zmeny (free -h, journalctl, ulimit -a)."
},
{
"label": "Výkon",
"href": "/docs/post-install/performance",
"tail": " — ďalšie systémové ladenie (pigz)."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — vráťte tieto zmeny späť."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
@@ -0,0 +1,271 @@
{
"meta": {
"title": "Odinštalovať optimalizácie | Dokumentácia ProxMenux",
"description": "Obnoví vratné zmeny konfigurácie vykonané cez ProxMenux po inštalácii. Zaznamenané nástroje majú vlastné odinštalačné funkcie, ktoré podľa možností zachovajú pôvodný stav hostiteľa."
},
"header": {
"title": "Odinštalovať optimalizácie",
"description": "Obnoviť reverzibilné zmeny vykonané automatizovanými alebo prispôsobiteľnými skriptmi po inštalácii. ProxMenux registruje každú podporovanú optimalizáciu s jeho špecializovanou funkciou obnovy; aktualizácie balíkov sú zámerne vylúčené.",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Prečo to existuje?",
"body": "Každá podporovaná vratná úprava sa <strong>zaznamená</strong> v <code>/usr/local/share/proxmenux/installed_tools.json</code>. Register riadi odinštalovanie: ukáže aktívne optimalizácie a spustí zodpovedajúcu obnovu. Akcie bez bezpečného návratu, napríklad úplná aktualizácia balíkov, sa nepridávajú."
},
"openMenu": {
"heading": "Ako to otvoriť",
"body": "V hlavnom menu otvorte <strong>Nastavenia Proxmox po inštalácii → Odinštalovať optimalizácie</strong>. Zobrazí sa zoznam <em>aktuálne použitých</em> optimalizácií; nepoužité položky sa nezobrazia.",
"imageAlt": "Zoznam Odinštalovať optimalizácie s aktívnymi úpravami hostiteľa a políčkami na výber obnovy"
},
"howWorks": {
"heading": "Ako reverzia účinkuje",
"steps": [
{
"title": "Register a autodetekcia",
"body1": "Pri prvom spustení ProxMenux hľadá rozpoznávacie znaky na hostiteľovi, napríklad <code>/etc/sysctl.d/99-memory.conf</code>, <code>/etc/apt/apt.conf.d/99-force-ipv4</code>, nainštalovaný balík <code>haveged</code> alebo aktívny Log2RAM. Nájdené úpravy pridá do registra ako vratné aj pri staršej verzii ProxMenux bez registra.",
"body2": "Migrácia prebehne iba raz. Potom každý zásah aj obnova aktualizujú register priamo."
},
{
"title": "Vyberte si, čo vrátiť",
"body1": "Zoznam má pre každú položku čitateľné označenie, napríklad <em>Optimalizácia pamäte</em>, <em>IOMMU/VFIO PCI passthrough</em> alebo <em>Log2RAM (ochrana SSD)</em>. Označte úpravy na obnovu; neoznačené sa nemenia."
},
{
"title": "Spustenie obnovy",
"body1": "Pre každú vybranú položku ProxMenux volá zodpovedajúcu funkciu odinštalovania. Väčšina zvratov nasleduje jeden z troch vzorov:",
"items": [
"<strong>Zo zálohy</strong> — obnoví <code>.bak</code> vytvorený pri použití úpravy (bashrc, logrotate.conf, journald.conf, príkazový riadok GRUB/jadra).",
"<strong>Odstránenie konfigurácie</strong> — odstráni súbory ProxMenux <code>/etc/sysctl.d/99-*.conf</code>, <code>/etc/apt/apt.conf.d/99-*</code> alebo jednotku systemd a znovu načíta nastavenia.",
"<strong>Preinštalovanie balíkov</strong> — pri zmenách rozhrania, napríklad upozornení na predplatné, preinštaluje pôvodné balíky s <code>--force-confnew</code> na obnovu dodanej konfigurácie."
],
"body2": "Každá obnova zaznamenáva priebeh. Položky vyžadujúce reštart (VFIO, trvalé názvy rozhraní) nastavia príznak, ktorý na konci vyvolá výzvu na reštart."
},
{
"title": "Reštart na konci",
"body1": "Po dokončení obnovy menu ponúkne reštart. Zmeny parametrov alebo modulov jadra a názvov rozhraní (VFIO, trvalé názvy) reštart vyžadujú; iné nie. Výzva je všeobecné bezpečnostné opatrenie, nie kontrola každej položky."
}
]
},
"reversible": {
"heading": "Čo je reverzibilné",
"intro": "Registrované reverzibilné optimalizácie a ich zodpovedajúce odinštalátory sú zoskupené podľa oblastí:",
"groups": [
{
"title": "Repozitáre a APT",
"items": [
{
"tool": "Odstránenie upozornenia na predplatné",
"restores": "Najprv skúsi obnoviť súbory rozhrania zo záloh ProxMenux (/usr/local/share/proxmenux/backups/proxmoxlib.js.backup.* a index.html.tpl.backup.* pri upravenom mobilnom rozhraní). Iba pri chýbajúcej alebo poškodenej zálohe preinštaluje pve-manager, proxmox-widget-toolkit, libjs-extjs a libpve-http-server-perl s force-confnew. Vyčistí aj kópie .js / .gz v cache."
},
{
"tool": "Preskočiť jazykové súbory APT",
"restores": "Odstráni /etc/apt/apt.conf.d/99-disable-translations, aby APT mohol sťahovať indexy preložených opisov balíkov podľa ostatných jazykových nastavení."
},
{
"tool": "Vynútiť IPv4 pre APT",
"restores": "Odstráni /etc/apt/apt.conf.d/99-force-ipv4."
},
{
"tool": "Systémové nástroje",
"restores": "Úplne odstráni iba vybrané balíky nástrojov, ktoré ProxMenux zaznamenal ako nové inštalácie. Pôvodné balíky sa do zoznamu nepridávajú a zostanú zachované."
}
]
},
{
"title": "Kernel, pamäť a systémové limity",
"items": [
{
"tool": "Nastavenie pamäte",
"restores": "Odstráni /etc/sysctl.d/99-memory.conf a znovu načíta sysctl."
},
{
"tool": "Nastavenie paniky jadra",
"restores": "Odstráni /etc/sysctl.d/99-kernelpanic.conf."
},
{
"tool": "Zvýšenie systémových limitov",
"restores": "Odstráni /etc/sysctl.d/99-maxwatches.conf, 99-maxkeys.conf, 99-swap.conf, 99-fs.conf a /etc/security/limits.d/99-limits.conf. Obnoví limity PAM a DefaultLimitNOFILE systemd. V /root/.profile odstraňuje iba starý ulimit -n 256000; aktuálny ulimit -n 1048576 môže zostať a vyžadovať ručné odstránenie."
},
{
"tool": "Profil výmeny ZRAM",
"restores": "Vypne swap /dev/zram0, zastaví dev-zram0.swap a odstráni /etc/systemd/zram-generator.conf.d/90-proxmenux.conf. Balík systemd-zram-generator úplne odstráni iba pri inštalácii cez ProxMenux a bez inej konfigurácie ZRAM. Ak sa stránky nedajú presunúť zo ZRAM, profil zostane aktívny a nič sa neodstráni."
}
]
},
{
"title": "Sieťovanie",
"items": [
{
"tool": "Optimalizácia siete",
"restores": "Odstráni /etc/sysctl.d/99-network.conf, 97-proxmenux-fwbr.conf a 98-proxmenux-rpf.conf, jednotku proxmenux-fwbr-tune.service, skript /usr/local/sbin/proxmenux-fwbr-tune a pravidlo udev /etc/udev/rules.d/99-zz-proxmenux-fwbr-tune.rules. Odstráni aj riadok source /etc/network/interfaces.d/* z /etc/network/interfaces. Znovu načíta sysctl, systemd a pravidlá udev."
},
{
"tool": "Open vSwitch",
"restores": "Spustí apt purge pre openvswitch-switch a openvswitch-common. Mosty OVS najprv migrujte na linuxové mosty, inak ich VM pri ďalšom štarte stratia sieť."
},
{
"tool": "TCP BBR + TCP Fast Open",
"restores": "Odstráni /etc/sysctl.d/99-kernel-bbr.conf a 99-tcp-fastopen.conf a načíta zvyšné sysctl. Odstránenie súborov neobnoví aktívne hodnoty; predvolené cubic a tcp_fastopen=1 sa vrátia po reštarte, ak ich neprepíše iná konfigurácia."
},
{
"tool": "Pretrvávajúce názvy rozhraní",
"restores": "Odstráni iba súbory 10-proxmenux-*.link s hlavičkou ProxMenux z /etc/systemd/network/. Všetky súbory .link iných balíkov alebo používateľa zostanú zachované. Po ďalšom reštarte sa obnoví predvolené pomenovanie systemd."
}
]
},
{
"title": "Zaznamenávanie",
"items": [
{
"tool": "Optimalizácia journald",
"restores": "Prepíše /etc/systemd/journald.conf s pôvodnými predvolenými hodnotami a reštartuje systemd-journald."
},
{
"tool": "Optimalizácia logrotate",
"restores": "Obnoví /etc/logrotate.conf zo súboru .bak zachytený pred zmenou."
},
{
"tool": "Log2RAM",
"restores": "Zastaví a zakáže službu a časovač. Čistí úlohy cron, jednotky systemd, binárne súbory, konfiguračné súbory a adresár /var/log.hdd. Tiež odinštaluje balík apt, ak bol nainštalovaný týmto spôsobom."
},
{
"tool": "Automatický TRIM ZFS",
"restores": "Prečíta /usr/local/share/proxmenux/zfs_autotrim_pools so skutočne zmenenými poolmi a na každom spustí zpool set autotrim=off. Ručne zapnutý autotrim spred ProxMenuxu ponechá."
}
]
},
{
"title": "Shell a vzhľad",
"items": [
{
"tool": "Prispôsobenie Bashrc",
"restores": "Obnovuje /root/.bashrc zo zálohy .bak. Ak neexistuje záloha, odstráni blok PMX_CORE_BASHRC pomocou markerov."
},
{
"tool": "Vlastný banner MOTD",
"restores": "Obnoví presný pôvodný obsah /etc/motd uložený v /usr/local/share/proxmenux, odstráni súbor, ak predtým neexistoval, alebo bezpečne odstráni starý marker pri migrácii staršej inštalácie."
},
{
"tool": "Fastfetch",
"restores": "Odstráni binárny súbor, konfiguračný adresár, hook update-motd a ohraničený blok BEGIN FASTFETCH / END FASTFETCH z /root/.bashrc, ~/.profile, /etc/profile a /etc/profile.d/fastfetch.sh. Úplne odstráni nainštalovaný balík apt."
},
{
"tool": "Figurine",
"restores": "Odstráni binárny súbor, záznam profile.d a blok aliasov v bashrc/profile."
}
]
},
{
"title": "Hardware & virtualizácia",
"items": [
{
"tool": "IOMMU / VFIO",
"restores": "Odstráni moduly vfio z /etc/modules, položky blokovania ovládačov nouveau / radeon / nvidia a parametre intel_iommu=on / amd_iommu=on / iommu=pt / pcie_acs_override z /etc/kernel/cmdline (ZFS) alebo GRUB. Znovu vytvorí initramfs."
},
{
"tool": "Opravy AMD CPU (Ryzen/EPYC)",
"restores": "Odstráni idle=nomwait z príkazového riadka jadra (ZFS) alebo GRUB a možnosti ignore_msrs / report_ignored_msrs z /etc/modprobe.d/kvm.conf."
},
{
"tool": "Hosťovský agent pre virtualizovaný hostiteľ Proxmox",
"restores": "Prečíta /usr/local/share/proxmenux/guest_agent.pkg a úplne odstráni zaznamenaný balík hostiteľa. Inštalátor vyberá qemu-guest-agent, open-vm-tools alebo virtualbox-guest-utils podľa hypervízora. Bez záznamu skúsi tieto tri balíky. Ide o vnorený hostiteľ Proxmox, nie šablóny hostí."
}
]
},
{
"title": "Úložisko",
"items": [
{
"tool": "Nastavenie veľkosti ARC ZFS",
"restores": "Odstráni /etc/modprobe.d/99-zfsarc.conf, obnoví konfliktné externé *.conf zo zálohy /usr/local/share/proxmenux/backups/zfs_arc/, znovu vytvorí initramfs a na hostiteľoch so systemd-boot spustí proxmox-boot-tool refresh."
},
{
"tool": "Automatické snímky ZFS",
"restores": "Odstráni položky cron zapísané skriptom a ponúkne apt purge zfs-auto-snapshot. Existujúce snímky v pooloch zostanú zachované; v prípade potreby ich odstráňte samostatne."
},
{
"tool": "Obmedzenia rýchlosti vzdump",
"restores": "Obnoví /etc/vzdump.conf zo zálohy .bak vytvorenej pri inštalácii a vráti bwlimit aj ionice na hodnoty pred ProxMenux."
}
]
},
{
"title": "Služby a doplnky",
"items": [
{
"tool": "Synchronizácia času",
"restores": "Nastaví časovú zónu späť do UTC (bezpečné predvolené) prostredníctvom timedatectl."
},
{
"tool": "Generovanie entropie (haveged)",
"restores": "Zastaví, vypne a úplne odstráni balík haveged."
},
{
"tool": "kexec (rýchly reštart)",
"restores": "Vypne kexec-pve.service, odstráni súbor jednotky a alias reboot-quick z /root/.bash_profile a úplne odstráni kexec-tools."
},
{
"tool": "Zakázať RPC / rpcbind",
"restores": "Obnoví rpcbind.service a rpcbind.socket každý samostatne na zaznamenaný stav zapnutia/vypnutia a aktivity/neaktivity spred ProxMenuxu."
},
{
"tool": "pigz (paralelný gzip)",
"restores": "Obnoví skutočný gzip z gzip.distrib, odstráni presmerovanie dpkg a /bin/pigzwrapper, zakomentuje riadok pigz v /etc/vzdump.conf a po overení gzip spustí apt purge pigz."
},
{
"tool": "Vysoko dostupné služby",
"restores": "Zastaví a vypne pve-ha-lrm, pve-ha-crm a corosync. Existujúce skupiny HA a definície zdrojov nevymaže; ak ich už nepotrebujete, odstráňte ich cez webové rozhranie."
},
{
"tool": "Repozitár Ceph",
"restores": "Úplne odstráni balíky Ceph z tejto možnosti, odstráni deb822 /etc/apt/sources.list.d/ceph.sources v PVE 9 alebo starý zoznam Ceph v PVE 8 a obnoví cache APT."
},
{
"tool": "OVH RTM (monitorovanie)",
"restores": "Úplne odstráni balíky zodpovedajúce ovh-rtm*, rtm a rtm-*, odstráni /etc/rtm a záznam RTM v registri. Zvyšky Puppet v /etc/puppet/ môžu vyžadovať ručnú kontrolu a čistenie; adresár sa neodstraňuje. Mimo OVH inštalátor zvyčajne nič nemení."
}
]
}
]
},
"edge": {
"heading": "Osobitné prípady a obmedzenia",
"packageTitle": "Preinštalovanie zasiahne používané balíky Proxmox",
"packageBody": "Ak zálohy ProxMenux nedokážu vrátiť <strong>Odstránenie upozornenia na predplatné</strong>, náhradný postup preinštaluje <code>pve-manager</code>, <code>proxmox-widget-toolkit</code>, <code>libjs-extjs</code> a <code>libpve-http-server-perl</code> s <code>--force-confnew</code>. Zasiahne bežiace webové rozhranie: obnovte prehliadač a počkajte pár sekúnd na spojenie. Nerobte to počas migrácie alebo klonovania.",
"rebootTitle": "Trvalé mená a VFIO potrebujú reštart",
"rebootBody": "Odstránenie súborov <code>10-proxmenux-*.link</code> (<em>Trvalé názvy rozhraní</em>) a vrátenie <em>IOMMU/VFIO</em> nemenia už spustený systém; prejavia sa po reštarte. ProxMenux automaticky nastaví príznak potreby reštartu.",
"perItemTitle": "Môžeš vrátiť jednu vec a zvyšok si nechať.",
"perItemBody": "Odinštalačný program funguje pre každú položku. Ak chcete odstrániť iba Log2RAM, ale zachovať ladenie siete a zmeny bashrc, začiarknite iba <em>Log2RAM</em>. Nič iného sa nedotkne a register sa podľa toho aktualizuje."
},
"inspect": {
"heading": "Manuálne sledovanie registra",
"intro": "Ak chcete vidieť, čo je sledované bez otvorenia menu:",
"outro": "Každý záznam <code>\"tool\": true</code> zodpovedá úprave, ktorú ProxMenux použil a dokáže vrátiť. Neodstraňujte záznamy ručne: použite menu, ktoré aj spustí obnovu namiesto toho, aby na zmenu iba zabudlo.",
"reinstallTitle": "Preinštalovať po odinštalovaní",
"reinstallBody": "Vrátenú optimalizáciu môžete neskôr použiť znova. Otvorte <link>menu po inštalácii</link> a spustite Automatické alebo Prispôsobiteľné; register zaznamená nový stav."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Automatizované po inštalácii",
"href": "/docs/post-install/automated",
"tail": " — znovu použite rozumnú základnú konfiguráciu."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — Vyber si inú podskupinu."
},
{
"label": "Odinštalovať ProxMenux",
"href": "/docs/settings/uninstall-proxmenux",
"tail": " — Rôzne operácie: odstraňuje ProxMenux sám, nie jeho aplikované optimalizácie."
},
{
"label": "Prehľad po inštalácii",
"href": "/docs/post-install",
"tail": "."
}
]
}
}
@@ -0,0 +1,112 @@
{
"meta": {
"title": "Aplikovať dostupné aktualizácie — Optimalizácie po inštalácii | Dokumentácia ProxMenux",
"description": "Ako ProxMenux zisťuje nové verzie optimalizácií po inštalácii (Log2Ram, nastavenia pamäte, limity systému, Logrotate, sieť…) a ako ich použiť cez menu po inštalácii alebo prehľad Monitor."
},
"header": {
"title": "Aplikovať dostupné aktualizácie",
"description": "Ak má optimalizácia po inštalácii (Log2Ram, nastavenia pamäte, limity systému, Logrotate…) na disku novšiu verziu než registrovanú, ProxMenux ju zobrazí ako dostupnú aktualizáciu. Možno ju použiť cez menu po inštalácii v skriptoch alebo cez prehľad Monitor. Obe cesty znovu spustia tú istú funkciu a aktualizujú register.",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo to je?",
"body": "Optimalizácie ProxMenux po inštalácii majú verzie, napríklad <code>Log2ram SSD Protection v1.2</code>. Hostiteľ eviduje aktívne optimalizácie a ich verzie v <code>/usr/local/share/proxmenux/installed_tools.json</code>. Ak nové vydanie ProxMenux prinesie novšiu optimalizáciu, zistí rozdiel a ponúkne opätovné použitie iba tejto položky bez spustenia celého skriptu po inštalácii."
},
"why": {
"heading": "Prečo to existuje?",
"body": "Optimalizácie po inštalácii sa priebežne zlepšujú: vhodnejšie nastavenia sysctl, prísnejšie limity Logrotate, nový odhad veľkosti Log2RAM alebo oprava okrajového prípadu nahláseného testerom. Bez aktualizačného postupu mal správca len dve možnosti: znovu spustiť celý poinštalačný skript, ktorý opäť použije <em>všetky</em> optimalizácie, alebo sa zlepšenia vzdať. Použiť dostupné aktualizácie umožňuje dobrovoľne znovu spustiť iba tie optimalizácie, ktorých verzia sa skutočne zmenila."
},
"detection": {
"heading": "Spôsob zistenia aktualizácií",
"steps": [
{
"title": "Verziované skripty na disku",
"body": "Každá funkcia po inštalácii deklaruje svoju verziu vo vnútri skriptu (<code>scripts/post_install/auto_post_install.sh</code> a <code>scripts/post_install/customizable_post_install.sh</code>). Scanner vyberá tieto verzie zo zdroja na disku."
},
{
"title": "Register verzií na hostiteľovi",
"body": "Pri použití každej optimalizácie príslušné volanie <code>register_tool</code> zapísalo aktívnu verziu do <code>/usr/local/share/proxmenux/installed_tools.json</code>. Tento súbor je rozhodujúcim záznamom toho, čo je na hostiteľovi práve aktívne."
},
{
"title": "Monitor porovnáva obe strany",
"body": "Pri štarte a každých 24 hodín Monitor porovná verzie na disku s registrom. Každý rozdiel vytvorí položku v <code>/usr/local/share/proxmenux/updates_available.json</code>. Súbor riadi položku menu po inštalácii aj kartu prehľadu Monitor."
},
{
"title": "Jedno oznámenie na novú verziu",
"body": "Ak čaká aspoň jedna aktualizácia, Monitor odošle jedno súhrnné oznámenie, napríklad <em>„Dostupné 4 aktualizácie optimalizácií ProxMenux“</em>, s riadkom pre každý nástroj vo formáte <code>name (vX → vY)</code>, ako pri balíkoch Proxmox. Pre rovnakú skupinu sa denne neopakuje; znovu ho vyvolá iba nová verzia alebo nový nástroj v zozname."
}
]
},
"pathA": {
"heading": "Cesta A — Z menu po inštalácii",
"intro": "V hlavnom menu ProxMenux otvorte <strong>Nastavenie Proxmoxu po inštalácii</strong>. Pri čakajúcich aktualizáciách sa nad <em>Odinštalovať optimalizácie</em> zobrazí <strong>Aplikovať dostupné aktualizácie (N)</strong>. Číslo udáva počet optimalizácií s novšou verziou na disku než v registri. Ak je všetko aktuálne, položka sa skryje.",
"menuAlt": "Menu skriptov po inštalácii s podmienenou položkou Aplikovať dostupné aktualizácie (N) nad Odinštalovať optimalizácie; počítadlo udáva počet novších verzií optimalizácií na disku",
"menuCaption": "<em>Aplikovať dostupné aktualizácie (N)</em> sa zobrazí iba pri čakajúcej aktualizácii aspoň jednej optimalizácie; pri aktuálnom hostiteľovi sa skryje.",
"checklistBody": "Otvorí výberový zoznam všetkých čakajúcich aktualizácií vo formáte <code>name (vX → vY)</code>. Všetky riadky sú predvolene zaškrtnuté; zrušte výber tých, ktoré teraz nechcete použiť.",
"checklistAlt": "Dialóg Aplikovať dostupné aktualizácie s riadkom pre každú čakajúcu optimalizáciu, názvom a zmenou verzie (aktuálna → dostupná). Všetky riadky sú zaškrtnuté.",
"checklistCaption": "Vyberte jednotlivé optimalizácie na aktualizáciu. Rovnaký mechanizmus ako Automatizované a Prispôsobiteľné znovu použije funkcie na pozadí a aktualizuje ich verzie v registri."
},
"pathB": {
"heading": "Cesta B — Z prehľadu Monitor",
"intro": "Rovnaké aktualizácie sú v Monitor pod <link>Nastavenia → Optimalizácie ProxMenux</link>. Karta zobrazí <strong>počítadlo čakajúcich aktualizácií</strong>, ktoré otvorí výber jednotlivých optimalizácií. Každý nástroj má aj vlastnú akciu aktualizácie.",
"imageAlt": "Karta Optimalizácie ProxMenux v nastaveniach Monitor s počítadlom čakajúcich aktualizácií na otvorenie výberu a akciami aktualizácie jednotlivých nástrojov",
"imageCaption": "Karta Optimalizácie v Monitor sprístupní aktualizácie cez počítadlo pri novšej verzii na disku bez prístupu do shellu."
},
"applying": {
"heading": "Čo sa stane po použití aktualizácie",
"steps": [
{
"title": "Znovu spustí funkciu po inštalácii",
"body": "Funkcia vybranej optimalizácie sa znovu spustí na hostiteľovi. Keďže každá poinštalačná funkcia je <strong>idempotentná</strong>, opakovanie nevytvára duplicitnú konfiguráciu: nahradí predchádzajúcu verziu novou, napríklad súbory sysctl, doplnkové konfigurácie a jednotky služieb."
},
{
"title": "Obnovuje register",
"body": "Volanie <code>register_tool</code> vo vnútri funkcie zapíše novú verziu do <code>installed_tools.json</code>. Ďalší sken už nevidí nesúlad a položka aktualizácie zmizne z menu aj z karty Monitor."
},
{
"title": "Žiadny reštart, pokiaľ to funkcia nepovie",
"body": "Väčšina aktualizácií sa prejaví okamžite. Tie, ktoré menia moduly jadra, trvalé názvy rozhraní alebo VFIO, zobrazia rovnakú výzvu na reštart ako pri prvej inštalácii."
},
{
"title": "Aktualizácia registra zaslaná monitoru",
"body": "Po dokončení dávky menu odošle požiadavku POST na <code>http://127.0.0.1:8008/api/updates/post-install/scan</code> na obnovu <code>/usr/local/share/proxmenux/updates_available.json</code>. Po použití všetkých aktualizácií zmizne ich počítadlo na karte Optimalizácie aj podmienená položka menu shellu bez čakania na ďalšiu kontrolu. Samotná karta zostane dostupná."
}
],
"jqTitle": "Vyžaduje sa jq",
"jqBody": "Výber na ceste A používa <code>jq</code> na spracovanie JSON čakajúcich aktualizácií. Ak <code>jq</code> chýba, postup sa potichu ukončí: menu ukáže počet, ale po výbere sa nič nestane. Moderná inštalácia Proxmox má <code>jq</code>; pri pochybnostiach spustite <code>apt install -y jq</code>."
},
"differs": {
"heading": "Ako sa líši od ostatných ciest",
"headerPath": "Path",
"headerScope": "Rozsah",
"headerWhen": "Keď to dáva zmysel",
"rows": [
{
"pathLabel": "Automatizované",
"pathHref": "/docs/post-install/automated",
"scope": "Znovu použije <em>všetky</em> optimalizácie v balíku.",
"when": "Nový hostiteľ alebo úplné obnovenie základných nastavení plne spravovaného uzla."
},
{
"pathLabel": "Prispôsobiteľné",
"pathHref": "/docs/post-install/customizable",
"scope": "Vyberte si z celého katalógu.",
"when": "Presne vybrať aktívne optimalizácie hostiteľa."
},
{
"pathLabel": "Nainštalovať dostupné aktualizácie",
"pathHref": null,
"scope": "Iba optimalizácie s novšou verziou na disku.",
"when": "Udržiavať nainštalované optimalizácie aktuálne bez zásahu do ostatných."
},
{
"pathLabel": "Odstrániť optimalizácie",
"pathHref": "/docs/post-install/uninstall",
"scope": "Vrátiť optimalizáciu a odstrániť jej položku registra.",
"when": "Vrátiť konkrétnu zmenu."
}
]
},
"notifTitle": "Ovládanie oznámenia",
"notifBody": "Čakajúce aktualizácie oznamuje udalosť <em>Dostupné aktualizácie optimalizácií ProxMenux</em>. Predvolene je povolená na každom kanáli a dá sa pre jednotlivé kanály stíšiť v <link>Nastavenia → Oznámenia</link>. Spustí sa iba raz pre každú odlišnú skupinu aktualizácií, nie pri každej kontrole po 24 hodinách."
}
@@ -0,0 +1,116 @@
{
"meta": {
"title": "Po inštalácii: Virtualizácia | Dokumentácia ProxMenux",
"description": "Možnosti virtualizácie v prispôsobiteľnom skripte ProxMenux po inštalácii: automaticky nainštaluje správneho hosťovského agenta, ak Proxmox beží vo VM, a povolí IOMMU / VFIO na priame priradenie zariadení PCI (GPU, NIC, HBA) vašim VM."
},
"header": {
"title": "Po inštalácii: Virtualizácia",
"section": "Nastavenie Proxmoxu po inštalácii"
},
"intro": {
"title": "Čo táto kategória zahŕňa",
"body": "Dve nezávislé možnosti. <strong>Nainštalovať vhodného hosťovského agenta</strong> pomáha, keď samotný Proxmox beží vnorený v inom hypervízore. <strong>Zapnúť podporu VFIO/IOMMU</strong> zaujíma väčšinu používateľov: povolí funkcie jadra na priame priradenie GPU, HBA alebo sieťovej karty do VM s takmer natívnym výkonom."
},
"guestAgent": {
"heading": "Nainštalovať vhodného hosťovského agenta",
"intro": "Zistí virtualizačné prostredie hostiteľa Proxmox pomocou <code>systemd-detect-virt</code> a <code>dmidecode</code> a nainštaluje príslušný balík hosťovských nástrojov na správnu komunikáciu s vonkajším hypervízorom: riadne vypnutie, synchronizácia času, hlásenie IP adresy atď.",
"headerDetected": "Detekovaný hostiteľ",
"headerPackage": "Inštalovaný balík",
"rows": [
{
"detected": "QEMU / KVM",
"package": "qemu-guest-agent"
},
{
"detected": "VMware (ESXi, Workstation)",
"package": "open-vm-tools"
},
{
"detected": "VirtualBox",
"package": "virtualbox-guest-utils"
},
{
"detected": "Bare metal (žiadne)",
"package": " — bez zmien, nič sa nenainštaluje"
}
],
"skipTitle": "Vynechajte pri Proxmox bežiacom priamo na hardvéri",
"skipBody": "Ak Proxmox beží priamo na hardvéri, čo je bežný prípad, zaškrtnutie nič nezmení: detektor vráti <code>none</code> a skript sa ukončí bez zmien. Možnosť má význam iba pre menšinu zostáv, kde Proxmox beží <em>ako hosť</em> na testovanie alebo v laboratóriu."
},
"vfio": {
"heading": "Zapnúť podporu VFIO/IOMMU",
"intro": "Zapne IOMMU na hostiteľovi a načíta moduly jadra na priame priradenie PCI (<code>vfio</code>, <code>vfio_iommu_type1</code>, <code>vfio_pci</code>). Fyzické zariadenie potom môžete priradiť do VM, ktorej hosť získa priamy prístup s takmer natívnym výkonom.",
"whoTitle": "Kto to potrebuje?",
"whoItems": [
"Chcete priamo priradiť GPU hernej VM s Windows alebo VM s macOS.",
"Máte vyhradenú 10G NIC pre firewall / router VM (OPNsense, pfSense).",
"Chcete priamo priradiť HBA do VM s TrueNAS/Unraid pre ZFS na fyzických diskoch.",
"Plánujete použiť <em>Coral TPU</em>, zachytávaciu kartu alebo SDR adaptér vo VM."
],
"whoOutro": "Ak nič z toho neplatí, môžete možnosť vynechať. Na sprístupnenie zariadenia kontajneru <strong>LXC</strong> namiesto VM sa IOMMU <em>nevyžaduje</em>.",
"doesTitle": "Čo robí ProxMenux",
"doesIntro": "Funkcia zohľadňuje zavádzač: zistí ZFS (systemd-boot) alebo LVM/ext4 (GRUB) a zapíše do správneho súboru. Je idempotentná — existujúce parametre nepridáva znovu.",
"headerBoot": "Typ zavádzania",
"headerFile": "Upravený súbor",
"headerPost": "Krok po aktualizácii",
"bootRows": [
{
"boot": "systemd-boot (ZFS)",
"file": "/etc/kernel/cmdline",
"post": "proxmox-boot-tool refresh"
},
{
"boot": "GRUB (LVM/ext4)",
"file": "/etc/default/grub",
"post": "update-grub"
}
],
"kernelIntro": "Pridané parametre jadra:",
"modulesIntro": "Moduly jadra pridané do <code>/etc/modules</code>:",
"blacklistIntro": "Konfliktné ovládače zakázané v <code>/etc/modprobe.d/blacklist.conf</code>:",
"blacklistTitle": "Zákaz ovládačov GPU je v konflikte s používaním GPU na hostiteľovi",
"blacklistBody": "Zoznam zakázaných ovládačov zabraňuje jadru hostiteľa priradiť <em>akýkoľvek</em> ovládač GPU, aby ju mohol prevziať VFIO. To chcete pri priamom priradení do VM, ale je to <strong>opak</strong> toho, čo treba na <link>inštaláciu ovládačov NVIDIA na hostiteľovi</link>, napríklad pre transkódovanie LXC. Pre každú GPU vyberte jednu cestu:",
"pathItems": [
"<strong>GPU → VM:</strong> povoľte tu VFIO/IOMMU a ponechajte ovládače GPU zakázané.",
"<strong>GPU → LXC (alebo hostiteľ):</strong> túto možnosť vynechajte, použite inštaláciu NVIDIA na hostiteľovi a nezakazujte nvidia/nouveau.",
"<strong>Dve GPU:</strong> jedna môže ísť do VM a druhá do LXC, ale treba presnejšiu konfiguráciu: priradiť iba jednu kartu k <code>vfio-pci</code> podľa PCI ID. Predvolený zoznam zákazov je príliš široký — potom upravte <code>blacklist.conf</code>."
],
"acsTitle": "O pcie_acs_override — vedzte, čo povoľujete",
"acsBody": "<code>pcie_acs_override=downstream,multifunction</code> uvoľňuje kontrolu PCIe Access Control Services. Umožňuje jadru rozdeliť skupiny IOMMU, ktoré firmvér označuje za nedeliteľné, čo je niekedy jediná cesta na priradenie jedného zariadenia bez ostatných. Nevýhodou je <strong>znížená izolácia medzi zariadeniami</strong>: škodlivá alebo kompromitovaná VM s priamym priradením má väčšiu útočnú plochu cez DMA. Pre domáce laboratórium prijateľné; pri nedôveryhodných záťažiach to dôkladne zvážte. Ak parameter nepotrebujete, po skripte ho odstráňte z <code>/etc/kernel/cmdline</code> alebo <code>/etc/default/grub</code> a znovu aktualizujte zavádzač.",
"rebootTitle": "Vyžaduje sa reštart",
"rebootBody": "IOMMU, moduly VFIO a zoznam zákazov sa prejavia po obnovení initramfs a reštarte. Skript spustí <code>update-initramfs -u -k all</code>, aktualizuje zavádzač a nastaví príznak „vyžaduje sa reštart“, aby sa Prispôsobiteľné na konci opýtalo.",
"verifyTitle": "Overenie po reštarte",
"revertTitle": "Reverzibilné z menu Odinštalovať",
"revertBody": "<link>Odinštalujte optimalizácie</link> vráti všetky zmeny: odoberie tokeny IOMMU <code>/etc/kernel/cmdline</code> alebo GRUB, odstráni moduly VFIO z <code>/etc/modules</code>, odstráni položky čiernej listiny ovládačov a prebuduje initramfs. Na skutočné použitie reverzie je potrebný reštart."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"label": "Pridať GPU do VM (passthrough)",
"href": "/docs/hardware/gpu-vm-passthrough",
"tail": " — prirodzený ďalší krok po povolení IOMMU + VFIO."
},
{
"label": "Pridať radič alebo NVMe do VM",
"href": "/docs/disk-manager/add-controller-nvme-vm",
"tail": " — rovnaká infraštruktúra priameho priradenia pre radiče úložísk."
},
{
"label": "Príkazy na priame priradenie GPU",
"href": "/docs/help-info/gpu-commands",
"tail": " — Referencia na overenie IOMMU."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — čisto vrátiť nastavenia IOMMU / VFIO."
},
{
"label": "Prispôsobiteľné nastavenia po inštalácii",
"href": "/docs/post-install/customizable",
"tail": " — späť do nadradeného menu."
}
]
}
}
+152
View File
@@ -0,0 +1,152 @@
{
"meta": {
"title": "Fail2Ban | Dokumentácia ProxMenux",
"description": "Nainštalujte Fail2Ban s tromi jails vyladenými pre Proxmox (SSH agresívny, Proxmox UI 8006, ProxMenux Monitor 8008). Zahŕňa opravu journald MaxLevelStore, vlastné protokolové služby pre spoľahlivosť, automaticky detekovaný backend nftables/iptables a zosilnenie SSH MaxAuthTries.",
"ogTitle": "Fail2Ban | Dokumentácia ProxMenux",
"ogDescription": "Ochrana pred hrubou silou pre SSH a webové rozhrania Proxmox s opravami journald a backendu špecifickými pre Proxmox."
},
"header": {
"title": "Fail2Ban",
"description": "Nainštaluje Fail2Ban pre Proxmox: tri jaily (agresívny SSH, rozhranie Proxmox na 8006, ProxMenux Monitor na 8008 a reverzný proxy), opravu úrovne journald na ukladanie udalostí SSH, dve služby kopírujúce denník do súborov na obídenie známeho problému backendu systemd, detekciu backendu firewallu a posilnenie SSH pomocou MaxAuthTries.",
"section": "Zabezpečenie"
},
"intro": {
"title": "Čo to robí?",
"body": "Inštaluje Fail2Ban z repozitárov Debian a vytvorí konfiguráciu Proxmox, ktorá ihneď chráni SSH, rozhranie Proxmox a ProxMenux Monitor. Ak rozpozná existujúcu inštaláciu, ponúkne menu správy na preinštalovanie alebo odstránenie."
},
"firstLaunch": {
"heading": "Dialóg prvého spustenia",
"body": "Ak Fail2Ban nie je nainštalovaný, skript zobrazí potvrdenie so súhrnom plánovanej inštalácie a konfigurácie. Zrušenie ukončí postup bez zmien; potvrdenie spustí inštaláciu.",
"imageAlt": "Potvrdenie inštalácie Fail2Ban s tromi jailmi, opravou journald a posilnením SSH"
},
"jails": {
"heading": "Tri jails",
"headerJail": "Jail",
"headerProtects": "Chráni",
"headerRetries": "Pokusy / Časové okno",
"headerBan": "Trvanie blokovania",
"rows": [
{
"jail": "[sshd]",
"protects": "SSH (agresívny režim — zahŕňa ddos, mode, normal)",
"retries": "2 / 60 min",
"ban": "9 hodín"
},
{
"jail": "[proxmox]",
"protects": "Webové rozhranie Proxmox (port 8006)",
"retries": "3 / 10 min",
"ban": "1 hodina"
},
{
"jail": "[proxmenux]",
"protects": "ProxMenux Monitor (port 8008 + http/https reverzný proxy)",
"retries": "3 / 10 min",
"ban": "1 hodina"
}
],
"outro": "Globálne predvolené hodnoty od <code>jail.local</code>: <code>ignoreip = 127.0.0.1/8 ::1</code>, <code>ignoreself = true</code>,<code> bantime = 86400</code> (24-hodinová rezerva pre jails ktoré to neprepíšu), <code>maxretry = 2</code>, <code>findtime = 1800</code>."
},
"journald": {
"heading": "Prečo je oprava journald dôležitá",
"intro": "Proxmox dodáva <code>/etc/systemd/journald.conf</code> s <codeNw>MaxLevelStore=warning</codeNw>. journald pred uložením zahodí správy s úrovňou <em>nižšou</em> než warning. SSH a PAM hlásia chyby overovania na úrovniach <em>info</em> / <em>notice</em>, preto:",
"diagram": {
"sshLabel": "SSH / PAM",
"sshDetail": "chyba overovania\n(úroveň info / notice)",
"journaldLabel": "journald",
"journaldDetail": "MaxLevelStore=warning\n→ udalosť sa bez upozornenia zahodí",
"fail2banLabel": "Fail2Ban",
"fail2banDetail": "nevidí nič\n→ nikdy nič nezakazuje",
"arrowLabel": "predvolený Proxmox"
},
"afterDiagram": "Inštalátor to rozpozná a vytvorí doplnkový súbor <codeXs>/etc/systemd/journald.conf.d/proxmenux-loglevel.conf</codeXs>, ktorý nastaví <code>MaxLevelStore</code> aj <code>MaxLevelSyslog</code> na <code>info</code>:",
"code": "[Journal]\nMaxLevelStore=info\nMaxLevelSyslog=info",
"outro": "Potom reštartuje <code>systemd-journald</code>. Pri odinštalovaní sa doplnkový súbor odstráni a obnoví sa pôvodné nastavenie Proxmox."
},
"loggers": {
"heading": "Prečo dve vlastné logger služby",
"intro1": "Fail2Ban môže čítať priamo denník systemd (<code>backend = systemd</code>), ale tento backend má na Proxmoxe známe problémy s pracovnými procesmi <code>pvedaemon</code>: udalosti overovania sa objavia v denníku, ale nie vždy sa zachytia. Problém sa občas týka aj <code>sshd</code>.",
"intro2": "ProxMenux vytvorí dve malé služby systemd, ktoré sledujú príslušné jednotky pomocou <code>journalctl -f</code> a pridávajú každý riadok do súboru. Fail2Ban číta tieto súbory spoľahlivým <code>backend = auto</code> (súborový režim):",
"headerService": "Služba",
"headerSource": "Zdrojová jednotka",
"headerOutput": "Výstupný súbor",
"rows": [
{
"service": "proxmox-auth-logger.service",
"source": "pvedaemon.service",
"output": "/var/log/proxmox-auth.log"
},
{
"service": "ssh-auth-logger.service",
"source": "ssh.service",
"output": "/var/log/ssh-auth.log"
}
],
"outro": "Obe služby sú deklarované ako <code>PartOf=fail2ban.service</code>, takže sa reštartujú s Fail2Ban a zastavia sa s ním. Režim 640, ktorý vlastní <code>root:adm</code> v súboroch denníka. Tretí protokol používaný <code>[proxmenux]</code> jail (<code>/var/log/proxmenux-auth.log</code>) je zapísaný priamo aplikáciou ProxMenux Monitor Flask – nie je potrebná žiadna služba zapisovača."
},
"backend": {
"heading": "Automatická detekcia backendu firewallu",
"intro": "Inštalátor sonduje hostiteľa: ak <code>nft list ruleset</code> funguje, vyberie <code>nftables</code> ako akciu zákazu. Inak sa vráti do <code>iptables-multiport</code> / <code>iptables-allports</code>. Voľba je napísaná do <code>jail.local</code>:",
"code": "# nftables host\nbanaction = nftables\nbanaction_allports = nftables[type=allports]\n\n# iptables host (fallback)\nbanaction = iptables-multiport\nbanaction_allports = iptables-allports"
},
"hardening": {
"heading": "Posilnenie SSH: MaxAuthTries",
"intro": "Kontrola Lynis <strong>SSH-7408</strong> odporúča <code>MaxAuthTries 3</code> v <code>sshd_config</code>. SSH jail používa <code>maxretry = 2</code> na blokovanie po opakovaných zlyhaniach; MaxAuthTries obmedzuje pokusy v rámci jedného spojenia. Toto nastavenie SSH pridáva ďalšiu vrstvu ochrany aj pri zastavení Fail2Ban počas údržby.",
"installerIntro": "Inštalátor:",
"items": [
"Číta aktuálnu hodnotu <code>MaxAuthTries</code> (alebo predvolené hodnoty 6 v prípade neprítomnosti).",
"Ukladá to na <code>/usr/local/share/proxmenux/sshd_maxauthtries_backup</code>.",
"Upraví <code>sshd_config</code> priamo: nahradí existujúci riadok, odkomentuje zakomentovaný alebo pridá nový.",
"Znova načíta <code>sshd</code> bez reštartu, aby existujúce relácie zostali aktívne."
],
"outro": "Na odinštalovanie je uložená pôvodná hodnota obnovená a <code>sshd</code> je znovu načítaná."
},
"manage": {
"heading": "Spravovať existujúcu inštaláciu",
"intro": "Ak je Fail2Ban nainštalovaný už pri otvorení ponuky, skript ho detekuje a zobrazí riadiace menu namiesto opätovného spustenia inštalátora:",
"headerAction": "Akcia",
"headerWhat": "Čo to robí?",
"rows": [
{
"action": "Preinštalovať",
"what": "Znova spustí celý inštalátor a prepíše všetky jaily aktuálnymi predvolenými hodnotami ProxMenux. Použite to, keď aktualizácia zmení odporúčané hodnoty."
},
{
"action": "Odstrániť",
"what": "Zastaví fail2ban a dve loggerové služby, vyčistí balík apt, odstráni všetky jail / súbory filtrov, odstráni drop-in journald (obnoví predvolené nastavenie Proxmox) a obnoví pôvodný SSH MaxAuthTries."
}
]
},
"verify": {
"heading": "Overte, či funguje.",
"intro": "Po inštalácii užitočné príkazy od hostiteľa:",
"code": "# Service status and version\nsystemctl status fail2ban\nfail2ban-client --version\n\n# All active jails\nfail2ban-client status\n\n# Detail on one jail\nfail2ban-client status sshd\nfail2ban-client status proxmox\nfail2ban-client status proxmenux\n\n# Currently banned IPs in a jail\nfail2ban-client status sshd | grep \"Banned IP\"\n\n# Manually unban an IP (use this if you ban yourself)\nfail2ban-client unban 192.0.2.10\n\n# Tail the auth logs Fail2Ban watches\ntail -f /var/log/ssh-auth.log\ntail -f /var/log/proxmox-auth.log\ntail -f /var/log/fail2ban.log"
},
"troubleshoot": {
"heading": "Riešenie problémov",
"neverBansTitle": "Fail2Ban beží, ale nikdy nič nezakazuje",
"neverBansBody": "Overte, či <code>tail -f /var/log/ssh-auth.log</code> dostane záznam po pokuse o SSH prihlásenie s nesprávnym heslom z iného počítača. Ak zostane prázdny, skontrolujte <code>systemctl status ssh-auth-logger.service</code>. Ak služba beží, prezrite udalosti príkazom <code>journalctl -u ssh.service -n 50 --no-pager -p info</code> a overte, či doplnková konfigurácia journald povoľuje úroveň <em>info</em>.",
"monitorEmptyTitle": "ProxMenux Monitor jail nemá žiadne položky ani po neúspešnom prihlásení",
"monitorEmptyBody": "<code>[proxmenux]</code> jail číta <code>/var/log/proxmenux-auth.log</code>, ktorý je napísaný aplikáciou ProxMenux Monitor Flask – nie zapisovačom journald. Ak nespustíte Monitor, súbor zostane prázdny a jail sa nikdy nespustí. To sa očakáva; konfigurácia jail je neškodná. Ak spustíte Monitor a protokol je prázdny, skontrolujte konfiguráciu protokolovania Flask.",
"selfBanTitle": "Zakázal som sám seba.",
"selfBanIntro": "Z konzoly / IPMI / iKVM (alebo inej povolenej IP adresy):",
"selfBanCode": "fail2ban-client unban '<'YOUR_IP'>'\n\n# To prevent it next time, edit /etc/fail2ban/jail.local and add your IP:\nignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 203.0.113.42\n\n# Then reload\nfail2ban-client reload",
"aptFailTitle": "apt-get zlyhá: ''Unable to locate package fail2ban''",
"aptFailBody": "Hostiteľovi chýbajú repozitáre Debian (bežné pri minimálnej inštalácii Proxmox). Inštalátor to rozpozná a pred opakovaním vytvorí <code>/etc/apt/sources.list.d/debian.sources</code> so správnym kódovým označením (<code>bookworm</code> / <code>trixie</code>). Ak chyba pretrváva, skontrolujte <code>VERSION_CODENAME</code> v <code>/etc/os-release</code> a dostupnosť URL repozitára.",
"lockoutTitle": "SSH ma po inštalácii zamkne",
"lockoutBody": "Inštalatér nastaví <code>MaxAuthTries=3</code>. Ak váš správca hesla / agent získa viac kľúčov, môžete to prekročiť pri jednom pokuse o pripojenie. Obmedzte ponúkané kľúče: <code>ssh -o IdentitiesOnly=yes -i ~/.ssh/specific_key user@host</code>. Alebo dočasne zvýšiť <code>MaxAuthTries</code> v <code>sshd_config</code>, zatiaľ čo vy ladíte."
},
"files": {
"heading": "Súbory napísané",
"code": "/etc/fail2ban/jail.local # global defaults + [sshd]\n/etc/fail2ban/jail.d/proxmox.conf # [proxmox]\n/etc/fail2ban/jail.d/proxmenux.conf # [proxmenux]\n/etc/fail2ban/filter.d/proxmox.conf # auth-failure regex for pvedaemon\n/etc/fail2ban/filter.d/proxmenux.conf # auth-failure regex for Monitor\n/etc/systemd/system/proxmox-auth-logger.service # journal → file (pvedaemon)\n/etc/systemd/system/ssh-auth-logger.service # journal → file (sshd)\n/etc/systemd/journald.conf.d/proxmenux-loglevel.conf # MaxLevelStore=info\n/etc/ssh/sshd_config # MaxAuthTries=3 (in-place edit)\n/var/log/proxmox-auth.log # written by logger service\n/var/log/ssh-auth.log # written by logger service\n/var/log/proxmenux-auth.log # written by Monitor Flask app\n/usr/local/share/proxmenux/sshd_maxauthtries_backup # for restore on uninstall"
},
"related": {
"heading": "Súvisiace",
"monitorLabel": "ProxMenux Monitor → Bezpečnostná karta",
"monitorTail": " — inštalácia z ovládacieho panela, aktuálny stav jailov, blokované IP adresy a nastavenie počtu pokusov a trvania blokovania pre každý jail v prehliadači.",
"lynisLabel": "Lynis",
"lynisTail": " — spustite bezpečnostný audit pred zmenou a po nej a overte splnenie kontroly SSH-7408.",
"securityLabel": "Prehľad bezpečnosti",
"securityTail": " — Späť na prehľad sekcie."
}
}
+70
View File
@@ -0,0 +1,70 @@
{
"meta": {
"title": "Zabezpečenie Proxmox — Fail2Ban a audit zabezpečenia Lynis | ProxMenux",
"description": "Dva bezpečnostné nástroje pre Proxmox VE: Fail2Ban (prevencia prienikov cez SSH, webové rozhranie Proxmox a ProxMenux Monitor) a Lynis (audit bezpečnosti a posilnenia zabezpečenia, inštalovaný z pôvodného repozitára GitHub).",
"ogTitle": "Zabezpečenie Proxmox — Fail2Ban a audit zabezpečenia Lynis",
"ogDescription": "Fail2Ban a Lynis pre Proxmox VE: prevencia prienikov a audit zabezpečenia, inštalované a spravované cez ProxMenux.",
"twitterTitle": "Zabezpečenie Proxmox | ProxMenux",
"twitterDescription": "Fail2Ban a Lynis pre Proxmox VE: prevencia prienikov a audit zabezpečenia."
},
"header": {
"title": "Zabezpečenie",
"description": "Dva doplnkové nástroje pre Proxmox VE: aktívna ochrana (Fail2Ban blokuje IP adresy útočiace na SSH alebo webové rozhrania) a lokálny audit (Lynis hľadá nedostatky zabezpečenia a udeľuje skóre 0–100). Každý má vlastné menu inštalácie a správy, ktoré pred každou akciou rozpozná existujúcu inštaláciu.",
"section": "Zabezpečenie"
},
"intro": {
"title": "Aktívna ochrana a lokálny audit",
"body": "Odpovedajú na rôzne otázky. <strong>Fail2Ban</strong> odpovedá na <em>„Útočí na nás niekto práve teraz?“</em> sledovaním protokolov overovania a blokovaním útočiacich IP adries. <strong>Lynis</strong> odpovedá na <em>„Ako dobre je tento hostiteľ zabezpečený?“</em> jednorazovým auditom a konkrétnymi odporúčaniami. Používajte oba: Lynis ukáže, čo zlepšiť, a Fail2Ban reaguje na prebiehajúce útoky."
},
"opening": {
"heading": "Otvorenie menu",
"body": "V hlavnom menu ProxMenux vyberte <strong>Zabezpečenie</strong>. Zobrazí sa toto:",
"imageAlt": "Bezpečnostné menu s možnosťami Fail2Ban a Lynis"
},
"pick": {
"heading": "Vyberte si nástroj",
"body": "Tieto dva nástroje sú nezávislé: nainštalujte jeden, oba alebo žiadny. Každá karta nižšie odkazuje na podrobný opis nástroja."
},
"cards": {
"fail2ban": {
"title": "Fail2Ban",
"body": "Aktívna prevencia prienikov. Sleduje protokoly overovania SSH a webových rozhraní a po opakovaných zlyhaniach blokuje IP adresy.",
"bullets": [
"Tri jails: SSH, Proxmox UI (8006), ProxMenux Monitor (8008)",
"Opravuje predvolené nastavenia Proxmox journald, ktoré blokujú protokoly overenia",
"Automaticky rozpozná nftables / iptables",
"Posilnenie SSH: MaxAuthTries=3 (odporúčanie Lynis)"
]
},
"lynis": {
"title": "Lynis",
"body": "Lokálny bezpečnostný audítor. Preskúma hostiteľa a zobrazí skóre zabezpečenia a konkrétne odporúčania na nápravu.",
"bullets": [
"Inštalované z pôvodného repozitára CISOfy na GitHube (najnovšia verzia)",
"Skóre zabezpečenia 0–100 a zoznam upozornení a návrhov",
"Audit a aktualizácia priamo v menu",
"Navrhnuté iba na čítanie: nikdy nemení systém"
]
}
},
"workflowTip": {
"title": "Pracovný tok, ktorý využíva oboje",
"body": "Najprv spustite audit Lynis, aby ste poznali počiatočné skóre a hlavné odporúčania. Použite vybrané opravy. Potom nainštalujte Fail2Ban: automaticky zavedie ochranu SSH pred hrubou silou a upraví <code>MaxAuthTries</code> v <code>sshd_config</code> podľa kontroly SSH-7408. Opätovným auditom Lynis overte zlepšenie."
},
"fail2banSection": {
"heading": "Fail2Ban",
"body": "ProxMenux inštaluje Fail2Ban s konfiguráciou pre Proxmox. Okrem štandardného SSH jailu chráni webové rozhranie Proxmox a ProxMenux Monitor. Obchádza dva špecifické problémy: predvolené nastavenie journald zahadzujúce udalosti overovania a problém backendu systemd, ktorý bráni spoľahlivému čítaniu niektorých zdrojov systémového denníka. Podrobná stránka vysvetľuje inštaláciu, tri jaily, opravu journald, posilnenie SSH a riešenie problémov.",
"optionTitle": "Fail2Ban — inštalácia a správa",
"optionDescription": "Tri predkonfigurované jaily (agresívny režim sshd, rozhranie Proxmox na 8006, ProxMenux Monitor na 8008 a reverzný proxy), detekcia nftables/iptables, oprava journald a posilnenie SSH pomocou MaxAuthTries."
},
"lynisSection": {
"heading": "Lynis",
"body": "ProxMenux klonuje Lynis z <code>github.com/CISOfy/lynis</code> do <code>/opt/lynis</code> a sprístupní ho ako <code>/usr/local/bin/lynis</code>. Balík Debian zámerne nepoužíva, pretože za pôvodným projektom zaostáva o viacero hlavných verzií. Podrobná stránka opisuje inštaláciu, audit, aktualizáciu, odinštalovanie, čítanie správy a riešenie zistení.",
"optionTitle": "Lynis — inštalácia, audit a správa",
"optionDescription": "Nainštaluje najnovší Lynis z oficiálneho repozitára CISOfy na GitHube (namiesto staršieho balíka Debian), vykonáva audity systému so skóre zabezpečenia a aktualizuje cez git pull."
},
"componentStatus": {
"heading": "Stav komponentu",
"body": "Obaja inštalátori registrujú svoj stav v <code>/usr/local/share/proxmenux/components_status.json</code> v kategórii <code>security</code>. ProxMenux používa tento súbor na rozhodnutie, či zobraziť inštaláciu alebo menu správy pri následných spusteniach, a rovnaké dáta napája palubnú dosku v ProxMenux Monitor keď je prítomný."
}
}
+170
View File
@@ -0,0 +1,170 @@
{
"meta": {
"title": "Lynis | Dokumentácia ProxMenux",
"description": "Nainštalujte najnovší Lynis z oficiálneho repozitára CISOfy na GitHube, vykonajte audit so skóre zabezpečenia 0–100 a aktualizujte cez git pull. Audítor iba na čítanie: nemení systém.",
"ogTitle": "Lynis | Dokumentácia ProxMenux",
"ogDescription": "Nainštalujte a spustite bezpečnostný audítor Lynis na Proxmox VE. Inštalácia z pôvodného repozitára GitHub, audit a aktualizácia."
},
"header": {
"title": "Lynis",
"description": "Klonuje najnovší Lynis z oficiálneho repozitára CISOfy na GitHube, sprístupní ho ako /usr/local/bin/lynis a v menu ponúka audit, aktualizáciu, preinštalovanie a odinštalovanie. Audítor iba číta a vytvára správy bez zmeny systému.",
"section": "Zabezpečenie"
},
"intro": {
"title": "Čo to robí?",
"body": "Nainštaluje Lynis, bezpečnostný audítor s otvoreným zdrojovým kódom od CISOfy, z jeho repozitára GitHub do <code>/opt/lynis</code> a vytvorí spúšťací skript <code>/usr/local/bin/lynis</code>, aby bol dostupný cez <code>PATH</code>. Ak rozpozná existujúcu inštaláciu, zobrazí menu auditu, aktualizácie, preinštalovania alebo odstránenia."
},
"manageMenu": {
"heading": "Menu správy (po inštalácii)",
"intro": "Keď je Lynis nainštalovaný, každé následné vyvolanie otvorí menu správy namiesto opätovného spustenia inštalátora. Odtiaľ spustíte audit, aktualizáciu prostredníctvom git pull, preinštalovať alebo odinštalovať:",
"imageAlt": "Lynis management menu s auditom, aktualizácia, preinštalovať a odstrániť možnosti"
},
"whyUpstream": {
"heading": "Prečo pôvodný repozitár GitHub namiesto apt",
"intro": "Debian poskytuje Lynis cez apt, ale balík zvyčajne zaostáva o viacero hlavných verzií. Nové kontroly, opravy nových vektorov útoku a vylepšené odporúčania prichádzajú najprv na GitHub. Lynis je samostatný shellový skript bez kompilácie a inštalačných závislostí okrem <code>git</code>; klonovanie repozitára je preto metóda odporúčaná CISOfy.",
"headerSource": "Zdroj",
"headerPath": "Install path",
"headerUpdate": "Spôsob aktualizácie",
"headerFresh": "Aktuálnosť verzie",
"rows": [
{
"sourceRich": "<strong>ProxMenux (tento skript)</strong>",
"path": "/opt/lynis/",
"update": "git pull (v menu)",
"fresh": "Najnovšia verzia pôvodného projektu"
},
{
"sourceRich": "<strong>Debian apt</strong>",
"path": "/usr/bin/lynis",
"update": "apt upgrade",
"fresh": "Často mesiace / roky pozadu"
}
]
},
"install": {
"heading": "Ako funguje inštalácia",
"node1Label": "github.com/CISOfy/lynis",
"node1Detail": "git clone\n(najprv nainštaluje git, ak chýba)",
"node2Label": "/opt/lynis/",
"node2Detail": "celý repozitár\nvrátane skriptu ./lynis",
"node3Label": "/usr/local/bin/lynis",
"node3Detail": "obal:\ncd /opt/lynis && ./lynis $@",
"outro": "Balíčk je povinný – Lynis trvá na tom, aby bol spustený z vlastného adresára, pretože načítava relatívne cesty pre zásuvné moduly a údaje profilu. Obal tento detail skrýva, takže <code>lynis audit system</code> jednoducho funguje odkiaľkoľvek."
},
"detection": {
"heading": "Zisťovacie cesty",
"intro": "Pred zobrazením menu skript kontroluje tri miesta, aby rozhodol, či je Lynis už prítomný:",
"items": [
"<code>/usr/local/bin/lynis</code> Wrapper nainštalovaný ProxMenux",
"<code>/opt/lynis/lynis</code> — priama cesta, ak bol spúšťací skript odstránený",
"<code>/usr/bin/lynis</code> — verzia nainštalovaná cez apt, ak ju používateľ nainštaloval týmto spôsobom"
],
"outro": "Ak sa nájde niektorá z ciest, otvorí sa menu správy. Skript <strong>neodinštaluje</strong> Lynis nainštalovaný cez apt; odstráni iba vlastnú inštaláciu v <code>/opt/lynis</code> a jej spúšťací skript."
},
"audit": {
"heading": "Spustiť audit",
"intro": "V menu správy vyberte <strong>Spustiť bezpečnostný audit teraz</strong>. Zodpovedá to spusteniu:",
"code": "lynis audit system --no-colors",
"outro": "Audit trvá od 30 sekúnd do niekoľkých minút podľa veľkosti hostiteľa. Výstup ide priamo do terminálu bez animácie čakania. Lynis člení kontroly podľa kategórií a každý test označí ako <ok>[ OK ]</ok>, <warn>[ WARNING ]</warn> alebo <sugg>[ SUGGESTION ]</sugg>. Záverečné zhrnutie ukazuje hlavné údaje:",
"summary": "================================================================================\n\n Lynis security scan details:\n\n Hardening index : 76 [############ ]\n Tests performed : 247\n Plugins enabled : 0\n\n Components:\n - Firewall [V]\n - Malware scanner [X]\n\n Lynis modules:\n - Compliance status [?]\n - Security audit [V]\n - Vulnerability scan [V]\n\n================================================================================"
},
"report": {
"heading": "Čítanie správy",
"intro": "Dve dôležité časti sú <strong>Upozornenia</strong> (veci, ktoré by ste mali čoskoro opraviť) a <strong>Návrhy</strong> (odporúčania na zlepšenie vytvrdzovania). Každá položka nesie kontrolné ID ako <code>SSH-7408</code> – užitočné pri hľadaní zdôvodnenia a opravy v dokumentoch Lynis.",
"headerMarker": "Značka",
"headerMeaning": "Význam",
"headerAction": "Akcia",
"rows": [
{
"markerRich": "<strong>OK</strong>",
"meaning": "Skúška prešla",
"action": "Nič."
},
{
"markerRich": "<strong>WARNING</strong>",
"meaning": "Skutočný problém; odporúčaná oprava",
"action": "Prečítajte si kontrolný popis, naplánujte opravu"
},
{
"markerRich": "<strong>SUGGESTION</strong>",
"meaning": "Možné zlepšenie zabezpečenia",
"action": "Aplikujte, ak vyhovuje vášmu modelu hrozby"
}
],
"outro": "Kompletná správa a strojovo čitateľné údaje sú napísané <code>/var/log/lynis.log</code> a <code>/var/log/lynis-report.dat</code> samotným Lynisom."
},
"pairFail2ban": {
"title": "Používajte spolu s Fail2Ban",
"body": "SSH-7408 (MaxAuthTries) je jedným z najčastejších varovaní. Inštalácia <link>Fail2Ban</link> od ProxMenux automaticky ho vymaže, pretože inštalátor nastaví <code>MaxAuthTries=3</code> ako súčasť SSH tvrdnúci krok. Spustite znova Lynis potom potvrdiť, že varovanie je preč."
},
"update": {
"heading": "Aktualizácia Lynis",
"body": "V menu možnosť <strong>Aktualizovať Lynis na najnovšiu verziu</strong> spustí <code>git pull --quiet</code> v <code>/opt/lynis</code>. Ak adresár existuje, ale nie je pracovnou kópiou Git, napríklad po ručnom kopírovaní súborov, skript vykoná úplnú preinštaláciu."
},
"reinstall": {
"heading": "Preinštalovať/odinštalovať",
"headerAction": "Akcia",
"headerWhat": "Čo to robí?",
"rows": [
{
"actionRich": "<strong>Preinštalovať</strong>",
"whatRich": "Odstráni <code>/opt/lynis</code>, znova klonuje z GitHubu a vytvorí spúšťací skript. Použite pri poškodenej miestnej pracovnej kópii."
},
{
"actionRich": "<strong>Odstrániť</strong>",
"whatRich": "Odstráni <code>/opt/lynis</code> a <code>/usr/local/bin/lynis</code>. Záznamy na <code>/var/log/lynis*</code> sú vedené (sú audit histórie). Apt-inštalovaný Lynis na <code>/usr/bin/lynis</code> zostáva nedotknutý."
}
]
},
"cli": {
"heading": "Užitočné možnosti CLI",
"intro": "Po nainštalovaní sa Lynis môže použiť priamo z shellu s extra možnosťami, ktoré nie sú vystavené menu:",
"code": "lynis show version # version + build date\nlynis show commands # list every available command\nlynis show details TEST-ID # explain a specific control\nlynis audit system --quick # skip slow tests (e.g. malware scan)\nlynis audit system --pentest # treat host as untrusted (more aggressive)\nlynis update info # check if a newer Lynis is available\n\n# Filter the report log for just the warnings\ngrep \"Warning\" /var/log/lynis.log\n\n# Same, for suggestions only\ngrep \"Suggestion\" /var/log/lynis.log"
},
"troubleshoot": {
"heading": "Riešenie problémov",
"cloneTitle": "git clone počas inštalácie zlyhá",
"cloneBody": "Hostiteľ potrebuje prístup k sieti a DNS dosiahnuť <code>github.com</code>. Z konzoly: <code>curl -sI https://github.com</code> a <code>git ls-remote https://github.com/CISOfy/lynis.git</code> odhalí skutočnú chybu (DNS, TLS, proxy, repo URL). Ak sa vyžaduje proxy, nastavte <code>https_proxy</code> v prostredí pred opätovným spustením menu.",
"notFoundTitle": "lynis: príkaz nenájdený po inštalácii",
"notFoundIntro": "Obal na <code>/usr/local/bin/lynis</code> buď nebol vytvorený, alebo bol odstránený. Najrýchlejšia oprava: preinštalovať z menu. Ručné nastavenie:",
"notFoundCode": "cat > /usr/local/bin/lynis <<'EOF'\n#!/bin/bash\ncd /opt/lynis && ./lynis \"$@\"\nEOF\nchmod +x /usr/local/bin/lynis",
"sshTitle": "Audit zobrazuje \"Warning: Test SSH-7408 — MaxAuthTries set incorrectly\"",
"sshIntro": "Démon SSH umožňuje príliš veľa auth pokusov na pripojenie. Buď nainštalujte <link>Fail2Ban</link> z ProxMenux (ktorý nastaví <code>MaxAuthTries=3</code>), alebo editujte <code>/etc/ssh/sshd_config</code> ručne:",
"sshCode": "sed -i 's/^#?MaxAuthTries.*/MaxAuthTries 3/' /etc/ssh/sshd_config\nsystemctl reload sshd",
"scoreTitle": "Skóre klesol po upgrade Proxmox",
"scoreBody": "Najprv spustite <code>lynis update info</code>; aktualizácia Lynis mohla pridať kontroly, ktoré upozorňujú na existujúcu konfiguráciu. Aktualizujte Lynis z menu, zopakujte audit a riešte nové zistenia."
},
"files": {
"heading": "Súbory napísané",
"code": "/opt/lynis/ # full Lynis git checkout\n/usr/local/bin/lynis # wrapper script (cd + exec)\n/var/log/lynis.log # human-readable audit log (Lynis itself)\n/var/log/lynis-report.dat # machine-readable report (Lynis itself)"
},
"sample": {
"heading": "Ukážková správa",
"intro": "ProxMenux Monitor vytvorí pre každé spustenie Lynis viacstranové PDF dostupné na <link>karte Zabezpečenie</link>. Prvá strana obsahuje skóre zabezpečenia, údaje o systéme a prehľad bezpečnostného stavu. Ďalšie strany vysvetľujú každé upozornenie, zoradia návrhy podľa vplyvu a uvedú inventár balíkov použitý pri audite.",
"imageAlt": "Prvá strana PDF bezpečnostného auditu Lynis: zhrnutie so skóre zabezpečenia 71/100, systémovými informáciami a prehľadom firewallu, skenera škodlivého softvéru a počtu nainštalovaných balíkov",
"captionPrefix": "Prvá strana ukážkovej správy. Úplné PDF (",
"captionLink": "vzorka",
"captionSuffix": ") pokračuje podrobnými upozorneniami, návrhmi a zoznamom nainštalovaných balíkov.",
"cli": "Rovnaké údaje sú v CLI v súbore <code>/var/log/lynis-report.dat</code> (strojovo čitateľný textový súbor) a <code>/var/log/lynis.log</code> (čitateľný denník spustenia). PDF vytvára na požiadanie ProxMenux Monitor; spustenie <code>lynis</code> z príkazového riadka PDF nevytvorí."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/monitor/dashboard/security",
"label": "ProxMenux Monitor → Bezpečnostná karta",
"tail": "— spustite audit, prezerajte historické správy a stiahnite si PDF priamo z hlavného panela."
},
{
"href": "/docs/security/fail2ban",
"label": "Fail2Ban",
"tailRich": " — zavádza ochranu SSH pred hrubou silou, ktorú odporúča Lynis."
},
{
"href": "/docs/security",
"label": "Prehľad bezpečnosti",
"tail": " — Späť na prehľad sekcie."
}
]
}
}
@@ -0,0 +1,169 @@
{
"meta": {
"title": "HTTPS pre ProxMenux Monitor — certifikát hostiteľa Proxmox alebo vlastné cesty | ProxMenux",
"description": "Sprístupnite ProxMenux Monitor cez HTTPS s automaticky rozpoznaným certifikátom hostiteľa Proxmox vrátane Let’s Encrypt nainštalovaného cez ACME Proxmox, alebo s vlastným certifikátom na ľubovoľnej ceste na disku.",
"ogTitle": "HTTPS pre ProxMenux Monitor — certifikát hostiteľa Proxmox alebo vlastný certifikát",
"ogDescription": "Povoľte HTTPS na porte 8008 s certifikátom hostiteľa Proxmox alebo vlastnou dvojicou .pem / .key."
},
"header": {
"title": "HTTPS pre ProxMenux Monitor",
"description": "Zapnite HTTPS pre Monitor na porte 8008 s automaticky rozpoznaným certifikátom hostiteľa Proxmox alebo vlastným certifikátom na disku. Možnosť Proxmox uprednostní certifikát ACME, ak existuje, a znovu použije Let’s Encrypt spravovaný Proxmoxom bez ďalšej úlohy obnovy.",
"section": "Zabezpečenie"
},
"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."
},
"wheresetting": {
"heading": "Kde nájdete nastavenie",
"body": "Otvorte Monitor a prejdite na <strong>Nastavenia → Zabezpečenie → HTTPS / SSL</strong>. 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."
},
"twoways": {
"heading": "Dva spôsoby, ako umožniť HTTPS",
"proxmox": {
"title": "Použiť Proxmox certifikát",
"summary": "Jedno kliknutie: Monitor použije certifikát, ktorý Proxmox VE poskytuje na porte 8006.",
"items": [
"Automaticky rozpoznané, bez zadávania ciest",
"Uprednostní certifikát ACME, ak existuje; inak použije predvolený certifikát s vlastným podpisom",
"Proxmox spravuje obnovu; Monitor overí a načíta certifikát pri nasledujúcom novom spojení TLS"
]
},
"custom": {
"title": "Použiť vlastný certifikát",
"summaryRich": "Nastavte Monitor tak, aby používal dvojicu <code>.pem</code> / <code>.key</code> uloženú kdekoľvek na disku.",
"items": [
"Iba absolútne cesty (proces monitora musí byť schopný čítať oboje)",
"Užitočné pre certifikáty z <code>certbot</code>, <code>acme.sh</code> alebo wildcard certifikáty",
"Obnovu spravujete vy: po zmene súborov reštartujte Monitor"
]
}
},
"proxmoxCert": {
"heading": "Certifikát Proxmox — na čo skutočne ukazuje",
"intro": "Proxmox VE uchováva dva páry certifikátov v <code>/etc/pve/local/</code>:",
"table": {
"headers": {
"file": "Súbor",
"origin": "Pôvod",
"when": "Keď ho Monitor používa"
},
"rows": [
{
"fileRich": "<code>pveproxy-ssl.pem</code><br /><code>pveproxy-ssl.key</code>",
"originRich": "Vlastný certifikát nahraný cez rozhranie Proxmox vrátane certifikátu Let’s Encrypt vydaného cez <em>Datacenter → Node → Certificates → ACME</em>.",
"when": "Uprednostní sa, ak existujú oba súbory; Monitor použije certifikát poskytovaný Proxmoxom."
},
{
"fileRich": "<code>pve-ssl.pem</code><br /><code>pve-ssl.key</code>",
"originRich": "Samopodpísaný certifikát vytvorený v čase inštalácie spoločnosťou Proxmox PKI.",
"whenRich": "Náhradný certifikát, ak <code>pveproxy-ssl.pem</code> neexistuje."
}
]
},
"callout": {
"title": "Rovnaká priorita ako samotný Proxmox",
"bodyRich": "<code>pveproxy</code> používa rovnaké pravidlo výberu. Pri možnosti Proxmox Monitor použije certifikát webového rozhrania Proxmox na porte 8006 bez kopírovania a samostatného procesu obnovy."
}
},
"letsencrypt": {
"heading": "Získanie certifikátu Let's Encrypt cez Proxmox ACME",
"intro": "Proxmox VE obsahuje vlastného klienta ACME. <em>„Order Certificate Now“</em> uloží výsledok do <code>/etc/pve/local/pveproxy-ssl.pem</code>, ktorý Monitor číta. Nasledujúcich päť krokov zhŕňa <extlink1>oficiálnu príručku Proxmox</extlink1> do potrebných príkazov.",
"prereqs": {
"title": "Predpoklady",
"items": [
"Uzol má skutočný názov DNS (nielen IP) ukazuje na to.",
"<strong>Buď</strong> port 80 dostupný z internetu (overenie HTTP-01, najjednoduchšie), <strong>alebo</strong> poskytovateľ DNS s prihlasovacími údajmi API (DNS-01, funguje za NAT a podporuje wildcard certifikáty).",
"E-mailová adresa pre účet ACME."
]
},
"step1": {
"heading": "Krok 1 — Zaregistrujte účet ACME",
"introRich": "Nahraďte e-mail vlastnou adresou. Názov účtu <code>default</code> je iba označenie; môžete použiť ľubovoľný reťazec.",
"code": "pvenode acme account register default you@example.com",
"afterRich": "Proxmox vyžiada súhlas s podmienkami služby Let’s Encrypt. Potom uloží účet do <code>/etc/pve/priv/acme/</code> a zobrazí ho na karte ACME v grafickom rozhraní."
},
"step2": {
"heading": "Krok 2 — Vyberte typ overenia",
"http01Rich": "<strong>HTTP-01</strong> je najjednoduchší: je zabudovaný, bez ďalšieho pluginu. Let's Encrypt sa pripája k <code>http://&lt;your-host&gt;/.well-known/acme-challenge/...</code> na porte 80, takže port 80 musí byť otvorený z verejného internetu do vášho uzla – zvyčajne port forward na vašom smerovači.",
"dns01Rich": "<strong>DNS-01</strong> funguje bez sprístupnenia portu 80, takže je vhodné pre domáce laby za CG-NAT, a je jedinou možnosťou pre wildcard certifikáty. Jednorazovo pridajte DNS doplnok s tokenom API poskytovateľa. Príklad pre Cloudflare:",
"code": "pvenode acme plugin add dns cf \\\n --api cloudflare \\\n --data CF_Token=YOUR_CLOUDFLARE_API_TOKEN",
"outroRich": "Pre iných poskytovateľov (Gandi, OVH, AWS Route 53 atď.) použite <code>pvenode acme plugin add dns --help</code>. Proxmox obsahuje <extlink2>všetky DNS doplnky acme.sh</extlink2>."
},
"step3": {
"heading": "Krok 3 — Priraďte doménu k uzlu",
"http01Rich": "Pre HTTP-01 (používa vstavaný <code>standalone</code> modul):",
"code1": "pvenode config set --acme domains=host.example.com,account=default",
"dns01": "Pre DNS-01 s plugin Cloudflare zo Step 2:",
"code2": "pvenode config set --acmedomain0 domain=host.example.com,plugin=cf\npvenode config set --acme account=default",
"wildcardRich": "Wildcard? Pridať <code>domain=*.example.com</code> na samostatnú položku <code>--acmedomainN</code>. Wildcards vyžadujú DNS-01."
},
"step4": {
"heading": "Krok 4 — Vyžiadajte certifikát",
"code": "pvenode acme cert order",
"afterRich": "Prvý beh zvyčajne trvá 30–60 sekundy, kým sa výzva šíri. O úspechu Proxmox píše <code>/etc/pve/local/pveproxy-ssl.pem</code> + <code>.key</code>, reštartuje <code>pveproxy</code>, a obnovenie cron je naplánované automaticky (Let's Encrypt Certs sú platné 90 dní; Proxmox obnovuje pri 60)."
},
"step5": {
"heading": "Krok 5 — Overte vydavateľa",
"code": "openssl x509 -in /etc/pve/local/pveproxy-ssl.pem -noout -issuer",
"afterRich": "Výstup má obsahovať vydavateľa začínajúceho <code>O = Let's Encrypt</code>. Ak uvádza <code>CN = Proxmox Virtual Environment</code>, požiadavka zlyhala a súbor je stále certifikát PVE s vlastným podpisom. Príčinu zistíte opätovným spustením <code>pvenode acme cert order --debug 1</code>."
},
"gui": {
"title": "Preferujete GUI? Rovnakých päť krokov",
"bodyRich": "<em>Datacenter → ACME</em> zaregistruje účet; <em>Datacenter → ACME → Plugins</em> pridá DNS doplnok; <em>Node → Certificates → ACME</em> priradí doménu; <em>Order Certificates Now</em> vykoná krok 4. Uvedené príkazy CLI sú vhodné na skriptovanie a systémy bez grafického rozhrania."
}
},
"switchToHttps": {
"heading": "Prepnúť monitor na HTTPS",
"bodyRich": "Keď je <code>/etc/pve/local/pveproxy-ssl.pem</code> podpísaný Let's Encrypt, otvorte <strong>Nastavenia → Zabezpečenie → HTTPS / SSL</strong>, overte vydavateľa <em>Let's Encrypt</em> namiesto miestnej CA Proxmox a kliknite na <strong>Použiť certifikát Proxmox</strong>. 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. <strong>Aktualizovať certifikát</strong> zostáva v Zabezpečení dostupné na diagnostiku a obnovu."
},
"custom": {
"heading": "Vlastný certifikát — kedy ho použiť",
"intro": "Kliknite na <strong>Použiť vlastný certifikát</strong> a zadajte dve absolútne cesty:",
"items": [
"<strong>Osvedčenie</strong> Celý reťazec v PEM (<code>.pem</code> alebo <code>.crt</code>).",
"<strong>Súkromný kľúč</strong>: zodpovedajúci kľúč vo formáte PEM (<code>.key</code>)."
],
"outro": "Oba súbory načíta proces Monitora pri štarte. Musia zostať čitateľné pre používateľa, pod ktorým beží jednotka systemd (predvolene root). Bežné umiestnenia pri správe ACME mimo Proxmox:",
"code": "# certbot\n/etc/letsencrypt/live/<your-host>/fullchain.pem\n/etc/letsencrypt/live/<your-host>/privkey.pem\n\n# acme.sh\n~/.acme.sh/<your-host>_ecc/fullchain.cer\n~/.acme.sh/<your-host>_ecc/<your-host>.key",
"symlinkCallout": {
"title": "Symlink ciele vs. súbory",
"bodyRich": "<code>certbot</code> ukladá skutočné súbory do <code>/etc/letsencrypt/archive/</code> a cesta <code>live/</code> je symbolický odkaz. Nasmerujte monitor na symbolický odkaz <code>live/</code>, nie na súbor <code>archive/</code> – takto každý cyklus obnovy jednoducho prepíše cieľ symbolického odkazu a monitor si pri ďalšom spustení služby vyberie nový certifikát."
}
},
"afterHttps": {
"heading": "Po umožnení HTTPS",
"bodyRich": "Uloženie zmeny zapíše <code>/etc/proxmenux/ssl_config.json</code> a reštartuje jednotku systemd <code>proxmenux-monitor</code>. Karta prehliadača stratí spojenie; načítajte ju znova na <code>https://&lt;host&gt;:8008/</code>. Certifikát Let’s Encrypt by nemal vyvolať upozornenie; pri certifikáte Proxmox s vlastným podpisom bude prehliadač vyžadovať výnimku, rovnako ako na porte 8006.",
"reverse": {
"heading": "Reverzné proxy a webhooky",
"bodyRich": "Pri prepnutí Monitora na HTTPS sa adresy webhookov Proxmox VE pre oznámenia automaticky zmenia z <code>http://</code> na <code>https://</code>. Existujúce záznamy sa prepíšu pri ďalšom uložení alebo opätovnom rozpoznaní pravidla oznámení; ručná úprava konfigurácie oznámení Proxmox nie je potrebná."
}
},
"trustCa": {
"heading": "Dôverujte samopodpísanej CA spoločnosti Proxmox",
"intro1Rich": "Ak chcete zachovať predvolený certifikát Proxmox bez ACME, importujte koreňovú CA klastra do úložiska dôveryhodných certifikátov systému alebo prehliadača. Monitor rozpozná <code>/etc/pve/local/pve-ssl.pem</code> ako náhradný certifikát. Klient tak dôveruje vydavateľovi; URL musí stále zodpovedať názvu v certifikáte.",
"intro2Rich": "CA súbor žije v <code>/etc/pve/pve-root-ca.pem</code> na každom uzle. V klastri cesta je na zdieľanom <code>pmxcfs</code> súborovom systéme, takže všetky uzly zdieľajú rovnaký koreň a jeden import pokrýva celý dátový stred. Skopírujte ho do svojho stroja:",
"code": "scp root@<your-host>:/etc/pve/pve-root-ca.pem ./pve-root-ca.pem",
"thenImport": "Potom ho importovať na strane klienta:",
"items": [
"<strong>Linux (celý systém):</strong> spustite <code>sudo cp pve-root-ca.pem /usr/local/share/ca-certificates/pve-root-ca.crt</code> a potom <code>sudo update-ca-certificates</code>. Prehliadače používajúce systémové úložisko certifikátov (Chromium, Edge) rozpoznajú CA po reštarte; Firefox má vlastné úložisko a potrebuje ručný import uvedený nižšie.",
"<strong>macOS:</strong> dvojklikom otvorte súbor <code>.pem</code> v Keychain Access, pridajte ho do kľúčenky <em>System</em> a nastavte <em>Trust → Always Trust</em>.",
"<strong>Windows:</strong> kliknite pravým tlačidlom na súbor → <em>Inštalovať certifikát</em> → uložte ho do <em>Dôveryhodné koreňové certifikačné autority</em>.",
"<strong>Firefox (ľubovoľný OS):</strong> <em>Nastavenia → Súkromie a bezpečnosť → Certifikáty → Zobraziť certifikáty → Autority → Importovať</em>; vyberte <em>Dôverovať tejto CA pri identifikácii webových stránok</em>."
],
"standalone": {
"title": "Samostatné uzly mimo klastra",
"bodyRich": "Každý non-clustered Proxmox hostiteľ má svoje vlastné <code>pve-root-ca.pem</code>. Ak spravujete niekoľko samostatných hostiteľov, opakujte kópiu/dovoz pre každého, alebo sa pripojte k klastru, takže zdieľajú jeden koreň."
}
},
"disable": {
"heading": "Zastavenie HTTPS",
"bodyRich": "Kliknite na <strong>Vypnúť HTTPS</strong> v rovnakom paneli. Monitor sa reštartuje s nešifrovaným HTTP, čo pomôže pri nečitateľnom vlastnom certifikáte brániacom štartu služby. Samostatné odinštalovanie nie je potrebné a súbory certifikátov sa nemenia.",
"stateCallout": {
"title": "Kde sa ukladá stav",
"bodyRich": "<code>/etc/proxmenux/ssl_config.json</code> ukladá aktívne cesty k certifikátom a zdroj (<code>none</code>, <code>proxmox</code>, <code>custom</code>). Odstránenie súboru zodpovedá vypnutiu HTTPS; pri ďalšom štarte Monitor použije HTTP."
}
}
}
@@ -0,0 +1,123 @@
{
"meta": {
"title": "Hostiteľ: Pridanie cieľa iSCSI ako úložiska Proxmox | Dokumentácia ProxMenux",
"description": "Zaregistrujte cieľ iSCSI ako úložisko Proxmox cez ProxMenux. Nástroj nainštaluje open-iscsi, vyhľadá ciele portálu cez sendtargets, umožní výber cieľa a spustí pvesm add iscsi. Poskytuje surové blokové zariadenia pre obrazy diskov VM.",
"ogTitle": "Hostiteľ: Pridanie cieľa iSCSI ako úložiska Proxmox | Dokumentácia ProxMenux",
"ogDescription": "Zaregistrujte cieľ iSCSI ako úložisko Proxmox so sprievodcom vyhľadávaním. Používa pvesm add iscsi a poskytuje surové blokové zariadenia pre disky VM."
},
"header": {
"title": "Host: Pridať iSCSI cieľ ako Proxmox úložisko",
"description": "Zaregistrujte iSCSI cieľ (z SAN, TrueNAS / FreeNAS, Synology, Windows Server cieľ, akékoľvek pole, ktoré hovorí iSCSI) ako Proxmox úložisko. Exportované LUNs sa objavujú ako blokové zariadenia a môžu hostiť VM diskové snímky s takmer lokálnym výkonom v sieti.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "ProxMenux ponúka sprievodcu pre <code>pvesm add iscsi</code>: podľa potreby nainštaluje <code>open-iscsi</code>, vyžiada portál iSCSI (IP:port), spustí proti nemu <code>iscsiadm --mode discovery --type sendtargets</code>, umožní vybrať IQN cieľa a zaregistruje úložisko iSCSI v Proxmoxe. Služba <code>iscsid</code> potom udržiava reláciu iSCSI aj po reštartoch."
},
"vocab": {
"heading": "Pojmy iSCSI (stručný prehľad)",
"headerTerm": "Termín",
"headerMeaning": "Význam",
"rows": [
{
"term": "Portál",
"meaningRich": "Koncový bod služby iSCSI na cieľovom serveri — IP adresa (alebo názov hostiteľa) a port TCP. Predvolený port je <code>3260</code>; ProxMenux ho použije, ak iný nezadáte."
},
{
"term": "Cieľ",
"meaningRich": "Jeden exportovaný \"server\" vnútri portálu, identifikovaný jeho IQN (<em>iSCSI Kvalifikovaný názov</em>). Jeden portál môže hostiť veľa cieľov."
},
{
"term": "IQN",
"meaningRich": "Kanonická forma je <code>iqn.YYYY-MM.reverse.domain:identifier</code>, napríklad <code>iqn.2024-08.com.truenas:proxmox-pool</code>. Cieľ aj iniciátor majú vlastné IQN."
},
{
"term": "LUN",
"meaningRich": "Blokové zariadenie vnútri cieľa (Logické číslo jednotky). Jeden cieľ môže odhaliť niekoľko LUNs; každý LUN sa objaví ako svoj vlastný disk v Proxmox a môže sa stať VM disk."
},
{
"term": "Iniciátor",
"meaningRich": "Klient, ktorý sa pripojí k cieľu, v tomto prípade, váš Proxmox hostiteľ. Iniciátor má vlastné IQN uložené v <code>/etc/iscsi/initiatorname.iscsi</code>. Ciele zvyčajne prijímajú iba sedenia od vopred schválených iniciátorov IQN."
}
]
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "Z hlavného menu ProxMenux, otvoriť <strong>Storage &amp; Share Manager → Pridať iSCSI Target ako Proxmox Storage</strong>. Uvidíte toto sub- menu so štyrmi možnosťami:",
"imageAlt": "Ponuka správcu iSCSI hostiteľa — Pridať / Zobraziť / Odstrániť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript (Pridať tok)",
"body": "Postup má dve fázy: nastavenie iniciátora a vyhľadanie cieľov, potom registráciu úložiska v Proxmoxe. Na rozdiel od NFS a Samba sa nevykonáva automatické vyhľadávanie v podsieti — adresu portálu musíte poznať (iSCSI sa nehodí na vyhľadávanie cez broadcast)."
},
"add": {
"heading": "Pridať iSCSI target ako Proxmox úložisko",
"items": [
"<strong>Zadanie portálu</strong> — zadajte IP adresu alebo názov hostiteľa cieľového servera iSCSI. Použije sa port <code>3260</code>, ak nezadáte <code>host:port</code>.",
"<strong>Vyhľadanie cieľov</strong> — ProxMenux zavolá <code>iscsiadm --mode discovery --type sendtargets --portal &lt;ip:port&gt;</code>. Server vráti všetky IQN, ktoré tomuto iniciátorovi sprístupňuje. Pri zlyhaní skript zobrazí presnú chybu z <code>iscsiadm</code> a bežné príčiny (nesprávna IP adresa, firewall, nepovolené IQN iniciátora).",
"<strong>Výber cieľa</strong> — jeden cieľ sa vyberie automaticky; viacero cieľov zobrazí ponuku.",
"<strong>ID skladu</strong> Predvolená hodnota <code>iscsi-&lt;last IQN segment, 20 chars max&gt;</code>. Iba písmená, číslice, <code>-</code> a <code>_</code>.",
"<strong>Typ obsahu</strong> — na rozdiel od NFS a Samba je obsah iSCSI <strong>pevne nastavený na <code>images</code></strong>. iSCSI poskytuje surové blokové zariadenia, nie súborový systém, preto na ňom Proxmox povoľuje iba disky VM."
],
"authTitle": "Povoľte iniciátora Proxmox na cieľ",
"authBody1": "Aby pridanie fungovalo od začiatku do konca, cieľ iSCSI musí poznať vášho hostiteľa Proxmox. Zistite IQN svojho iniciátora:",
"authBody2": "Pridajte toto IQN do zoznamu prístupu cieľa (TrueNAS: <em>Sharing → Block → Initiators Groups</em>; Synology: <em>SAN Manager → iSCSI → Target → Edit → Initiators</em>; atď.). Ak iniciátor nie je povolený, vyhľadávanie cez <code>iscsiadm</code> vráti prázdny zoznam alebo chybu autentifikácie."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup zodpovedá týmto príkazom:"
},
"view": {
"heading": "Zobraziť nakonfigurované úložiská iSCSI",
"body": "Zobrazí každú položku iSCSI v Proxmoxe (<code>pvesm status | awk ''$2 == \"iscsi\"''</code>) s portálom, cieľovou IQN, typom obsahu a živým stavom."
},
"remove": {
"heading": "Odstrániť úložisko iSCSI",
"body": "Po potvrdení portálu, cieľa a obsahu spustí <code>pvesm remove &lt;storage-id&gt;</code>. Odstráni sa iba registrácia v Proxmoxe — <strong>samotný cieľ iSCSI zostane nedotknutý</strong> a existujúce relácie jadra môžu pretrvať až do reštartu.",
"warnTitle": "Najprv skontrolujte existujúce disky VM na tomto iSCSI",
"warnBody": "Odstránenie úložiska iSCSI, na ktorom VM stále majú disky, ponechá VM odkazovať na chýbajúce úložisko. Proxmox nahlási chybu, ale údaje LUN zostanú v cieli nedotknuté — opätovnou registráciou úložiska môžete disky znovu sprístupniť. Pre istotu však VM najprv presuňte alebo zálohujte."
},
"test": {
"heading": "Test iSCSI konektivita",
"body": "Spustí diagnostiku: overí inštaláciu <code>iscsiadm</code>, vypíše IQN iniciátora, skontroluje beh <code>iscsid</code>, vykoná ping každého registrovaného portálu, overí jeho port a zobrazí <code>pvesm status</code> aj stav aktívnej relácie iSCSI (<code>iscsiadm --mode session</code>). Aktívna relácia a dostupný portál pri stave „inactive“ v Proxmoxe zvyčajne znamenajú zastaraný stav — skúste <code>pvesm set &lt;id&gt; --disable 0</code>."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"portalTitle": "\"Nedostať sa k portálu,\" ale server IP reaguje inde",
"portalBody": "Ping zlyhal na adrese portálu. Skontrolujte, či sa pripájate k rozhraniu <em>siete úložiska</em> (iSCSI často žije na oddelenej VLAN / podsieti od siete správy). Overte tiež DNS, ak ste zadali názov hostiteľa.",
"discoverTitle": "\"iSCSI objav zlyhal\" z iscsiadm",
"discoverIntro": "Skript ukazuje presnú chybu. Najčastejšie príčiny:",
"discoverItems": [
"Portál IP / port zle (dvojitá kontrola, predvolená je 3260).",
"Služba iSCSI nebeží na cieľovom serveri.",
"Firewall blokuje 3260 medzi Proxmox a cieľ.",
"<strong>IQN iniciátora nie je povolené v cieli.</strong> Najčastejšia príčina pri podnikových diskových poliach. Najprv pridajte IQN Proxmox do ACL iniciátorov na cieľovom serveri."
],
"noTargetTitle": "Neboli nájdené žiadne ciele, ale objav bol úspešný",
"noTargetBody": "Server prijal iniciátora, ale nesprístupňuje mu žiadny cieľ. Skontrolujte autentifikáciu a pravidlá prístupu — niektoré diskové polia povoľujú vyhľadávanie všetkým IQN, ale filtrujú ciele viditeľné jednotlivým IQN.",
"noLunTitle": "LUNs sa po registrácii v /dev/disk/by-path neobjavujú",
"noLunBody": "<code>pvesm add iscsi</code> uspel, ale jadro nevidí blokové zariadenia. Skontrolujte <code>iscsiadm --mode session</code> — ak žiadna relácia nie je aktívna, prihláste sa ručne cez <code>iscsiadm --mode node --login</code>. Ak relácia existuje, ale LUN chýbajú, vynúťte nové vyhľadanie: <code>iscsiadm --mode session --rescan</code>. Ak sa stále nič nezobrazí, cieľ zrejme ešte nemá LUN priradené tomuto IQN (nastavte mapovanie LUN v cieli).",
"chapTitle": "Autentifikácia CHAP",
"chapBody": "ProxMenux v interaktívnom postupe nemá polia na meno a heslo CHAP. Ak vyhľadávanie zlyhá, skript skončí pred <code>pvesm add</code> a úložisko napriek chybe nezaregistruje. Požiadavky CHAP cieľa nastavte samostatne v <code>open-iscsi</code>, podľa potreby aj autentifikáciu vyhľadávania, a skúste to znova. Konfiguráciu overte cez <code>iscsiadm</code> a aktívne relácie cez <code>iscsiadm --mode session</code>."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tail": " — alternatíva na úrovni súborov: jednoduchšie nastavenie, väčšia flexibilita (backup / ISO / tmpl / images), mierne nižší výkon pre disky spustených VM."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako úložisko Proxmox",
"tail": " — ďalšia možnosť na úrovni súborov; pre disky spustených VM sa neodporúča kvôli sémantike zámkov."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Pridať lokálny disk ako Proxmox úložisko",
"tail": " — keď je disk lokálny pre hostiteľa Proxmox a nie na inom zariadení v sieti."
}
]
}
}
@@ -0,0 +1,186 @@
{
"meta": {
"title": "Host: Pridať lokálny disk ako Proxmox úložisko ProxMenux Dokumentácia",
"description": "Naformátujte lokálny disk SATA, SAS alebo NVMe na hostiteľovi Proxmox a zaregistrujte ho ako adresárové úložisko alebo pool ZFS. Postup zahŕňa bezpečný výber disku, potvrdenie deštruktívnych operácií, fstab podľa UUID, vytvorenie poolu ZFS a príkazy pvesm add dir / zfspool.",
"ogTitle": "Host: Pridať lokálny disk ako Proxmox úložisko ProxMenux Dokumentácia",
"ogDescription": "Naformátujte lokálny disk a zaregistrujte ho ako adresár Proxmox alebo ZFS pool pomocou riadeného, bezpečnostne filtrovaného postupu."
},
"header": {
"title": "Host: Pridať lokálny disk ako úložisko Proxmox",
"description": "Vyberte fyzický disk na hostiteľovi Proxmox, prípadne ho naformátujte (ext4 / xfs / btrfs / zfs) a zaregistrujte ako úložisko Proxmox — adresár (pvesm add dir) alebo pool ZFS (pvesm add zfspool). ProxMenux odfiltruje systémový disk aj používané disky a pred vykonaním jasne uvedie každý deštruktívny krok.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "Ostatné nástroje pre <em>hostiteľa</em> v tejto časti pracujú so <strong>sieťovým</strong> úložiskom (NFS / Samba / iSCSI). Tento pracuje s <strong>lokálnymi</strong> diskami, teda voľnými diskami fyzicky pripojenými k hostiteľovi Proxmox, ktoré chcete použiť na disky VM, zálohy, ISO alebo šablóny. ProxMenux disk pripraví (rozdelenie + formátovanie + pripojenie) a zaregistruje v Proxmoxe, aby naň rozhranie mohlo ukladať obsah."
},
"destructive": {
"title": "Deštrukčný nástroj pre \"formátovú\" dráhu",
"body": "Postup <em>Formátovať</em> <strong>zničí existujúce oddiely a dáta na vybranom disku</strong>. ProxMenux zobrazí varovanie, odfiltruje používané disky a vyžiada potvrdenie pred spustením <code>wipefs</code> / <code>sgdisk</code> / <code>mkfs</code>. Nejde o bezpečné prepísanie každého bajtu. Pred potvrdením dvakrát overte cestu zariadenia."
},
"compare": {
"heading": "Adresár alebo pool ZFS — čo si vybrať?",
"headerDir": "Adresár (ext4 / xfs / btrfs)",
"headerZfs": "ZFS pool",
"rows": [
{
"label": "Typ skladovania Proxmoxu",
"dirRich": "<code>dir</code>",
"zfsRich": "<code>zfspool</code>"
},
{
"label": "Formát disku VM",
"dir": "Súbor qcow2 / raw na súborovom systéme",
"zfs": "Natívny súbor údajov ZFS (zvol) na disk"
},
{
"label": "Snímky",
"dir": "qcow2 snímky; btrfs snímky, ak fs=btrfs",
"zfs": "Natívne, okamžité, copy-on-write"
},
{
"label": "Tenké prideľovanie",
"dir": "Áno (predvolené pri qcow2)",
"zfs": "Áno (predvolená hodnota ZFS)"
},
{
"label": "RAM potreby",
"dir": "nízka",
"zfs": "Vysoké — ZFS používa voľnú RAM ako vyrovnávaciu pamäť ARC"
},
{
"label": "Podporuje typy obsahu",
"dir": "images, backup, iso, vztmpl, snippets, rootdir",
"zfs": "iba images a rootdir (blokové úložisko)"
},
{
"label": "Najlepšie pre",
"dir": "Univerzálny disk: mix diskov VM, zálohy, ISO",
"zfs": "Čistý dátový disk VM / LXC s snapshot + potreba integrity"
}
]
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Add Local Disk as Proxmox Storage</strong>. Zobrazí sa podponuka so štyrmi možnosťami:",
"imageAlt": "Ponuka lokálnych diskov — Pridať / Zobraziť / Odstrániť / Vypísať dostupné disky"
},
"howRuns": {
"heading": "Ako beží skript (Pridať tok)",
"body": "Postup má dve fázy s trojstupňovým bezpečnostným filtrom. Fáza 1 objavuje bezpečné disky, rozhoduje, čo robiť s vybraným a zbiera parametre úložiska; Fáza 2 robí deštruktívne práce. Až do posledného potvrdenia je disk nedotknutý."
},
"format": {
"heading": "Formátovať prázdny disk",
"intro": "Cesta pre čerstvý disk alebo ten, ktorého obsah vás nezaujíma.",
"items": [
"Vyberte disk (systém / používané disky sú skryté).",
"Vyberte \"Format disk (EASE všetky dáta) .\"",
"Vyberte súborový systém — porovnanie výhod a nevýhod je v tabuľke vyššie.",
"ID úložiska (predvolene <code>disk-&lt;device&gt;</code>), cesta pripojenia a predvoľba typu obsahu.",
"Potvrďte v dialógu <strong>KONEČNÉ POTVRDENIE — DÁTA SA VYMAŽÚ</strong>.",
"ProxMenux vymaže tabuľku oddielov a vytvorí jeden oddiel na celom disku. Spustí <code>mkfs.&lt;fs&gt;</code> alebo <code>zpool create</code> a výsledok pripojí. Bežné súborové systémy dostanú položku UUID v <code>/etc/fstab</code> s <code>defaults,nofail</code>; ZFS používa konfiguráciu pripojenia poolu. Ak je označené <em>Ako úložisko Proxmoxu</em> (pri ZFS vždy), následne sa zaregistruje cez <code>pvesm add dir</code> alebo <code>pvesm add zfspool</code>; inak zostane len pripojením na hostiteľovi."
],
"tipTitle": "Prečo UUID + nofail v /etc/fstab",
"tipBody": "Skript zapíše <code>UUID=… /mnt/&lt;id&gt; &lt;fs&gt; defaults,nofail 0 2</code>. UUID zostane rovnaké aj pri zmene poradia zariadení po reštarte, takže premenovanie <code>/dev/sdc</code> na <code>/dev/sdd</code> nenaruší štart. S <code>nofail</code> sa Proxmox spustí aj pri chýbajúcom disku (porucha alebo odpojenie); úložisko sa bude zobrazovať ako neaktívne, kým sa disk nevráti."
},
"reuse": {
"heading": "Znovu použiť existujúci súborový systém",
"intro": "Cesta k disku, na ktorom si chcete ponechať údaje – možno ste ho presunuli z iného hostiteľa Proxmox alebo disk už obsahuje zálohy / ISO, ktoré chcete ponechať prístupné.",
"items": [
"Vyber ten disk.",
"Vyberte \"Použiť existujúci súborový systém.\"",
"ID úložiska, cesta pripojenia a predvoľba typu obsahu.",
"ProxMenux dáta <strong>nemení</strong>: vytvorí bod pripojenia, pripojí disk, pridá položku UUID do <code>/etc/fstab</code> a zaregistruje ho ako úložisko Proxmox typu <code>dir</code>."
],
"warnTitle": "Opätovné použitie cesty nespracúva ZFS pools",
"warnBody": "Ak už disk obsahuje ZFS pool, cesta <em>znova použiť</em> sa ho pokúsi pripojiť ako bežný súborový systém – čo zlyhá. Ak chcete importovať existujúci ZFS pool, použite <code>zpool import &lt;name&gt;</code> na príkazovom riadku a potom ho manuálne zaregistrujte pomocou <code>pvesm add zfspool</code>."
},
"presets": {
"heading": "Prednastavenia typu obsahu",
"intro": "ProxMenux ponúka tri predvoľby a vlastnú možnosť. Vybraný reťazec typov obsahu odovzdá príkazu <code>pvesm add … --content &lt;csv&gt;</code>:",
"headerPreset": "Predvoľba",
"headerContent": "Reťazec typov obsahu",
"headerUse": "Prípad použitia",
"rows": [
{
"preset": "Úložisko VM",
"content": "images,backup",
"use": "Vyhradené úložisko diskov VM, ktoré zároveň uchováva aj zálohy týchto VM."
},
{
"preset": "Štandardné NAS",
"content": "backup,iso,vztmpl",
"use": "Archívny alebo mediálny disk — zálohy, ISO a šablóny LXC. Bez diskov používaných bežiacimi VM."
},
{
"preset": "Všetky typy",
"content": "images,backup,iso,vztmpl,snippets",
"use": "Táto široká predvoľba povolí obrazy, zálohy, ISO, šablóny LXC a snippet súbory. Ďalšie podporované typy, napríklad rootdir, podľa potreby pridajte cez vlastnú možnosť."
},
{
"preset": "Vlastné",
"content": "(voľný vstup)",
"useRich": "Napíšte presné CSV, napr. samotný <code>images</code> alebo <code>rootdir,images</code>."
}
],
"zfsTitle": "ZFS pool obsah je užší",
"zfsBody": "Pri <strong>zfs</strong> podporuje <code>zfspool</code> iba <code>images</code> a <code>rootdir</code>, nie súbory ISO či zálohy. Cez vlastnú možnosť zadajte podporované typy. Skript výber odovzdá bez zmien; nepodporované typy môžu spôsobiť zlyhanie registrácie. Potom overte <code>pvesm status</code>."
},
"manual": {
"heading": "Ručný ekvivalent",
"extIntro": "Formát + zaregistrovať disk ako úložisko adresára ext4:",
"zfsIntro": "Alebo ako ZFS pool:"
},
"view": {
"heading": "Zobraziť diskové úložiská",
"body": "Vypisuje všetky diskové úložiská Proxmox (<code>dir</code> aj <code>zfspool</code>, ktoré sú vytvorené používateľom — systémové pooly ako <code>rpool</code> je skrytý). Zobrazuje cestu pripojenia / pool názov, typy obsahu a aktuálny stav."
},
"remove": {
"heading": "Odstrániť diskové úložisko",
"body": "Odregistruje úložisko z Proxmoxu (<code>pvesm remove</code>) a ponúkne odstránenie príslušnej položky v <code>/etc/fstab</code>. Skript pool ZFS automaticky <strong>nezničí</strong>; na to slúži samostatný príkaz <code>zpool destroy &lt;name&gt;</code>, ktorý vykonáte ručne, keď ste si istí.",
"warnTitle": "Údaje a existujúce závislosti VM",
"warnBody": "Odstránenie úložiska sa nedotkne súborového systému ani pool — údaje zostanú na disku. Ale virtuálne počítače / CT, ktoré odkazujú na toto úložisko podľa ID, sa po odstránení nespustia. Pred odstránením presuňte tieto VM disky na iné úložisko (alebo vytvorte zálohu)."
},
"list": {
"heading": "Zoznam dostupných diskov",
"body": "Diagnostický pohľad iba na čítanie: vytlačí výstup <code>lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL</code>, po ktorom nasleduje <code>dir</code> / <code>zfspool</code> úložiská, ktoré Proxmox už pozná. Dobrá prvá zastávka, keď otvoríte nástroj a chcete vidieť \"čo je na tomto hostiteľovi?\" pred pridaním niečoho."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noDisksTitle": "\"Nenájdené žiadne dostupné disky\"",
"noDisksIntro": "Bezpečnostný filter skryl každý disk. Časté dôvody:",
"noDisksItems": [
"Prítomný je len koreňový disk.",
"Každý iný disk je súčasťou aktívneho ZFS / LVM / RAID poľa.",
"Každý iný disk je odkazovaný VM alebo LXC config (pass through).",
"Disk je v režime iba na čítanie (zlyhanie hardvéru alebo write-blokátor)."
],
"noDisksOutro": "Použite <em>Zoznam dostupných diskov</em> z ponuky, aby ste videli nespracovaný výstup <code>lsblk</code> a pochopili, čo sa deje.",
"mountedTitle": "Formát zlyhá s \"device is mounted\"",
"mountedBody": "Niečo auto-montoval disk (udisksd, desktop manažér, pretrvávajúce systemd jednotka). Odpojte ho: <code>umount /dev/sdX?*</code> alebo <code>systemctl stop &lt;whatever-mounts-it&gt;</code>, potom sa znovu skúste. Bezpečnostný filter skriptu by mal mať skryté namontované disky, takže ak ste dosiahli túto chybu, pripojiť sa stalo medzi zobrazením menu a potvrdením.",
"zpoolTitle": "zpool create zlyhá s hlásením \"invalid vdev specification\"",
"zpoolBody": "Zvyčajne to znamená, že disk má stále zastarané GPT / LVM / ZFS podpisy, ktoré <code>zpool</code> odmieta bez vynútenia prepísať. Skript pred formátovaním spustí <code>wipefs</code> a <code>sgdisk --zap-all</code>, ale veľmi tvrdohlavý disk môže mať stále zastaraný štítok. Manuálne vynútenie čistého vymazania: <code>zpool labelclear -f /dev/sdX</code> alebo <code>dd if=/dev/zero of=/dev/sdX bs=1M count=10</code> a skúste to znova.",
"inactiveTitle": "Skladovanie ukazuje ako neaktívne po reštarte",
"inactiveBody": "Skontrolujte <code>findmnt &lt;mount-path&gt;</code>. Ak pripojenie chýba, zlyhalo niečo v <code>/etc/fstab</code>. Výstup <code>dmesg | tail</code> zvyčajne ukáže príčinu, napríklad nesúlad UUID, poškodenie súborového systému alebo vynechanie ďalšieho pokusu v súvislosti s <code>nofail</code>. Po odstránení príčiny príkaz <code>mount -a</code> zvyčajne úložisko znovu pripojí."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/disk-manager/format-disk",
"label": "Správca diskov: formátovanie / vymazanie fyzického disku",
"tail": "— nízkoúrovňová alternatíva, keď chcete iba pripraviť disk bez toho, aby ste ho registrovali ako úložisko Proxmox."
},
{
"href": "/docs/storage-share/host-iscsi",
"label": "Pridať iSCSI target ako Proxmox úložisko",
"tail": " — sieťový ekvivalent, ak je blokové zariadenie na inom počítači."
},
{
"href": "/docs/storage-share/host-local-shared",
"label": "Pridať zdieľaný adresár na hostiteľa",
"tail": " — príprava adresára na hostiteľovi pre bind mounty LXC (bez registrácie úložiska Proxmox)."
}
]
}
}
@@ -0,0 +1,103 @@
{
"meta": {
"title": "Hostiteľ: Pridanie zdieľaného adresára | Dokumentácia ProxMenux",
"description": "Vytvorte adresár hostiteľa pripravený pre bind mounty LXC s oprávneniami pre privilegované aj neprivilegované kontajnery. Sticky bit, rwx pre všetkých a predvolené ACL pre dedenie.",
"ogTitle": "Hostiteľ: Pridanie zdieľaného adresára | Dokumentácia ProxMenux",
"ogDescription": "Pripravte si hostiteľský adresár pre bind mounty LXC s oprávneniami kompatibilnými s privilegovanými a neprivilegovanými CT."
},
"header": {
"title": "Hostiteľ: Pridať zdieľaný adresár",
"description": "Vytvorte adresár na hostiteľovi určený pre bind mounty v jednom alebo viacerých kontajneroch LXC. ProxMenux použije oprávnenia pre privilegované aj neprivilegované CT bez riešenia posunutých UID alebo zmeny vlastníka pre každý kontajner a zaregistruje adresár na neskoršie použitie v LXC Mount Manager.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo je toto (a NIE)",
"body": "Tento nástroj <strong>nič</strong> neregistruje v Proxmoxe (nepoužíva <code>pvesm add</code>). Iba pripraví adresár na hostiteľovi — predvolene <code>/mnt/shared</code> — s oprávneniami na čítanie a zápis pre ľubovoľný LXC bez ohľadu na privilegovaný či neprivilegovaný režim. Ďalším krokom je zvyčajne bind mount do jednotlivých CT cez <mountLink>LXC Mount Manager</mountLink>."
},
"why": {
"heading": "Prečo je to špecializovaný nástroj",
"intro": "Keď pripojíte adresár do LXC kontajnera, práva závisia od:",
"items": [
"Či je CT <strong>privilegovaný</strong> (UID 0 v CT = UID 0 na hostiteľovi) alebo <strong>neprivilegovaný</strong> (UID 0 v CT = UID 100000 na hostiteľovi — všetko je posunuté o +100000).",
"Vlastníctvo adresára hostiteľa (súbor s UID 1000 na hostiteľovi sa z pohľadu neprivilegovaného CT riadi oprávneniami „ostatní“, pretože žiadny používateľ CT sa nemapuje na UID 1000 hostiteľa).",
"Či viaceré CT zdieľajú rovnaký adresár (rôzne CT môžu mať rôzne UID rozsahy)."
],
"outro": "ProxMenux používa praktický postup: <strong>poskytnúť prístup všetkým</strong> na úrovni súborového systému pomocou rwx pre všetkých, sticky bitu a ACL na dedenie oprávnení. Každé mapované UID môže čítať a zapisovať; netreba zosúlaďovať UID/GID."
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Skript nemá žiadne hlavné menu – spúšťa jedinú akciu, <strong>Vytvoriť zdieľaný adresár</strong>. Fáza 1 zhromažďuje cieľovú cestu; Fáza 2 vytvorí adresár a použije povolenia."
},
"bits": {
"heading": "Čo robia jednotlivé bity oprávnení",
"intro": "Číslo <strong>1777</strong> nie je náhodné — rovnaký režim Linux používa pre <code>/tmp</code>. Kombinuje tri vlastnosti:",
"headerBit": "Bit",
"headerEffect": "Účinok",
"headerWhy": "Prečo na tom záleží tu",
"rows": [
{
"bit": "1 (sticky bit)",
"effect": "Súbor môže odstrániť alebo premenovať jeho vlastník, vlastník adresára alebo proces s dostatočnými oprávneniami.",
"why": "Pomáha zabrániť používateľom s rôznymi mapovanými UID odstraňovať cudzie súbory. Neizoluje CT s rovnakým mapovaným UID alebo privilegovaným prístupom root."
},
{
"bit": "777 (rwx-rwx-rwx)",
"effect": "Každý vie čítať, písať a prechádzať.",
"why": "Neprivilegované CT UID (100000+) sa objavujú ako \"ostatné\" z hostiteľa, takže svet-rwx im dáva prístup."
},
{
"bit": "ACL (predvolené)",
"effect": "Dedia sa pri vytvorení každého súboru alebo podadresára.",
"why": "Nový obsah zdedí predvolené ACL bez opätovného spustenia skriptu. Aplikácie však môžu požadovať obmedzujúce režimy alebo neskôr zmeniť oprávnenia."
}
],
"privTitle": "Privilegované CT vidia to isté, len bez zmeny.",
"privBody": "V privilegovanom CT je UID 0 totožné s UID 0 na hostiteľovi, takže <code>root</code> v CT môže priamo čítať a zapisovať do adresára hostiteľa. Režim <code>1777</code> je naďalej vhodný — umožňuje používanie adresára aj používateľom CT mimo root. Rovnaké oprávnenia pokrývajú oba prípady."
},
"where": {
"heading": "Kam dať zdieľaný adresár",
"intro": "Výber umiestnenia ponúka štyri možnosti:",
"opt1Title": "1. Vytvoriť nový priečinok v /mnt",
"opt1Body": "Zvyčajná voľba. ProxMenux auto-navrhuje prvý voľný názov (<code>shared</code>, <code>shared2</code>, <code>shared3</code>, ...). Stačí potvrdiť alebo napísať iný názov.",
"opt2Title": "2. Zadajte vlastnú cestu",
"opt2Body": "Pre adresáre mimo <code>/mnt</code>. Akákoľvek absolútna cesta funguje (napr. <code>/srv/media</code>, <code>/data/family</code>). Skript uplatňuje rovnaké práva.",
"opt3Title": "3. Zobraziť existujúce priečinky v /mnt",
"opt3Body": "Diagnostika iba na čítanie: uvádza každý adresár pod <code>/mnt</code> so svojimi oprávneniami, vlastníkom a dostupným priestorom. Užitočné pred vytvorením nového, aby sa zabránilo pomenovaniu kolízie.",
"opt4Title": "4. Zrušiť",
"opt4Body": "Ukončí postup bez vytvorenia čohokoľvek. Rovnako ako stlačenie <kbd>Esc</kbd>.",
"tipTitle": "Kde žije /mnt?",
"tipBody": "Predvolene sa <code>/mnt</code> nachádza na koreňovom súborovom systéme Proxmox. Ak má byť zdieľaný adresár na inom disku (dátový disk alebo pool ZFS), najprv ho pripojte pod <code>/mnt/&lt;name&gt;</code> cez Disk Manager alebo <diskLink>Pridať lokálny disk ako úložisko Proxmox</diskLink>. Potom vytvorte zdieľaný podadresár v ňom alebo tu vyberte „Zadať vlastnú cestu“ a zadajte cestu pripojeného disku."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý tok sa dá prehrať ručne:"
},
"next": {
"heading": "Ďalší krok: bind mount do kontajnerov",
"body": "Vytvorením adresára sa iba pripraví – zatiaľ ho nevidí žiadny kontajner. Aby bolo viditeľné v jednom alebo viacerých LXC, použite <mountLink>LXC Mount Manager</mountLink> na pripojenie <code>/mnt/&lt;name&gt;</code> do CT. Pretože oprávnenia sú už otvorené, Mount Manager <strong>neponúkne</strong> ich zmenu – adresár je pripravený na použitie tak, ako je."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"mkdirTitle": "\"Failed to create directory\"",
"mkdirBody": "Zvyčajne je problém súborového systému: <code>/mnt</code> je na súborovom systéme iba na čítanie, cesta obsahuje komponent, ktorý nie je adresárom (napr. ste zadali <code>/etc/passwd/sub</code>), alebo disk je plný. Overte si to s <code>df -h /mnt</code> a <code>mount | grep /mnt</code>.",
"writeTitle": "Kontajner nemôže písať napriek otvoreným povoleniam",
"writeBody": "Overte, či CT skutočne používa bind mount (<code>pct config &lt;ctid&gt; | grep ^mp</code>). V CT spustite <code>touch /mnt/data/test-$(date +%s)</code>. Ak príkaz zlyhá s odmietnutým prístupom, pripojenie môže byť na súborovom systéme hostiteľa bez podpory ACL (niektoré staršie pripojenia <code>ext3</code> alebo <code>vfat</code>). Presuňte zdieľaný adresár na súborový systém ext4, xfs, btrfs alebo zfs.",
"aclTitle": "ACL príkazy ticho nedostupné",
"aclBody": "Na minimálnej inštalácii Proxmox nemusia byť <code>setfacl</code> / <code>getfacl</code> nainštalované. Skript to overí cez <code>command -v setfacl</code> a použije iba oprávnenia POSIX. Tie často stačia, no nové súbory automaticky nezdedia otvorené oprávnenia. Nainštalujte <code>acl</code> pomocou <code>apt-get install -y acl</code> a spustite skript pre daný adresár znova."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Správca LXC mountov",
"tail": " — ďalší bežný krok: bind mount tohto adresára do jedného alebo viacerých kontajnerov."
},
{
"href": "/docs/storage-share/host-local-disk",
"label": "Pridať lokálny disk ako Proxmox úložisko",
"tailRich": " — Ak chcete zdieľaný adresár na vyhradenom disku, pripravte najprv disk, pripojte ho pod <code>/mnt</code>, potom tu vytvorte zdieľaný podpriečinok."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Hostiteľ: pripojenie zdieľania NFS | Dokumentácia ProxMenux",
"description": "Pripojte externý export NFS na hostiteľovi Proxmox ako úložisko Proxmox cez pvesm add nfs, ako samostatné pripojenie cez fstab neviditeľné v Datacenter > Storage alebo oboma spôsobmi. Metóda fstab je vhodná na sprístupnenie cesty kontajnerom LXC cez bind mount bez registrácie úložiska v Proxmoxe.",
"ogTitle": "Hostiteľ: pripojenie zdieľania NFS | Dokumentácia ProxMenux",
"ogDescription": "Pripojte externý export NFS na hostiteľovi Proxmox cez pvesm, fstab alebo oboje. Spôsob fstab je vhodný pre bind mounty LXC."
},
"header": {
"title": "Hostiteľ: pripojiť zdieľanie NFS na hostiteľovi",
"description": "Pripojte externý export NFS z NAS, iného servera alebo domáceho labu k hostiteľovi Proxmox. Môžete ho zaregistrovať ako úložisko Proxmox viditeľné v Datacenter > Storage, pridať samostatné pripojenie cez /etc/fstab na zvolenú cestu alebo použiť oba spôsoby. Samostatná cesta je vhodná na sprístupnenie zdieľania kontajnerom LXC pomocou bind mountu bez registrácie úložiska v Proxmoxe.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "ProxMenux ponúka dva spôsoby pripojenia exportu NFS: <strong>(1) Úložisko Proxmox</strong> pomocou <code>pvesm add nfs</code>. Zdieľanie sa zobrazí v Datacenter > Storage a Proxmox spravuje pripojenie na <code>/mnt/pve/&lt;id&gt;</code>. <strong>(2) Pripojenie cez fstab na hostiteľovi</strong> na zvolenú cestu, trvalo zapísané v <code>/etc/fstab</code>. Nezobrazí sa ako úložisko Proxmox a hodí sa na bind mounty do kontajnerov LXC bez ďalších položiek v rozhraní Proxmoxu. Môžete použiť jeden alebo oba spôsoby."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Mount NFS Share on Host</strong>. Zobrazí sa podponuka so štyrmi možnosťami:",
"imageAlt": "Ponuka NFS hostiteľa — Pripojiť / Zobraziť / Odstrániť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve jasne oddelené fázy: vyhľadanie, overenie a výber, potom samotné pripojenie a zápis konfigurácie. Po výbere exportu zvolíte metódy pripojenia v zozname. Ďalšie dialógy sa pýtajú iba na parametre vybraných metód. Až do záverečného potvrdenia sa nemení ani <code>/etc/pve/storage.cfg</code>, ani <code>/etc/fstab</code>."
},
"modes": {
"heading": "Výber spôsobu pripojenia (označte jednu alebo obe možnosti)",
"intro": "Po výbere a overení exportu zobrazí ProxMenux zoznam dvoch spôsobov pripojenia. Môžete označiť jeden alebo oba. Ak stlačíte OK bez výberu, dialóg sa otvorí znovu. Vyberte aspoň jednu možnosť alebo postup ukončite tlačidlom Zrušiť.",
"imageAlt": "Výber spôsobov pripojenia s možnosťami pvesm a fstab",
"headerMethod": "Metóda",
"headerMount": "Cesta pripojenia",
"headerUi": "Viditeľné v datacentre > Úložisko",
"headerUseCase": "Typický prípad použitia",
"rows": [
{
"method": "<strong>Ako úložisko Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (manažovaný spoločnosťou Proxmox)",
"ui": "Áno",
"useCase": "VM obrazy diskov, zálohy, ISO, LXC šablóny — čokoľvek, čo sa musí objaviť v Proxmox UI."
},
{
"method": "<strong>Iba fstab hostiteľa</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> (vyberiete cestu)",
"ui": "Nie",
"useCaseRich": "Sprístupnite zdieľanie jednému alebo viacerým LXC cez bind mount <em>bez</em> registrácie úložiska Proxmox. Rozhranie Datacenter zostane prehľadné."
},
{
"method": "<strong>Obe</strong>",
"mount": "Obe cesty uvedené vyššie (dva body pripojenia toho istého exportu NFS)",
"ui": "Áno",
"useCase": "Integrácia s rozhraním a samostatná stabilná cesta hostiteľa s otvorenými oprávneniami pre bind mounty LXC."
}
],
"bothTitle": "Možnosť „Oboje“ vytvorí dve nezávislé pripojenia NFS",
"bothBody": "Obe metódy sa vykonajú samostatne: pvesm pripojí export do <code>/mnt/pve/&lt;id&gt;</code> a fstab do <code>/mnt/&lt;path&gt;</code>. Získate pripojenie spravované Proxmoxom s predvolenými voľbami a samostatné pripojenie hostiteľa pre bind mounty LXC. Dva body pripojenia nezaručujú dve spojenia TCP; klient NFS môže transportné spojenia opätovne použiť."
},
"pvesmBranch": {
"heading": "Metóda A — ako úložisko Proxmox (pvesm)",
"intro": "Ak je <em>Ako úložisko Proxmox</em> označený, ProxMenux spustí pôvodný pvesm prietok:",
"items": [
"<strong>ID úložiska</strong> — názov, pod ktorým Proxmox toto úložisko zaregistruje. Predvolene je to <code>nfs-&lt;server-ip-with-dashes&gt;</code>. Povolené sú iba písmená, číslice, <code>-</code> a <code>_</code>.",
"<strong>Typy obsahu</strong> Proxmox viaže kategórie obsahu na úložné objemy; vyberte si, čo to NFS je povolené držať:"
],
"headerType": "Typ obsahu",
"headerAllows": "Čo to umožňuje",
"rows": [
{
"type": "import",
"allowsRich": "Import obrazu disku (štandardne vybraný). Potrebné pre <em>Import Disk Image na VM</em>."
},
{
"type": "backup",
"allowsRich": "VM a CT záložné súbory (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Inštalačné obrazy ISO."
},
{
"type": "vztmpl",
"allows": "Šablóny LXC."
},
{
"type": "images",
"allows": "Obrazy diskov používaných VM — NFS tak slúži ako úložisko diskov VM."
},
{
"type": "rootdir",
"allows": "Koreňové súborové systémy LXC (pri NFS nezvyčajné — prečítajte si poznámku nižšie)."
},
{
"type": "snippets",
"allows": "Hook skripty a snippet súbory cloud-init."
}
],
"warnTitle": "images a rootdir na NFS",
"warnBody": "Voľba <code>images</code> umožní ukladať disky VM na NFS. Výkon závisí od siete, servera a záťaže; výpadok môže zablokovať vstupno-výstupné operácie závislé od pripojenia. Voľba <code>rootdir</code> ukladá koreňové súborové systémy LXC na NFS, kde môžu neprivilegované kontajnery naraziť na obmedzenia mapovania UID, overlay a vlastníctva. Zvážte to pred umiestnením <code>images</code> / <code>rootdir</code>; NFS je vhodné aj pre <code>backup</code> / <code>iso</code> / <code>vztmpl</code>.",
"result": "Výsledok je <code>pvesm add nfs &lt;id&gt; --server &lt;srv&gt; --export &lt;path&gt; --content &lt;csv&gt;</code> a Proxmox auto-mounts na <code>/mnt/pve/&lt;id&gt;</code>."
},
"fstabBranch": {
"heading": "Metóda B — iba pripojenie cez fstab hostiteľa",
"intro": "Ak <em>Iba pripojenie cez fstab hostiteľa</em> je označený, ProxMenux požiada o cestu pripojenia hostiteľa a trvalé možnosti, potom sa pripojí a napíše položku na <code>/etc/fstab</code>:",
"items": [
"<strong>Cesta pripojenia k hostiteľovi</strong> Predvolené <code>/mnt/&lt;export-basename&gt;</code>. Musí to byť absolútna cesta. Ak je tam niečo už namontované, alebo existuje fstab položka pre tú istú cestu, ProxMenux Varuje vás a ponúka, že ho nahradíte.",
"<strong>Voľby pripojenia</strong> — <em>Čítanie/zápis</em> (predvolené: <code>rw,hard,nofail,_netdev,rsize=131072,wsize=131072,timeo=600,retrans=2</code>), <em>Iba na čítanie</em>, <em>Vlastné</em> (zadajte vlastné voľby)."
],
"appliesIntro": "Keď potvrdíte, skript:",
"applies": [
"Vytvorí adresár bodu pripojenia pomocou <code>mkdir -p</code>.",
"<code>mount -t nfs -o &lt;opts&gt; &lt;srv&gt;:&lt;export&gt; &lt;path&gt;</code>.",
"Napíše jednoriadkový zápis do <code>/etc/fstab</code>: <code>&lt;srv&gt;:&lt;export&gt; &lt;path&gt; nfs &lt;opts&gt; 0 0</code>.",
"Spustí <code>systemctl daemon-reload</code> takže systemd zachytí novú fstab položku.",
"Pokúsi sa vykonať <code>chmod 1777</code> a <code>setfacl o::rwx</code> na bode pripojenia. Operácia je nezáväzná a nehlási zlyhanie: uspeje iba vtedy, ak ju server NFS povolí. Mnohé exporty NAS už umožňujú zápis všetkým používateľom."
],
"lxcTitle": "Použitie pripojenia fstab z LXC",
"lxcBody": "Skript vypíše príkaz <code>pct set</code> pre bind mount, napríklad <code>pct set &lt;ctid&gt; -mp0 /mnt/&lt;path&gt;,mp=/mnt/&lt;ct-path&gt;,shared=1,backup=0</code>. Alebo použite <mountLink>LXC Mount Manager</mountLink>, ktorý rozpozná pripojenia fstab. <strong>V kontajneri sa nič nemení</strong>. Prístup neprivilegovaného CT závisí od oprávnení servera pre jeho mapované UID/GID. Skript sa len pokúsi upraviť oprávnenia z hostiteľa; nezaručuje zapisovateľné exporty ani predvolené nastavenia výrobcov. Pri problémoch pozrite riešenie problémov.",
"noUiTitle": "Pripojenie fstab NIE JE úložiskom Proxmox",
"noUiBody": "Hostiteľský fstab mount je neviditeľný pre web Proxmox UI — podľa návrhu. Nezobrazuje sa v <em>Datacenter > Storage</em>, nemôžete ho vybrať v tvorcovi VM / CT a úlohy zálohovania Proxmox sa naň nemôžu zamerať. Je to čisto cesta hostiteľského súborového systému. Ak chcete aj integráciu UI, označte vo výbere <em>obe</em> metódy."
},
"manual": {
"heading": "Ručný ekvivalent",
"pvesmIntro": "Metóda A (pvesm) zodpovedá:",
"fstabIntro": "Metóda B (fstab) zodpovedá:"
},
"view": {
"heading": "Zobraziť nakonfigurované úložiská NFS",
"body": "Vypíše položky NFS v Proxmoxe (<code>pvesm status | awk ''$2 == \"nfs\"''</code>) so serverom, exportom, typmi obsahu, cestou pripojenia a aktuálnym stavom. <strong>Poznámka:</strong> zobrazí iba úložiská registrované cez pvesm, nie samostatné pripojenia fstab. Tie overte pomocou <code>findmnt -t nfs</code> alebo <code>grep nfs /etc/fstab</code>."
},
"remove": {
"heading": "Odstrániť úložisko NFS",
"body": "Po potvrdení so serverom, exportom a obsahom spustí <code>pvesm remove &lt;storage-id&gt;</code>. Odstráni iba registráciu v Proxmoxe; <strong>vzdialený server NFS nemení</strong> a súbory neodstráni. Samostatné pripojenie fstab odstráňte ručnou úpravou <code>/etc/fstab</code> a príkazom <code>umount &lt;path&gt;</code>.",
"warnTitle": "Zálohovanie závislostí najprv",
"warnBody": "Ak VM, CT alebo úlohy zálohovania odkazujú na ID tohto úložiska, po odstránení budú odkazovať na neexistujúce úložisko. Proxmox ohlási chybu, ale odkazy neodstráni. Najprv ich presuňte alebo odstráňte a až potom odstráňte úložisko."
},
"test": {
"heading": "Test NFS konektivita",
"body": "Spustí diagnostický prechod cez každý NFS skladovanie registrované v Proxmoxe: kontroluje, či <code>showmount</code> je k dispozícii, <code>rpcbind</code> beží, pings každý server, sondy port 2049, volá <code>showmount -e</code>, a nakoniec uvádza Proxmox vlastný názor (<code>pvesm status</code>). Dobrá prvá zastávka, keď úložisko ukazuje ako <em>neaktívny</em> v Proxmoxe UI."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noServersTitle": "\"Žiadne NFS servery nájdené v sieti\"",
"noServersBody": "Automatické vyhľadávanie používa <code>nmap -p 2049 --open &lt;subnet&gt;/24</code>. Server nemusí reagovať, ak: je na inom VLAN / subnet, jeho firewall bloky nmap sondy (mnohý robiť) alebo port 2049 je zámerne uzavretý na tomto rozhraní. Použite možnosť <em>Manual</em> s IP alebo meno hostiteľa servera.",
"portTitle": "„Port NFS (2049) nie je dostupný“",
"portBody": "Ping uspel, ale <code>nc -z -w 3 &lt;server&gt; 2049</code> zlyhal. Skontrolujte, či služba NFS beží na serveri (<code>systemctl status nfs-server</code> na Linuxe, Ovládací panel → Súborové služby na Synology, NFS plugin na OMV / TrueNAS), a že firewall umožňuje 2049 z Proxmox hostiteľa.",
"showmountTitle": "„Failed to connect“ z príkazu showmount",
"showmountBody": "Server odmietol dotaz exportného zoznamu. Bežné príčiny: server vymáha prísne klientske ACL (vaše Proxmox IP nie je na povolenom zozname), <code>rpcbind</code> nebeží na serveri, alebo server vystaví iba NFSv4 s <code>showmount</code> vypnutým. Exportná cesta môže byť stále pridaná ručne, ak ju poznáte.",
"inactiveTitle": "Úložisko ukazuje ako neaktívne v systéme Proxmox UI",
"inactiveBody": "Najprv spustite <em>Testovať pripojenie NFS</em>: overí, či server odpovedá na ping, či je otvorený port 2049 a či je dostupný zoznam exportov (<code>showmount -e</code>). Ak spojenie funguje, ale úložisko zostáva neaktívne, skontrolujte <code>journalctl -u pvestatd</code> a konfiguráciu servera/exportu. Najprv opravte spojenie alebo oprávnenia. Príkaz <code>pvesm set &lt;id&gt; --disable 0</code> zapne vypnuté úložisko; nie je všeobecnou opravou chýb NFS.",
"lxcNoWriteTitle": "Pripojenie fstab funguje, ale neprivilegovaný LXC nemôže zapisovať cez bind mount",
"lxcNoWriteBody": "Prístup NFS závisí od vlastníkov, ACL a nastavení squash na serveri. Voľby CIFS <code>uid=</code> a <code>file_mode=</code> pre NFS <strong>neplatia</strong>. Pri predvolenom mapovaní LXC má root z CT na hostiteľovi UID 100000, nie vzdialené UID 0. Povoľte prístup skutočnému mapovanému UID/GID alebo anonymnej identite servera. <code>no_root_squash</code> ovplyvňuje iba vzdialené UID 0 a nie je všeobecným riešením pre UID 100000. Skript skúsi <code>chmod 1777</code>, ale oprávnenia servera neobíde.",
"fstabBootTitle": "fstab mount nepríde po reštarte",
"fstabBootBody": "Skript pridáva <code>nofail,_netdev</code>, aby nedostupné zdieľanie pri štarte neblokovalo spúšťanie systému. Ak sa nepripojí vôbec, overte dostupnosť siete pomocou <code>ping &lt;server&gt;</code>, skontrolujte <code>journalctl -u remote-fs.target</code> a platnosť záznamu pomocou <code>mount -fav | grep nfs</code>. Príkaz <code>mount -a</code> po štarte pripojí položky, ktoré zatiaľ chýbajú."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako úložisko Proxmox",
"tail": " — Rovnaký vzorec prietoku (Metóda A pvesm + metóda B fstab) pre zdieľania SMB/CIFS."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Správca LXC mountov",
"tailRich": " Pripojiť cestu, ktorá je určená len pre fstab <code>/mnt/&lt;path&gt;</code> do jedného alebo viacerých kontajnerov."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"tail": " Alternatíva: pripojte NFS priamo zvnútra privilegovaného kontajnera (obíde hostiteľa)."
}
]
}
}
@@ -0,0 +1,172 @@
{
"meta": {
"title": "Hostiteľ: pripojenie zdieľania Samba | Dokumentácia ProxMenux",
"description": "Pripojte externé zdieľanie Samba / CIFS na hostiteľovi Proxmox: ako úložisko Proxmox (pvesm add cifs), ako bežné pripojenie cez fstab hostiteľa s otvorenými oprávneniami uid/gid/file_mode (NEZOBRAZUJE sa v Datacenter > Storage), alebo oboma spôsobmi. Metóda fstab otvorí oprávnenia, aby neprivilegovaný LXC s bind mountom tejto cesty mohol čítať a zapisovať bez zmien v kontajneri.",
"ogTitle": "Hostiteľ: pripojenie zdieľania Samba | Dokumentácia ProxMenux",
"ogDescription": "Pripojte externé zdieľanie Samba / CIFS na hostiteľovi Proxmox cez pvesm, fstab s otvorenými oprávneniami pre bind mounty LXC alebo oboje."
},
"header": {
"title": "Hostiteľ: pripojiť zdieľanie Samba na hostiteľovi",
"description": "Pripojte externé zdieľanie Samba (SMB / CIFS) z NAS, počítača Windows alebo exportu SMB TrueNAS na hostiteľovi Proxmox. Vyberte jeden alebo oba spôsoby: registráciu úložiska Proxmox viditeľného v Datacenter > Storage a samostatné pripojenie cez /etc/fstab na zvolenú cestu. Otvorené voľby uid/gid/file_mode umožnia neprivilegovaným LXC používať bind mount bez zmien vnútri kontajnera.",
"section": "Úložisko a zdieľanie · hostiteľ"
},
"intro": {
"title": "Čo to robí?",
"body": "ProxMenux ponúka dva spôsoby pripojenia zdieľania Samba: <strong>(1) Úložisko Proxmox</strong> cez <code>pvesm add cifs</code>, viditeľné v Datacenter > Storage a pripojené do <code>/mnt/pve/&lt;id&gt;</code>. Heslo sa uchováva v otvorenom texte v <code>/etc/pve/priv/storage/&lt;id&gt;.pw</code>, chránené súkromným adresárom prístupným iba root. Ide o riadenie prístupu, nie šifrovanie. <strong>(2) Pripojenie fstab na hostiteľovi</strong> do zvolenej cesty, trvalé cez <code>/etc/fstab</code> a s voľbami <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>, aby neprivilegované LXC mohli zapisovať cez bind mounty. Prihlasovacie údaje sú v súbore pre root v <code>/etc/samba/credentials/</code>, nikdy priamo vo <code>fstab</code>. Možno použiť jeden spôsob alebo oba."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Mount Samba Share on Host</strong>. Zobrazí sa podponuka so štyrmi možnosťami:",
"imageAlt": "Ponuka Samba hostiteľa — Pripojiť / Zobraziť / Odstrániť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript",
"body": "Postup má dve fázy. Najprv vyhľadá server, overí prihlasovacie údaje, vyberie zdieľanie a spôsoby pripojenia. Potom vykoná iba vybrané metódy. Prihlasovacie údaje potrebuje vopred, pretože <code>smbclient</code> ich používa na výpis zdieľaní. Do záverečného potvrdenia nemení <code>/etc/pve/storage.cfg</code> ani <code>/etc/fstab</code>."
},
"modes": {
"heading": "Výber spôsobu pripojenia (označte jednu alebo obe možnosti)",
"intro": "Po výbere zdieľania a overení prihlasovacích údajov zobrazí ProxMenux zoznam dvoch spôsobov pripojenia. Môžete označiť jeden alebo oba. Ak stlačíte OK bez výberu, dialóg sa otvorí znovu. Vyberte aspoň jednu možnosť alebo postup ukončite tlačidlom Zrušiť.",
"headerMethod": "Metóda",
"headerMount": "Cesta pripojenia",
"headerUi": "Viditeľné v datacentre > Úložisko",
"headerUseCase": "Typický prípad použitia",
"rows": [
{
"method": "<strong>Ako úložisko Proxmox (pvesm)</strong>",
"mountRich": "<code>/mnt/pve/&lt;storage-id&gt;</code> (manažovaný spoločnosťou Proxmox)",
"ui": "Áno",
"useCase": "Zálohy, obrazy ISO a šablóny LXC — všetko, čo má byť viditeľné v rozhraní Proxmox. Aktívne disky VM sú technicky podporované, ale pri CIFS sa neodporúčajú pre odlišné správanie zámkov."
},
{
"method": "<strong>Iba fstab hostiteľa</strong>",
"mountRich": "<code>/mnt/&lt;path&gt;</code> s otvoreným uidom/gid/file_mode",
"ui": "Nie",
"useCaseRich": "Sprístupnite zdieľanie LXC cez bind mount <em>bez</em> registrácie úložiska Proxmox. Otvorené lokálne oprávnenia pomôžu neprivilegovaným CT, ale zápis stále musí povoliť server SMB overenému používateľovi."
},
{
"method": "<strong>Obe</strong>",
"mount": "Obe cesty uvedené vyššie (dva body pripojenia toho istého exportu CIFS)",
"ui": "Áno",
"useCase": "Chcete UI integráciu A stabilnú cestu na strane hostiteľa s otvorenými právami pre LXC viazanie-mounts. Pripojenie pvesm používa predvolené nastavenia Proxmox; pripojka fstab aplikuje otvorené uid/gid/file_mode samostatne."
}
],
"bothTitle": "„Oboje“ vytvorí dva body pripojenia CIFS",
"bothBody": "pvesm pripojí zdieľanie do <code>/mnt/pve/&lt;id&gt;</code> s predvolenými voľbami Proxmoxu. fstab používa <code>/mnt/&lt;path&gt;</code> s <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> na lokálny prístup cez bind mounty LXC. Server SMB stále vynucuje oprávnenia používateľa pripojenia. Dva body pripojenia nezaručujú dve samostatné spojenia TCP."
},
"pvesmBranch": {
"heading": "Metóda A — ako úložisko Proxmox (pvesm)",
"intro": "Ak je <em>Ako úložisko Proxmox</em> označený, ProxMenux spustí pôvodný pvesm prietok:",
"items": [
"<strong>ID skladu</strong> Predvolené <code>cifs-&lt;server-ip-with-dashes&gt;</code>. Iba písmená, číslice, <code>-</code> a <code>_</code>.",
"<strong>Typy obsahu</strong> — tento výber ProxMenuxu ponúka <strong>6</strong> možností. Oproti NFS vynecháva <code>rootdir</code>. Ide o rozhodnutie skriptu, nie tvrdenie, že každá verzia backendu CIFS v Proxmoxe zakazuje koreňové súborové systémy LXC:"
],
"headerType": "Typ obsahu",
"headerAllows": "Čo to umožňuje",
"rows": [
{
"type": "import",
"allows": "Import obrazu disku (štandardne vybraný)."
},
{
"type": "backup",
"allowsRich": "VM a CT záložné súbory (<code>vzdump</code>)."
},
{
"type": "iso",
"allows": "Inštalačné obrazy ISO."
},
{
"type": "vztmpl",
"allows": "Šablóny LXC."
},
{
"type": "images",
"allowsRich": "Obrazy diskov používaných VM — <strong>s varovaním v dialógu</strong>, pozrite nižšie."
},
{
"type": "snippets",
"allows": "Hook skripty a snippet súbory cloud-init."
}
],
"warnTitle": "Živé disky VM na CIFS",
"warnBody": "Výber <code>images</code> zobrazí varovanie ProxMenuxu: CIFS/SMB môže spôsobovať problémy so zámkami pri operáciách s diskami VM. Skript odporúča NFS, ale umožní pokračovať. Zálohy a ISO sú bežným použitím CIFS. Pred použitím pre <code>images</code> posúďte zámky, snímky, migráciu a záťaž.",
"credsTitle": "Kde pvesm ukladá údaje",
"credsBody": "Heslo sa nezapisuje do <code>/etc/pve/storage.cfg</code>. Proxmox uloží údaje v otvorenom texte do <code>/etc/pve/priv/storage/&lt;storage-id&gt;.pw</code>, v súkromnej oblasti klastrového súborového systému, ktorú môže čítať iba <code>root</code> (režim <code>0600</code>); chránia ich prístupové práva, nie šifrovanie. Po zmene hesla na serveri použite <code>pvesm set &lt;id&gt; --password &lt;new&gt;</code> alebo úložisko odstráňte a pridajte cez ProxMenux."
},
"fstabBranch": {
"heading": "Metóda B — iba pripojenie cez fstab hostiteľa",
"intro": "Pri výbere <em>Iba pripojenie cez fstab hostiteľa</em> sa ProxMenux opýta na cestu a trvalé voľby, v režime používateľa vytvorí súbor prihlasovacích údajov iba pre root, pripojí zdieľanie a zapíše položku do <code>/etc/fstab</code>:",
"items": [
"<strong>Cesta pripojenia k hostiteľovi</strong> Predvolené <code>/mnt/&lt;share-name&gt;</code>. Musí to byť absolútna cesta. Ak je tam niečo už namontované, alebo existuje fstab položka, ProxMenux ponúka, že ho nahradí.",
"<strong>Voľby pripojenia</strong> — <em>Čítanie/zápis</em> (predvolené: <code>rw,uid=0,gid=0,file_mode=0777,dir_mode=0777,iocharset=utf8,nofail,_netdev</code>), <em>Iba na čítanie</em> (<code>file_mode=0555,dir_mode=0555</code>), <em>Vlastné</em> (zadajte vlastné voľby). Skript odporúča otvorené uid/gid/file_mode pre zápis cez bind mounty LXC."
],
"credsTitle": "Súbor prihlasovacích údajov (režim používateľa)",
"credsBody": "V režime používateľa ProxMenux vytvorí súbor údajov iba pre root v <code>/etc/samba/credentials/&lt;server&gt;_&lt;share&gt;.cred</code> (režim <code>0600</code>) s riadkami <code>username=</code> a <code>password=</code>. Položka fstab naň odkazuje cez <code>credentials=</code>; heslo v otvorenom texte nie je v <code>/etc/fstab</code>. V režime hosťa sa pridá <code>guest</code> a súbor údajov sa nevytvorí.",
"appliesIntro": "Keď potvrdíte, skript:",
"applies": [
"Vytvorí adresár bodu pripojenia pomocou <code>mkdir -p</code>.",
"<code>mount -t cifs -o &lt;opts&gt;,credentials=&lt;file&gt;</code> (alebo <code>guest</code>) <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt;</code>.",
"Napíše jednoriadkový zápis do <code>/etc/fstab</code>: <code>//&lt;srv&gt;/&lt;share&gt; &lt;path&gt; cifs &lt;opts&gt; 0 0</code>.",
"Spustí <code>systemctl daemon-reload</code> takže systemd zachytí novú fstab položku."
],
"lxcTitle": "Použitie pripojenia fstab z neprivilegovaného LXC",
"lxcBody": "Voľby CIFS <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code> otvoria lokálne kontroly oprávnení pre bind mounty LXC. ACL servera a dohodnutá sémantika Unix/POSIX môžu prístup stále ovplyvniť. <strong>V kontajneri sa nič nemení</strong>: žiadne <code>chown</code> v CT, skupiny ani úpravy <code>/etc/lxc</code>. Riadok <code>mp</code> spravuje Proxmox v konfigurácii CT. Použite vypísaný príkaz <code>pct set</code> alebo <mountLink>LXC Mount Manager</mountLink>.",
"noUiTitle": "Pripojenie fstab NIE JE úložiskom Proxmox",
"noUiBody": "Hostiteľský fstab mount je neviditeľný pre web Proxmox UI — podľa návrhu. Nezobrazuje sa v <em>Datacenter > Storage</em>, nemôžete ho vybrať v tvorcovi VM / CT a úlohy zálohovania Proxmox sa naň nemôžu zamerať. Je to čisto cesta hostiteľského súborového systému. Ak chcete aj integráciu UI, označte vo výbere <em>obe</em> metódy."
},
"manual": {
"heading": "Ručný ekvivalent",
"pvesmIntro": "Metóda A (pvesm) zodpovedá:",
"fstabUserIntro": "Metóda B (fstab, overenie používateľa) — súbor prihlasovacích údajov a pripojenie:",
"fstabGuestIntro": "Metóda B (fstab, hosť) — bez súboru prihlasovacích údajov:"
},
"view": {
"heading": "Zobraziť úložiská CIFS a pripojenia hostiteľa",
"body": "Zobrazí registrované úložiská CIFS (<code>pvesm status | awk ''$2 == \"cifs\"''</code>) so serverom, zdieľaním, obsahom, používateľom alebo <em>hosťom</em>, cestou a stavom. Heslá <strong>nikdy nevypisuje</strong>. <strong>Poznámka:</strong> druhá časť vypíše pripojenia fstab hostiteľa, voľby, cestu súboru údajov a aktívny/neaktívny stav. Ručne overte pomocou <code>findmnt -t cifs</code> alebo <code>grep cifs /etc/fstab</code>."
},
"remove": {
"heading": "Odstrániť úložisko CIFS alebo pripojenie hostiteľa",
"body": "Výber ponúka úložiská pvesm aj pripojenia fstab hostiteľa. Pri pvesm spustí <code>pvesm remove &lt;storage-id&gt;</code> a Proxmox odstráni príslušné údaje. Pri fstab skúsi <code>umount &lt;path&gt;</code>, odstráni položku z <code>/etc/fstab</code>, údaje z <code>/etc/samba/credentials/</code> a podľa možnosti prázdny adresár. Neúspešné odpojenie vyžaduje ručné odpojenie alebo reštart. <strong>Vzdialený server Samba a jeho súbory sa nemenia</strong>.",
"warnTitle": "Zálohovanie závislostí najprv",
"warnBody": "VM, CT alebo úlohy zálohovania odkazujúce na ID tohto úložiska po odstránení zlyhajú. Pred odstránením úložiska odkazy presuňte alebo odstráňte."
},
"test": {
"heading": "Testovať Samba konektivitu",
"body": "Diagnostika každého úložiska CIFS registrovaného v Proxmoxe: overí dostupnosť <code>smbclient</code>, ping, porty 445/139, skúsi výpis zdieľaní ako hosť a zobrazí stav podľa Proxmoxu (<code>pvesm status</code>). „Vyžaduje overenie“ pri výpise hosťa znamená, že server sprístupňuje zdieľania iba overeným používateľom, čo je bežné pre väčšinu NAS."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noServersTitle": "\"Žiadne Samba servery nájdené v sieti\"",
"noServersBody": "Automatické vyhľadávanie používa <code>nmap -p 139,445</code>. Server môže byť na inej podsiete, firewalled, alebo len dosiahnuteľný podľa mena hostiteľa (mDNS / WINS). Použite možnosť <em>Manual</em> s IP alebo názov hostiteľa.",
"noSharesTitle": "„Nenašli sa dostupné zdieľania“",
"noSharesBody": "<code>smbclient -L</code> pre tieto údaje nič nevrátil. Používateľ nemusí mať právo vypísať zdieľania (skúste raz administrátorské údaje alebo zadajte názov ručne), server môže mať vypnutú viditeľnosť zdieľaní alebo sú údaje nesprávne. V takom prípade skript umožní zadať názov zdieľania ručne.",
"denyTitle": "Pripojenie v Proxmoxe zlyhá s NT_STATUS_ACCESS_DENIED",
"denyBody": "Poverenia pvesm uložené sú mimo synchronizáciu so serverom Samba (zmenilo sa heslo, účet vypnutý, nesúlad domény / pracovnej skupiny). Opätovne zadať údaje <code>pvesm set &lt;id&gt; --username &lt;u&gt; --password &lt;p&gt;</code> alebo odstrániť a opätovne pridať z ProxMenux. Ak je server v doméne AD, pripojte <code>--domain &lt;DOMAIN&gt;</code> k hovoru <code>pvesm set</code>.",
"sleepTitle": "\"host je dole\" alebo stav úložiska je neaktívny v noci",
"sleepBody": "Niektoré NAS spotrebiče dali SMB do agresívneho spánku. <code>pvestatd</code> potom vidí úložisko ako neaktívne, kým prvý prístup prebudí NAS. Ak je to kozmetické, nič nie je pokazené. Ak to spôsobí poruchy zálohovania, zakázať SMB vypnuté odpojenie na NAS alebo plán záloh mimo okna spánku.",
"lxcNoWriteTitle": "Neprivilegovaný LXC nemôže zapisovať do cesty fstab cez bind mount",
"lxcNoWriteBody": "Pomocou <code>findmnt /mnt/&lt;path&gt;</code> overte požadované voľby, napríklad <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>. Chýbajúci lokálny zápis môže blokovať mapované UID LXC. Znova použite profil RW alebo upravte vlastné voľby. Overte aj právo zápisu používateľa SMB na serveri a či rozšírenia Unix/POSIX poskytujú režimy servera. Otvorené lokálne režimy neobídu ACL servera.",
"fstabBootTitle": "fstab mount nepríde po reštarte",
"fstabBootBody": "Skript pridáva <code>nofail,_netdev</code>, aby nedostupné zdieľanie pri štarte neblokovalo spúšťanie systému. Ak sa nepripojí vôbec, overte sieť pomocou <code>ping &lt;server&gt;</code>, skontrolujte <code>journalctl -u remote-fs.target</code>, existenciu a čitateľnosť súboru s údajmi pomocou <code>ls -l /etc/samba/credentials/</code> a skúste ručne spustiť <code>mount -a</code>."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tail": " — súvisiaca stránka s rovnakým postupom (metóda A pvesm + metóda B fstab) a porovnaním výhod a nevýhod."
},
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "Správca LXC mountov",
"tailRich": " Pripojiť cestu, ktorá je určená len pre fstab <code>/mnt/&lt;path&gt;</code> do jedného alebo viacerých kontajnerov."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient v LXC",
"tail": " Alternatíva: pripojte Samba priamo zvnútra privilegovaného kontajnera (obíde hostiteľa)."
}
]
}
}
@@ -0,0 +1,135 @@
{
"meta": {
"title": "Proxmox NFS, Samba, iSCSI a body pripojenia LXC — Úložisko a zdieľanie | ProxMenux",
"description": "Integrujte externé aj lokálne úložisko do Proxmox VE a zdieľajte priečinky medzi hostiteľom a kontajnermi LXC. Pridajte zdieľania NFS, Samba (CIFS) a ciele iSCSI ako úložisko Proxmox, nastavte bind mounty LXC cez Mount Manager a prevádzkujte klientov a servery NFS alebo Samba v kontajneroch.",
"ogTitle": "Proxmox NFS, Samba, iSCSI a body pripojenia LXC — Úložisko a zdieľanie",
"ogDescription": "Integrácia externých a lokálnych úložísk do Proxmox VE: registrácia NFS, Samba a iSCSI, bind mounty LXC a zdieľanie cez sieť.",
"twitterTitle": "Proxmox NFS, Samba, iSCSI | ProxMenux",
"twitterDescription": "Pridajte NFS / Samba / iSCSI ako úložisko Proxmox a zdieľajte priečinky medzi hostiteľom a LXC."
},
"header": {
"title": "Správca úložísk a zdieľania",
"description": "Integrujte externé alebo lokálne úložisko do Proxmox VE a zdieľajte priečinky medzi hostiteľom a kontajnermi LXC. Tri skupiny nástrojov: integrácia úložiska hostiteľa (registrácia priamo v Proxmoxe), LXC Mount Manager (bind mounty s praktickou správou oprávnení) a sieťové zdieľanie LXC (postupy klienta a servera NFS alebo Samba pre konkrétne prípady použitia).",
"section": "Úložisko a zdieľanie"
},
"intro": {
"title": "Na čo je toto menu",
"body": "Disk Manager pracuje na úrovni <em>jednotlivých fyzických diskov</em>. Storage &amp; Share Manager pracuje o úroveň vyššie — <strong>registruje úložné pooly a sieťové zdieľania v Proxmoxe</strong> (aby ich mohlo používať rozhranie a nástroj na vytváranie VM) a <strong>nastavuje zdieľanie súborov medzi hostiteľom a kontajnermi</strong>."
},
"opening": {
"heading": "Otvorenie menu",
"body": "V hlavnej ponuke ProxMenux vyberte <strong>Storage &amp; Share Manager</strong>. Zobrazí sa toto:",
"imageAlt": "Menu správcu úložiska a zdieľania s blokmi HOST a LXC"
},
"groups": {
"heading": "Tri skupiny nástrojov",
"intro": "Ponuka je rozdelená na tri skupiny. <strong>Integrácia úložiska hostiteľa</strong> registruje externé alebo lokálne úložisko priamo v Proxmoxe. <strong>LXC Mount Manager</strong> je hlavný nástroj na zdieľanie priečinkov s kontajnermi — praktický postup bind mountu, ktorý na strane hostiteľa rieši mapovanie UID neprivilegovaných CT. <strong>Sieťové zdieľanie LXC</strong> zahŕňa štyri ďalšie scenáre, pri ktorých kontajner potrebuje priamo <em>používať</em> alebo <em>sprístupňovať</em> zdieľania NFS alebo Samba.",
"hostTitle": "Úložisko hostiteľa",
"hostBody": "Zaregistrujte externé a lokálne úložisko v Proxmoxe cez <code>pvesm add …</code>. Po registrácii, úložisko sa objaví v Proxmox UI a je k dispozícii pre VM a CT tvorcov.",
"hostItems": [
"Externé NFS / Samba / iSCSI → Úložisko Proxmox",
"Lokálny disk → Adresár Proxmox alebo pamäť ZFS",
"Lokálny zdieľaný adresár (pre bind mounty medzi CT)"
],
"lxcMountTitle": "Správca LXC mountov",
"lxcMountBody": "Hlavný nástroj na zdieľanie LXC. Cez <code>pct set -mpN</code> sprístupňuje adresáre hostiteľa v kontajneroch pomocou bind mountov a rieši osobitosti oprávnení neprivilegovaných CT bez vytvárania skupín alebo používateľov v kontajneri.",
"lxcMountItems": [
"Pracuje s privilegovanými a neprivilegovanými CT",
"Ponúka nastavenie <code>o+rwx</code> v adresári hostiteľa pre neprivilegované UID",
"V prípade potreby opraví existujúce pripojenia CIFS a NFS"
],
"lxcNetTitle": "Sieťové zdieľanie v LXC",
"lxcNetBody": "Štyri ďalšie postupy pre kontajnery, ktoré potrebujú priamo používať alebo sprístupňovať zdieľania NFS alebo Samba. Všetky vyžadujú <strong>privilegovaný</strong> kontajner.",
"lxcNetItems": [
"<strong>Klient</strong> NFS / Samba (používanie externých zdieľaní)",
"<strong>Server</strong> NFS / Samba (sprístupňovanie priečinkov CT)"
]
},
"host": {
"heading": "Napojenie úložiska na hosta",
"intro": "Zaregistrujte skladovanie v Proxmox. Každá možnosť volá <code>pvesm add …</code> pod kapotou, takže úložisko sa zobrazí v <strong>Datacenter → Úložisko</strong> a stáva sa k dispozícii pre tvorcov VM / CT.",
"options": [
{
"href": "/docs/storage-share/host-nfs",
"icon": "Network",
"title": "Pridať NFS zdieľanie ako Proxmox úložisko",
"description": "Zaregistruje externý export NFS ako úložisko Proxmox pomocou pvesm add nfs. Pripojenie spravuje Proxmox, bez ďalších záznamov vo fstab."
},
{
"href": "/docs/storage-share/host-samba",
"icon": "Share2",
"title": "Pridať Samba zdieľanie ako Proxmox úložisko",
"description": "Zaregistruje externé zdieľanie Samba alebo CIFS ako úložisko Proxmox pomocou pvesm add cifs. Proxmox spravuje pripojenie aj prihlasovacie údaje."
},
{
"href": "/docs/storage-share/host-iscsi",
"icon": "Database",
"title": "Pridať iSCSI target ako Proxmox úložisko",
"description": "Pripojte sa k externému iSCSI cieľu a zaregistrujte ho ako úložisko Proxmox (blokové zariadenie) pre obrazy VM disku."
},
{
"href": "/docs/storage-share/host-local-disk",
"icon": "HardDrive",
"title": "Pridať lokálny disk ako Proxmox úložisko",
"description": "Naformátujte lokálny disk SATA / SAS / NVMe a zaregistrujte ho ako adresár Proxmox alebo ZFS pool úložisko."
},
{
"href": "/docs/storage-share/host-local-shared",
"icon": "FolderOpen",
"title": "Pridať zdieľaný priečinok na hoste",
"description": "Vytvorte adresár na hostiteľovi určený na sprístupnenie viacerým CT pomocou bind mountov. Nejde o úložisko Proxmox — je to iba prostriedok na strane hostiteľa pre bind mounty LXC."
}
]
},
"lxcMount": {
"heading": "Správca LXC mountov",
"intro": "Hlavný nástroj na zdieľanie priečinkov medzi hostiteľom Proxmox a kontajnermi LXC. Používa <code>pct set -mpN</code> na bind mount adresára hostiteľa do kontajnera a na strane hostiteľa rieši osobitosti oprávnení neprivilegovaných CT (v kontajneri sa nevytvárajú skupiny ani používatelia).",
"card": {
"title": "Body pripojenia LXC (hostiteľ ↔ CT)",
"description": "Sprístupnite ľubovoľný adresár hostiteľa kontajneru LXC cez bind mount pomocou pct set -mpN. Funguje s privilegovanými aj neprivilegovanými CT, ponúka chmod o+rwx a ACL pre adresár na hostiteľovi a podľa potreby opraví existujúce pripojenia CIFS alebo NFS."
}
},
"lxcNet": {
"heading": "Sieťové zdieľanie v LXC",
"intro": "Tieto postupy použite, ak kontajner potrebuje <em>byť</em> koncovým bodom NFS alebo Samba — používať externé zdieľanie (klient) alebo sprístupňovať vlastné priečinky (server). Pre väčšinu potrieb zdieľania (bind mounty hostiteľ ↔ CT) je <mountLink>LXC Mount Manager</mountLink> jednoduchší a nevyžaduje privilegované kontajnery.",
"options": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"icon": "Download",
"title": "NFS klient v LXC",
"description": "Pripájajte externé zdieľania NFS z privilegovaného kontajnera LXC. Podporuje automatické vyhľadanie, trvalé nastavenie v /etc/fstab a čisté odpojenie."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"icon": "Download",
"title": "Samba klient v LXC",
"description": "Pripájajte zdieľania Samba / CIFS z privilegovaného kontajnera LXC. Prihlasovacie údaje sa ukladajú chráneným spôsobom a je dostupné automatické vyhľadanie."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"icon": "Upload",
"title": "NFS server v LXC",
"description": "Exportovať priečinky cez NFS z vo vnútri privilegovaného LXC kontajnera."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"icon": "Upload",
"title": "Samba server v LXC",
"description": "Sprístupniť priečinky cez SMB / CIFS z privilegovaného LXC kontajnera."
}
]
},
"privReq": {
"title": "Požiadavka na privilegovaný kontajner",
"body": "Štyri uvedené postupy <strong>sieťového zdieľania LXC</strong> vyžadujú <strong>privilegovaný</strong> kontajner. Skripty tento podporovaný režim overujú pred nastavením služieb a pripájacích nástrojov (<code>nfs-kernel-server</code>, <code>smbd</code>, <code>mount.nfs</code>, <code>mount.cifs</code>). Ak potrebujete len zdieľať súbory medzi hostiteľom a neprivilegovaným CT, použite <mountLink>LXC Mount Manager</mountLink> — vytvorí bind mount a upraví oprávnenia na hostiteľovi, takže kontajner môže čítať a zapisovať bez nastavenia týchto služieb či nástrojov vo svojom vnútri."
},
"unprivExplain": {
"title": "Ako ProxMenux spracováva neprivilegované práva CT",
"body": "Neprivilegované kontajnery LXC posúvajú svoje UID na hostiteľovi o <strong>+100000</strong> (UID 0 v kontajneri = UID 100000 na hostiteľovi, UID 1000 v kontajneri = UID 101000 na hostiteľovi, …). Súbor vytvorený používateľom kontajnera sa preto na hostiteľovi javí ako <em>ostatní</em> — nezodpovedá bežnému používateľovi ani skupine hostiteľa. LXC Mount Manager to rieši prakticky: namiesto zosúlaďovania UID/GID medzi hostiteľom a CT ponúka <code>chmod o+rwx</code> a zodpovedajúce ACL v adresári hostiteľa, aby každé mapované UID mohlo čítať a zapisovať. CIFS znova pripojí s <code>uid=0,gid=0,file_mode=0777,dir_mode=0777</code>; pri NFS nastaví adresár zapisovateľný všetkými so sticky bitom a pri root squash poradí so správnou úpravou na serveri."
},
"scripts": {
"heading": "Uvedené skripty",
"intro": "Každá jednotlivá stránka odkazuje na skript, ktorý riadi jej tok. Nižšie uvedený súbor je zdieľaný pomocník, ktorý nie je zdokumentovaný ako jeho vlastná stránka, ale je používaný niekoľkými z LXC sieťových tokov:",
"itemTail": " — spoločné pomocné funkcie pre klientov a servery LXC: overenie CT, výber bodu pripojenia, kontrola privilegovaného režimu a nastavenie univerzálnej skupiny."
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Body pripojenia LXC (hostiteľ ↔ kontajner) | Dokumentácia ProxMenux",
"description": "LXC Mount Manager sprístupní adresár hostiteľa jednému alebo viacerým kontajnerom LXC cez bind mount pomocou pct set -mpN. Rieši osobitosti oprávnení neprivilegovaných kontajnerov, opravuje pripojenia CIFS a NFS na hostiteľovi a vnútri kontajnera nič nemení.",
"ogTitle": "Body pripojenia LXC (hostiteľ ↔ kontajner) | Dokumentácia ProxMenux",
"ogDescription": "Sprístupnite adresáre hostiteľa kontajnerom LXC cez bind mount. Prakticky rieši mapovanie UID neprivilegovaných kontajnerov a opravuje prístup CIFS / NFS na hostiteľovi."
},
"header": {
"title": "Body pripojenia LXC (hostiteľ ↔ kontajner)",
"description": "Hlavný nástroj na zdieľanie priečinkov medzi hostiteľom Proxmox a kontajnermi LXC. Sprístupní ľubovoľný adresár hostiteľa jednému alebo viacerým kontajnerom cez bind mount pomocou natívnej syntaxe pct set -mpN. Oprávnenia neprivilegovaných kontajnerov rieši na hostiteľovi a vnútri kontajnera nič nemení.",
"section": "Úložisko a zdieľanie · LXC"
},
"intro": {
"title": "Čo to robí?",
"body": "Vyberte adresár na hostiteľovi Proxmox (lokálny priečinok, pripojené zdieľanie NAS alebo úložisko spravované Proxmoxom) a sprístupnite ho v kontajneri LXC na zvolenej ceste. Oprávnenia fungujú aj pre neprivilegované kontajnery bez zmien vnútri kontajnera."
},
"bigPicture": {
"heading": "Ako to funguje (veľký obraz)",
"intro": "Pri bind mounte Proxmox požiada jadro, aby adresár <code>X</code> hostiteľa zobrazovalo aj na ceste <code>Y</code> v kontajneri. Bez kopírovania, synchronizácie či siete: obe strany vidia súčasne <em>tie isté súbory</em>.",
"sourceLabel": "Hostiteľ Proxmox",
"sourceDetail": "/mnt/data\n(váš priečinok)",
"targetLabel": "Kontajner LXC",
"targetDetail": "/mnt/data\n(Ukazuje sa tu)",
"arrowLabel": "bind mount",
"outro": "Cesta hostiteľa vľavo a cesta kontajnera vpravo sa môžu líšiť. Napríklad <code>/mnt/nas-films</code> na hostiteľovi môže byť <code>/media/films</code> v kontajneri. Skript pridá položku do konfigurácie kontajnera (<code>/etc/pve/lxc/&lt;ctid&gt;.conf</code>) s ďalším voľným indexom <code>mpN</code> a dvoma predvolenými nastaveniami:",
"items": [
"<code>shared=1</code> — označí dáta ako zdieľané, takže ich Proxmox nemigruje s CT. Tento príznak dáta nereplikuje: rovnaká cesta a dáta už musia byť dostupné na cieľovom uzle.",
"<code>backup=0</code> — vylúči bind mount zo záloh <code>vzdump</code>. Dáta sú na hostiteľovi a zálohujete ich samostatne."
]
},
"perms": {
"heading": "Spracovanie oprávnení",
"intro": "Bind mounty sú v princípe jednoduché. Náročné sú oprávnenia: <strong>neprivilegovaný</strong> kontajner LXC posúva UID o <strong>+100000</strong>, takže súbor vytvorený používateľom 1000 v CT má na hostiteľovi UID 101000, ktoré nepatrí bežnému účtu hostiteľa. ProxMenux namiesto zjednocovania UID hostiteľa a kontajnerov upraví oprávnenia na strane <em>hostiteľa</em> podľa typu adresára:",
"headerType": "Typ adresára hostiteľa",
"headerAction": "Čo skript ponúka vykonať",
"localType": "Lokálny priečinok",
"localTypeSub": "napr. /mnt/data",
"localActionRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> v adresári hostiteľa. Ponúka sa len vtedy, ak CT nie je privilegované a aktuálne práva sú nedostatočné.",
"cifsType": "Pripojené CIFS / SMB",
"cifsTypeSub": "napr. /mnt/pve/cifs-…",
"cifsActionRich": "Znova pripojiť s <code>uid=0, gid=0, file_mode=0777, dir_mode=0777</code>, takže CT (akékoľvek UID) môže čítať a zapisovať do zdieľania. <code>/etc/fstab</code> je aktualizovaný.",
"nfsType": "Pripojená NFS",
"nfsTypeSub": "napr. /mnt/pve/nfs-…",
"nfsActionRich": "<code>chmod 1777</code> a <code>setfacl o::rwx</code> na pripojení NFS. Neobídu squashing na serveri: ak nemôže zapisovať ani root hostiteľa, skript poradí upraviť export na serveri NFS.",
"privTitle": "Privilegované kontajnery nepotrebujú nič z toho.",
"privBody": "V privilegovanom CT je UID 0 rovnaké ako UID 0 hostiteľa. Používateľ root v CT preto môže priamo čítať a zapisovať do adresára hostiteľa bez úprav oprávnení. Skript to rozpozná a úpravu oprávnení úplne preskočí.",
"noCtTitle": "Skript nikdy nemení nič vnútri kontajnera",
"noCtBody": "Všetky úpravy oprávnení prebiehajú na <strong>súborovom systéme hostiteľa</strong>. Žiadne zmeny vlastníkov cez <code>pct exec</code>, vytváranie skupín v CT ani fstab v kontajneri. Pri neskoršom použití toho istého adresára v inom CT platia rovnaké oprávnenia automaticky, bez nastavovania každého kontajnera."
},
"writes": {
"heading": "Čo ProxMenux píše a čo nie",
"intro": "Bežný zmätok pri pripájaní väzby do neprivilegovaného CT: ľudia predpokladajú, že ProxMenux musí zapisovať <code>lxc.idmap</code> položky do <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code>. <strong>Nie.</strong> K tomuto súboru je pripojený iba jeden riadok – samotný bind mount:",
"outro": "Výstupný riadok na konci <em>„Neprivilegovaný kontajner — posun UID: 100000“</em> je len informačný. Oznamuje predvolené neprivilegované mapovanie Proxmoxu (root v CT = UID 100000 hostiteľa). Skript toto mapovanie nijako nenastavuje.",
"twoWaysHeading": "Dva spôsoby riešenia oprávnení — a prečo si ProxMenux vyberá jeden",
"headerApproach": "Prístup",
"headerChanges": "Čo to mení",
"headerWhen": "Kedy je vhodný",
"hostType": "Oprávnenia na hostiteľovi",
"hostTypeSub": "(čo tento scenár robí)",
"hostChangesRich": "<code>chmod o+rwx</code> + <code>setfacl o::rwx</code> v adresári hostiteľa. CT zmapované UID (100000+) spadajú do \"ostatných\" vedra, takže otvorenie <em>ostatní</em> je dosť.",
"hostWhen": "Všeobecný prístup k zdieľanému priečinku z ľubovoľného CT. Viaceré CT používajú rovnaký adresár hostiteľa. Jednoduché a opakovane použiteľné.",
"idmapTypeRich": "<code>lxc.idmap</code>",
"idmapTypeSub": "(nepoužitý týmto skriptom)",
"idmapChangesRich": "Vlastné UID/GID mapovanie v <code>/etc/pve/lxc/&lt;CTID&gt;.conf</code> plus zodpovedajúce <code>/etc/subuid</code> + <code>/etc/subgid</code> položky na hostiteľa. CT sa musí reštartovať pri každej zmene.",
"idmapWhenRich": "Potrebujete <em>špecifickú</em> UID vnútri CT mapovať na <em>špecifickú</em> UID na hostiteľa (napr. <code>media:1000</code> v CT musí vlastniť súbory ako <code>media:1000</code> na hostiteľa, takže NFS nemá squash). Pevnejšie nastavenie, zvyčajne stojí za to len pre tento presný scenár.",
"idmapTipTitle": "Keď skutočne potrebujete lxc.idmap",
"idmapTipBody": "Ručné mapovanie použite, ak majú súbory z CT na hostiteľovi patriť konkrétnemu číselnému UID/GID, napríklad spoločnému vlastníkovi s používateľom hostiteľa. Neobíde NFS <code>all_squash</code>; anonymnú identitu a oprávnenia stále určuje server. Podľa potreby ručne pridajte položky <code>lxc.idmap</code>. Riadok bind mountu je od nich nezávislý."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke ProxMenux otvorte <strong>Storage &amp; Share Manager → Configure LXC Mount Points (Host ↔ Container)</strong>. Zobrazí sa podponuka s tromi možnosťami:",
"imageAlt": "Ponuka LXC Mount Manager — Pridať / Zobraziť / Odstrániť"
},
"addFlow": {
"heading": "Pridať pripojenie — celý postup",
"intro": "Technický pohľad, pre kedy chcete presne vedieť, čo robí každý dialóg:"
},
"sources": {
"heading": "Čo si môžete vybrať ako hostiteľský adresár",
"intro": "Výber adresára hostiteľa je najpodrobnejší v časti Úložisko a zdieľanie. Prehľadá štyri zdroje a ponúkne zoznam bez duplicít:",
"headerSource": "Zdroj",
"headerWhere": "Odkiaľ pochádza",
"headerLabel": "Štítok v menu",
"rows": [
{
"source": "Aktívne sieťové pripojenia",
"whereRich": "Aktuálne pripojené zdieľania CIFS / NFS načítané z <code>/proc/mounts</code>.",
"labelRich": "<code>NFS [used/size]</code> alebo <code>CIFS/SMB [used/size]</code>"
},
{
"source": "Neaktívne pripojenia fstab",
"whereRich": "Definované v <code>/etc/fstab</code>, ale momentálne nie sú namontované.",
"labelRich": "<code>fstab(off)-NFS</code> / <code>fstab(off)-CIFS/SMB</code>"
},
{
"source": "Miestne adresáre",
"whereRich": "Sub-adresáre pod <code>/mnt</code>, ktoré nie sú sieťové pripojenia.",
"labelRich": "<code>Local [size]</code>"
},
{
"source": "Úložiská Proxmox",
"whereRich": "Skladovacie cesty pod <code>/mnt/pve/*</code> (NFS / CIFS registrované cez <code>pvesm</code>).",
"labelRich": "<code>PVE-NFS</code> / <code>PVE-CIFS/SMB</code> / <code>Proxmox-Storage</code>"
},
{
"source": "Ručný záznam",
"where": "Čokoľvek iné, zadajte absolútnu cestu.",
"labelRich": "<em>Zadajte cestu manuálne</em>"
}
],
"tipTitle": "Interné cesty Proxmox sú filtrované",
"tipBody": "Výber vynechá interné cesty Proxmoxu (<code>/mnt/pve/local</code>, <code>/mnt/pve/local-lvm</code>, <code>/mnt/pve/backup</code> atď.). Sú vyhradené pre interné použitie a nemali by sa sprístupňovať cez bind mount. Zobrazia sa iba úložiská pridané používateľom."
},
"manual": {
"heading": "Ručný ekvivalent",
"privIntro": "Pre privilegovaný kontajner — najjednoduchší prípad bez úprav oprávnení:",
"unprivLocalIntro": "Pre neprivilegovaný kontajner s lokálnym adresárom hostiteľa — najprv otvorte oprávnenia na hostiteľovi:",
"unprivCifsIntro": "Pre neprivilegovaný kontajner s zdieľaním CIFS už namontovaný na hostiteľa:"
},
"view": {
"heading": "Zobraziť body pripojenia",
"body": "Vypíše všetky položky <code>mpN</code> všetkých kontajnerov na hostiteľovi Proxmox, zoskupené podľa ID CT. Zobrazí cestu hostiteľa → cestu kontajnera aj ďalšie voľby. Je to pohľad iba na čítanie, vhodný na kontrolu pred pridaním či odstránením."
},
"remove": {
"heading": "Odstrániť bod pripojenia",
"body": "Vyberte kontajner, položku <code>mpN</code> a potvrďte. Skript pomocou <code>pct set --delete mpN</code> odstráni položku z konfigurácie CT a ponúkne reštart bežiaceho kontajnera. Adresár hostiteľa a jeho obsah <strong>zostanú nedotknuté</strong>. Pripojenie môžete neskôr pridať znova alebo ten istý adresár pripojiť inému CT.",
"warnTitle": "Bežiace kontajnery potrebujú reštart, aby sa zmeny prejavili",
"warnBody": "Pridanie aj odstránenie bodov pripojenia sa zobrazí vo vnútri kontajnera až po reštarte. Skript ponúka jedno kliknutie <code>pct reboot</code> na konci každej operácie; môžete odmietnuť a reštartovať neskôr."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noMountTitle": "Pripojenie sa zobrazuje v pct config, ale nie v kontajneri",
"noMountBody": "Bind mounty sa pripájajú pri spustení kontajnera. Ak ste pripojenie pridali počas behu CT, reštartujte ho pomocou <code>pct reboot &lt;ctid&gt;</code>. Ak stále chýba aj po reštarte, príkazom <code>pct config &lt;ctid&gt;</code> overte, že záznam existuje a cesta na hostiteľovi skutočne obsahuje adresár.",
"noWriteTitle": "Kontajner môže vidieť adresár, ale nemôže písať",
"noWriteBody": "Takmer vždy ide o oprávnenia. Pri neprivilegovanom CT zopakujte opravu oprávnení v skripte; ACL adresára hostiteľa mohol zmeniť rsync, obnova zálohy alebo ručné <code>chmod</code>. Pri CIFS overte voľby na hostiteľovi pomocou <code>findmnt /mnt/pve/cifs-…</code> a hodnoty <code>uid=</code> / <code>gid=</code> / <code>file_mode=</code>.",
"alreadyTitle": "\"Táto cesta sa už používa ako bod pripojenia v tomto kontajneri\"",
"alreadyBody": "Vybrali ste si rovnakú cestu kontajnera, ktorá je už pripojená k inému adresáru. Buď vyberiete inú cestu kontajnera, alebo najprv odstráňte existujúci bod pripojenia.",
"nfsTitle": "NFS prístup zablokovaný aj po použití hostiteľa fix",
"nfsIntro": "Váš NFS server je squashing koreň alebo všetky spojenia. Skript to môže detekovať (snaží sa napísať testovací súbor z hostiteľa) a zobrazí usmernenie na strane servera. Dve spoločné serverové opravy pre export:",
"nfsItems": [
"<code>no_root_squash</code> — privilegované CT môžu zapisovať priamo.",
"<code>all_squash,anonuid=65534,anongid=65534</code> pre neprivilegované CT."
],
"nfsOutro": "Tieto zmeny sa dejú na serveri NFS (TrueNAS, Synology, váš vlastný export, ...), nie na serveri Proxmox.",
"fstabOffTitle": "Pripojenie \"fstab(off) \" položky nič nerobí",
"fstabOffBody": "Zoznam zobrazuje položky <code>fstab(off)-</code>, ak je sieťové pripojenie definované vo fstab, ale momentálne nie je pripojené. Skript umožní sprístupniť cestu cez bind mount, no adresár zostane prázdny, kým zdieľanie skutočne nepripojíte príkazom <code>mount &lt;path&gt;</code> na hostiteľovi. Najskôr pripojte zdieľanie a až potom ho sprístupnite CT."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/host-local-shared",
"label": "Pridať zdieľaný adresár na hostiteľa",
"tailRich": " — Typický prvý krok: pripraviť <code>/mnt/shared</code> na hostiteľa pred viazaním-pripojiť ho do jedného alebo viacerých CT tu."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Pridať NFS zdieľanie ako Proxmox úložisko",
"extraHref": "/docs/storage-share/host-samba",
"extraLabel": "Pridať Samba zdieľanie ako Proxmox úložisko",
"joiner": " / ",
"tailRich": " — Najskôr zaregistrujte externé zdieľanie v Proxmoxe, potom priviažte jeho cestu <code>/mnt/pve/&lt;id&gt;</code> do CT tu."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"extraHref": "/docs/storage-share/lxc-samba-client",
"extraLabel": "Samba klient v LXC",
"joiner": " / ",
"tail": " - Alternatíva, keď chcete CT sám pripojiť zdieľanie (vyžaduje privilegovaný kontajner)."
}
]
}
}
@@ -0,0 +1,128 @@
{
"meta": {
"title": "NFS klient v LXC | ProxMenux Dokumentácia",
"description": "Pripojte zdieľania NFS priamo zvnútra kontajnera Proxmox LXC pomocou ProxMenuxu. Skript nainštaluje nfs-common, podporuje automatické vyhľadanie serverov v LAN, trvalé pripojenia cez /etc/fstab a bezpečné spúšťanie systému. Vyžaduje privilegovaný kontajner.",
"ogTitle": "NFS klient v LXC | ProxMenux Dokumentácia",
"ogDescription": "Pripojte zdieľania NFS z privilegovaného kontajnera LXC. Automatické vyhľadanie, trvalé záznamy v /etc/fstab a bezpečné nastavenia spúšťania."
},
"header": {
"title": "NFS klient v LXC",
"description": "Pripojte zdieľania NFS priamo z kontajnera Proxmox LXC. Kontajner sa stáva skutočným klientom NFS: komunikuje so serverom cez sieť, spúšťa mount.nfs a zapisuje do /etc/fstab. ProxMenux nainštaluje nfs-common, pomôže vyhľadať servery a exporty a nastaví bezpečné spúšťanie.",
"section": "Úložisko a zdieľanie · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "Klient NFS používajúci <code>mount.nfs</code> potrebuje schopnosti (aspoň <code>SYS_ADMIN</code>), ktoré neprivilegované LXC neposkytujú. Skript vyžiada výber CT a <strong>skončí, ak je neprivilegovaný</strong>. Ak zdieľanie potrebujete v neprivilegovanom CT, najprv ho pripojte na hostiteľovi Proxmox cez <hostNfsLink>Zdieľanie NFS ako úložisko Proxmox</hostNfsLink> a potom ho sprístupnite CT pomocou bind mountu v <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Čo to robí?",
"body": "LXC Mount Manager sprístupňuje CT cestu <em>cez</em> hostiteľa Proxmox. Tento skript namiesto toho poskytne kontajneru <strong>vlastného klienta NFS</strong>: kontajner komunikuje cez sieť, pripája zdieľania priamo zo servera NFS a ukladá ich do vlastného súboru <code>/etc/fstab</code>. Hostiteľ Proxmox nie je súčasťou dátovej cesty.",
"diagramServerLabel": "NFS server",
"diagramServerDetail": "/export/data",
"diagramHostLabel": "Hostiteľ Proxmox",
"diagramHostDetail": "(len\nmost siete)",
"diagramCtLabel": "LXC (privilegovaný)",
"diagramCtDetail": "/mnt/data\nmount.nfs vnútri CT",
"diagramArrow": "NFS",
"twoWaysTitle": "Dva spôsoby, ako poskytnúť CT NFS prístup — vyberte si jeden",
"twoWaysBind": "<strong>Bind mount cez hostiteľa</strong> (<mountLink>LXC Mount Manager</mountLink>): hostiteľ pripojí NFS raz a každý CT dostane rovnakú cestu cez bind mount. Funguje s neprivilegovanými CT. Odporúča sa, ak rovnaké zdieľanie potrebuje viacero CT.",
"twoWaysDirect": "<strong>Priame pripojenie NFS v CT</strong> (táto stránka): CT pripojí NFS samostatne. Vyžaduje privilegovaný CT. Hodí sa, ak má CT spravovať vlastné pripojenie a prihlasovacie údaje alebo ak každý CT komunikuje s iným serverom."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage &amp; Share Manager → Nastaviť klienta NFS v LXC (iba privilegovaný)</strong>. ProxMenux najprv vyžiada <strong>výber cieľového CT</strong>, spustí ho, ak je zastavený, a skončí pri neprivilegovanom CT. Potom sa zobrazí táto podponuka:",
"imageAlt": "Ponuka klienta NFS — Pripojiť / Zobraziť / Odpojiť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript (Mount flow)"
},
"fstabFlags": {
"heading": "Prečo tie fstab vlajky?",
"intro": "Pre trvalé pripojenie skript pridáva tri vlajky za štandardné NFS možnosti: <code>_netdev,x-systemd.automount,noauto</code>. Každý z nich rieši skutočný boot-time problém:",
"headerFlag": "Vlajka",
"headerEffect": "Čo to robí?",
"rows": [
{
"flag": "_netdev",
"effect": "Oznámi inicializačnému systému, že toto pripojenie potrebuje sieť. Spúšťanie systému sa nezablokuje čakaním na pripojenie ešte pred dostupnosťou siete."
},
{
"flag": "x-systemd.automount",
"effectRich": "Vytvorí jednotku systemd automount: súborový systém sa pripojí až pri prvom prístupe k <code>/mnt/&lt;path&gt;</code>. Nedostupný server NFS pri štarte nezablokuje CT."
},
{
"flag": "noauto",
"effect": "Vynechá okamžité pripojenie pri štarte. Spolu s uvedenou jednotkou automount sa súborový systém pripojí až pri prvom prístupe."
}
],
"netEffectTitle": "Čistý účinok",
"netEffectBody": "Súborový systém NFS sa pripojí pri <em>prvom prístupe</em>, nie okamžite pri štarte. Ak server nie je dostupný, prístup môže čakať alebo zlyhať a ovplyvniť služby závislé od danej cesty. Automount znižuje závislosť pri štarte, ale nezaručuje, že výpadok NFS neovplyvní žiadnu službu CT."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup zopakujete ručne — každý príkaz sa spúšťa <strong>vo vnútri CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo priamo cez <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Zobraziť aktuálne pripojenia",
"body": "Zobrazí aktívne pripojenia NFS v CT (<code>mount | grep nfs</code>) aj všetky riadky NFS v jeho <code>/etc/fstab</code>. Pri každom zázname fstab sa zobrazí aktuálny stav pripojenia, čo pomáha nájsť trvalé pripojenia neobnovené pri štarte."
},
"unmount": {
"heading": "Odpojiť zdieľanie NFS",
"body": "Spojí aktívne pripojenia a položky fstab do jedného zoznamu, umožní výber a <strong>odstráni príslušný riadok z <code>/etc/fstab</code></strong>. Skript <em>nespúšťa</em> <code>umount</code> na aktívnom pripojení — upozorní, že odpojenie sa prejaví až po reštarte CT.",
"warnTitle": "Skript odstráni položky fstab, nie aktívne pripojenia",
"warnBody": "Ide o zámerné správanie: <code>umount</code> zlyhá s „device busy“, ak pripojenie stále používa proces v CT. Odstránenie záznamu z fstab zabezpečí, že sa pri ďalšom spustení CT neobnoví. Ak ho chcete odpojiť <em>hneď</em> a ste si istí, že ho nič nepoužíva, po skončení skriptu ručne vykonajte <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code>."
},
"test": {
"heading": "Test NFS konektivita",
"body": "Diagnostika vnútri CT overí inštaláciu <code>nfs-common</code>, beh <code>rpcbind</code> a vypíše aktuálne pripojenia NFS. Potom pri každom serveri NFS uvedenom vo fstab skontroluje ping, port 2049 a <code>showmount -e</code>. Je to vhodný prvý krok, ak sa trvalé pripojenie neobnoví."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript skončí)",
"privBody": "Vybrané CT je neprivilegované. Jadro NFS klient potrebuje schopnosť <code>SYS_ADMIN</code>, ktorú neprivilegované CT nevystavujú. Buď previesť CT na privilegované (Disk Manager &amp; konverzie je zdokumentovaný v <importLink>Import Disk na LXC</importLink>) alebo použiť alternatívnu cestu popísanú v varovaní v hornej časti tejto stránky.",
"aptTitle": "apt-get install nfs-common fails",
"aptIntro": "Skript predpokladá rodinu Debianu CT (<code>apt-get</code>). Ak CT beží Alpine / Arch / Rocky / Alma, inštalačný krok nefunguje ticho. Nainštalujte NFS klienta ručne pre tento distro:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux — krok inštalácie preskočí, keď už sú nástroje k dispozícii.",
"portTitle": "\"NFS port (2049) is not accessible\"",
"portBody": "Ping uspel, ale <code>nc -z &lt;server&gt; 2049</code> zlyhal zvnútra CT. Skontrolujte, či služba NFS beží na serveri, či firewall umožňuje 2049 zo siete CT a či má CT skutočne platnú sieťovú trasu (skúste <code>pct exec &lt;ctid&gt; -- ip route</code>).",
"bootTitle": "Trvalé pripojenie funguje, ale po štarte sa neobnoví",
"bootBody": "Príčinou býva nepripravená sieť pri pripájaní v CT, nedostupný server pri štarte alebo nefungujúce DNS pri štarte. Prvý problém riešia voľby <code>_netdev,x-systemd.automount,noauto</code>; ak ste záznam fstab vytvorili ručne bez nich, pridajte pripojenie znovu cez skript. Automount čaká na prvý prístup, čo je bežné správanie. Pri probléme s DNS použite IP adresu servera namiesto názvu.",
"squashTitle": "Server squashes root, žiadny prístup k zápisu z vnútra CT",
"squashIntro": "Export NFS používa <code>root_squash</code> (štandardne) a CT píše ako root. Dve možnosti:",
"squashItems": [
"Server-strana: zmeňte export na <code>no_root_squash</code> (iba ak veríte CT).",
"Na strane CT zapisujte ako používateľ mimo root, ktorého server akceptuje, alebo vhodne upravte vlastníka zdieľania cez chown."
],
"squashOutro": "ProxMenux to nemôže opraviť — ide o pravidlá servera."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Body pripojenia (Host ↔ Container)",
"tail": " - alternatíva pre neprivilegované CT: pripojiť sa na hostiteľa, naviazať do CT."
},
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom pre zdieľania SMB / CIFS."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS server v LXC",
"tailRich": " — opačný smer: sprístupniť priečinky <em>z</em> CT cez NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tail": " — zaregistrovať zdieľanie priamo v Proxmoxe namiesto jedného CT."
}
]
}
}
@@ -0,0 +1,159 @@
{
"meta": {
"title": "NFS server v LXC | ProxMenux Dokumentácia",
"description": "Zdieľajte priečinky cez NFS z kontajnera Proxmox LXC pomocou ProxMenux. Automaticky nainštaluje nfs-kernel-server a nastaví spoločnú skupinu sharedfiles, /etc/exports, sieťové ACL aj úplnú odinštaláciu. Vyžaduje privilegovaný kontajner.",
"ogTitle": "NFS server v LXC | ProxMenux Dokumentácia",
"ogDescription": "Spustite server NFS v privilegovanom LXC so spoločnou skupinou sharedfiles, sieťovými ACL a úplnou odinštaláciou."
},
"header": {
"title": "NFS server v LXC",
"description": "Spustite server NFS jadra v kontajneri Proxmox LXC a sprístupnite priečinky iným počítačom v sieti. ProxMenux nainštaluje nfs-kernel-server, nastaví spoločnú skupinu sharedfiles na zdieľanie súborov medzi viacerými privilegovanými CT, spravuje /etc/exports a ponúka úplnú odinštaláciu.",
"section": "Úložisko & Share · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "<code>nfs-kernel-server</code> musí pripojiť súborový systém jadra <code>nfsd</code> do <code>/proc/fs/nfsd</code>. To vyžaduje <code>CAP_SYS_ADMIN</code> v mennom priestore jadra hostiteľa, nielen v používateľskom mennom priestore kontajnera. Neprivilegované LXC túto schopnosť nemajú: <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code>; systemd označí <code>nfs-server.service</code> ako zlyhanú pre závislosť. Skript preto vyžaduje privilegovaný CT a <strong>pri neprivilegovanom CT sa ukončí</strong>. Alternatívou je server NFS vo VM."
},
"what": {
"heading": "Čo to robí?",
"body": "Ide o opačný smer než na stránke <em>klienta NFS</em>: CT sa stane <strong>serverom NFS</strong> a sprístupní vlastný priečinok iným CT, hostiteľovi Proxmox, VM alebo fyzickým počítačom.",
"diagramServerLabel": "LXC (privilegovaný) NFS server",
"diagramServerDetail": "/mnt/data\n(sprístupnený priečinok)\n\nchown root:sharedfiles\nchmod 2775 (SGID)\n\nnfs-kernel-server\n+ rpcbind spustené",
"diagramClientLabel": "Každý klient v sieti",
"diagramClientDetail": "ďalší CT, hostiteľ,\nVM, fyzický stroj...",
"diagramArrow": "Export NFS"
},
"shared": {
"heading": "Spoločná skupina „sharedfiles“",
"body": "Skript vytvorí skupinu <code>sharedfiles</code> s GID <strong>101000</strong> a pridá do nej bežných používateľov. Exportovaný adresár nastaví na <code>root:sharedfiles</code> s režimom <code>2775</code>. Úvodná číslica <code>2</code> zapína SGID: nové súbory a podadresáre zdedia skupinu <code>sharedfiles</code>.",
"gidTitle": "Prečo konkrétne GID 101000",
"gidBody": "Pri predvolenom mapovaní ID v LXC (+100000) sa GID 101000 hostiteľa zobrazí ako GID <strong>1000</strong> v neprivilegovanom CT. Tento serverový postup používa <strong>privilegovaný</strong> CT bez posunu ID. Dva privilegované CT so skupinou <code>sharedfiles</code> a GID 101000 preto používajú rovnaké číselné ID skupiny.",
"remapTitle": "Staré vytváranie používateľov „remap_*“ sa pri privilegovaných CT preskočí",
"remapBody": "Stará vetva pre neprivilegované CT by vytvorila používateľov <code>remap_&lt;uid&gt;</code> s UID <code>&lt;uid&gt; + 100000</code> v skupine <code>sharedfiles</code> pre bežných používateľov a časté UID (33, 1000, 1001, 1002). Posun <code>+100000</code> sa na požadované <strong>privilegované</strong> CT nevzťahuje, preto skript túto vetvu preskočí. Chýbajúce účty <code>remap_*</code> vo výstupe <code>getent passwd</code> sú očakávané a neznamenajú chybu."
},
"defaults": {
"heading": "Predvolené voľby exportu — prečítajte si najprv",
"warnTitle": "Štandardné možnosti zahŕňajú no_root_squash",
"warnBody": "ProxMenux predvolene používa <code>rw,sync,no_subtree_check,'<'strong'>'no_root_squash'<'/strong'>'</code>. <strong>Každý používateľ root na klientovi môže do exportu zapisovať ako root.</strong> Používajte to iba v dôveryhodnej domácej LAN. Ak je CT dostupný z nedôveryhodnej siete (VPS alebo nedôveryhodná VLAN), <strong>zmeňte voľbu na <code>root_squash</code></strong> v dialógu vlastných volieb."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage & Share Manager → Configure NFS Server in LXC</strong>. Zobrazia sa iba privilegované CT. Vyberte cieľový CT; skript ho spustí, ak je zastavený, a neprivilegovaný CT odmietne. Ponuka má päť možností.",
"imageAlt": "Ponuka servera NFS — Vytvoriť / Zobraziť / Odstrániť / Stav / Odinštalovať"
},
"howRuns": {
"heading": "Ako spustí skript (Create flow)"
},
"network": {
"heading": "Sieťové ACL — kto smie pripojiť export?",
"intro": "<code>/etc/exports</code> určuje, ktorí klienti smú export pripojiť. Dialóg ponúka tri režimy:",
"headerMode": "Režim",
"headerValue": "Hodnota napísaná /etc/exports",
"headerWhen": "Kedy si ju vybrať",
"rows": [
{
"mode": "Miestna sieť",
"value": "192.168.0.0/16",
"whenRich": "Pre bežné domáce a malé firemné siete. Zahŕňa všetky adresy <code>192.168.*.*</code>."
},
{
"mode": "Vlastná podsieť",
"value": "Váš CIDR (napr. 10.0.0.0/24)",
"when": "Keď vaša LAN nie je v 192.168.x.x alebo chcete pevnejší rozsah."
},
{
"mode": "Jediný hostiteľ",
"value": "IP (napr. 10.0.0.42)",
"when": "Len jeden konkrétny stroj by sa mal pripojiť. Najviac obmedzujúce."
}
]
},
"options": {
"heading": "Možnosti exportu vysvetlené",
"headerOption": "Možnosť",
"headerEffect": "Čo to robí?",
"rows": [
{
"option": "rw / ro",
"effect": "Povolí pripojeným klientom čítanie a zápis alebo prístup iba na čítanie."
},
{
"option": "sync",
"effectRich": "Odpovedať na žiadosti o zápis až potom, čo dáta sú na disku. Bezpečnejšie ako <code>async</code> za cenu priepustnosti."
},
{
"option": "no_subtree_check",
"effect": "Pri každej požiadavke vynechá kontrolu, či je súbor stále v exportovanom podstrome. Je to rýchlejšie a predchádza problémom pri premenovaní súborov počas operácie."
},
{
"option": "no_root_squash",
"effectRich": "<strong>Dôverovať používateľovi root na klientovi.</strong> Klient pripájajúci zdieľanie ako root zapisuje aj na serveri ako root. Hodí sa do dôveryhodnej LAN, napríklad ak zálohovací nástroj musí zachovať vlastníkov súborov. Ak úplne nedôverujete každému zariadeniu povolenému sieťovým ACL, použite namiesto toho <code>root_squash</code>."
}
]
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup môžete vykonať ručne. Každý príkaz sa spúšťa <strong>v CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo <code>pct enter &lt;ctid&gt;</code>:"
},
"view": {
"heading": "Zobraziť aktuálne exporty",
"body": "Zobrazí <code>/etc/exports</code> z CT bez komentárov a prázdnych riadkov a vypíše každý export so sieťovým ACL a voľbami. Pred zdieľaním IP adresy CT tak môžete overiť, ktoré priečinky sú sprístupnené."
},
"delete": {
"heading": "Odstrániť export",
"body": "Zobrazí každý riadok v <code>/etc/exports</code> pre výber, odstráni vybraný (<code>sed -i</code>), spustí <code>exportfs -ra</code> a reštartuje <code>nfs-kernel-server</code>. Samotný priečinok a jeho obsah zostávajú neporušené."
},
"status": {
"heading": "Kontrola stavu NFS",
"body": "Diagnostika overí, či sú <code>nfs-kernel-server</code> a <code>rpcbind</code> nainštalované a aktívne, vypíše výstup <code>exportfs -v</code>, aktívne relácie NFS (<code>showmount -a</code>) a aktuálne pripojenia klientov."
},
"uninstall": {
"heading": "Odinštalovať server NFS",
"body": "Úplné čistenie po potvrdení: zastaví a vypne <code>nfs-kernel-server</code> a <code>rpcbind</code>, vyprázdni <code>/etc/exports</code>, odstráni balíky NFS pomocou <code>apt-get purge</code>, skupinu <code>sharedfiles</code> aj používateľov <code>remap_*</code> a ukončí zvyšné procesy. <strong>Exportované priečinky sa neodstránia</strong>; odstráni sa iba konfigurácia NFS a balíky.",
"warnTitle": "Skript sa zastaví na exportnom riadku, nie na dátach",
"warnBody": "<em>Odstrániť export</em> a <em>Odinštalovať server NFS</em> odstráni konfiguráciu exportu. Údaje o exportovanom priečinku sa zachovajú. Ak chcete odstrániť aj údaje, urobte to explicitne pomocou <code>rm -rf</code> po dokončení skriptu – a ak by ich ešte niekto mohol potrebovať, najprv si ich zálohujte."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript sa ukončí)",
"privBody": "Vybraný CT je neprivilegovaný. <code>nfs-kernel-server</code> v ňom nemôže bežať, pretože pripojenie <code>/proc/fs/nfsd</code> vyžaduje <code>CAP_SYS_ADMIN</code> v mennom priestore jadra hostiteľa. Ani modul <code>nfsd</code> nie je sprístupnený v mennom priestore kontajnera: <code>modprobe nfsd</code> zvnútra vráti <code>FATAL: Module nfsd not found</code>. Ak obídete kontrolu, v denníku sa objaví <code>rpc.nfsd: Unable to access /proc/fs/nfsd errno 2 (No such file or directory)</code> a porty NFS sa neotvoria. Možnosti sú previesť CT na privilegovaný alebo presunúť server NFS do VM.",
"aptTitle": "Príkaz apt-get install zlyhá",
"aptIntro": "Skript predpokladá CT založený na Debiane. Na Alpine / Arch / Rocky / Alma nainštalujte balíky servera NFS ručne:",
"aptItems": [
"Alpine: <code>apk add nfs-utils</code>",
"Arch: <code>pacman -S nfs-utils</code>",
"Rocky / Alma: <code>dnf install nfs-utils</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux; ak sú nástroje už prítomné, inštalácia sa preskočí.",
"aclTitle": "Klient sa nemôže pripojiť: 'prístup zamietnutý serverom'",
"aclBody": "IP adresa klienta je mimo nakonfigurovaného sieťového ACL. Vytvorte export so širšou podsieťou alebo pridajte presnú IP klienta. Pozor: pri pripojení cez NAT sa môže zobraziť WAN IP smerovača namiesto LAN IP klienta. Overte to na serveri pomocou <code>tcpdump -n port 2049</code>.",
"ownTitle": "Súbory napísané klientom sa objavujú s divným vlastníctvom na serveri",
"ownIntro": "Dve možnosti:",
"ownItems": [
"S <code>no_root_squash</code> (predvolené) používateľ root na klientovi zapisuje ako root na serveri. Súbory sú vlastnené <code>root:sharedfiles</code> vďaka SGID na priečinku.",
"Používatelia klienta bez oprávnení root zapisujú pod vlastným UID/GID. Ak ich UID na serveri neexistuje, pri súboroch sa zobrazia iba čísla, napríklad <code>1234:1234</code>. Použite aj na klientovi skupinu <code>sharedfiles</code> alebo zjednoťte UID v systémoch, ktoré zdieľajú súbory."
],
"noShowTitle": "Server dosiahnuteľný, ale showmount nič nevráti",
"noShowBody": "Po úprave <code>/etc/exports</code> obnovte tabuľku exportov pomocou <code>exportfs -ra</code> a reštartujte <code>nfs-kernel-server</code>. Skript robí oboje, ale po ručnej úprave to musíte spraviť sami. Overte tiež, že firewall CT aj hostiteľa Proxmox povoľuje TCP/UDP 2049 a port rpcbind (111)."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"tail": " — opačný smer: pripojenie externých zdieľaní NFS v CT."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba server v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom, ale SMB / CIFS namiesto NFS."
},
{
"href": "/docs/storage-share/host-nfs",
"label": "Zdieľanie NFS ako úložisko Proxmox",
"tailRich": " — keď CT sprístupňuje export, zaregistrujte zdieľanie NFS v Proxmoxe, aby sa zobrazilo v <em>Datacenter → Storage</em>."
}
]
}
}
@@ -0,0 +1,155 @@
{
"meta": {
"title": "Samba klient v LXC | ProxMenux Dokumentácia",
"description": "Pripojte zdieľania Samba / CIFS z kontajnera Proxmox LXC cez ProxMenux. Automaticky nainštaluje cifs-utils a smbclient, podporuje vyhľadanie serverov, chránené uloženie prihlasovacích údajov a trvalé pripojenia cez /etc/fstab. Vyžaduje privilegovaný kontajner.",
"ogTitle": "Samba klient v LXC | ProxMenux Dokumentácia",
"ogDescription": "Pripojte zdieľania Samba / CIFS z privilegovaného kontajnera LXC. Automatické vyhľadanie, chránený súbor prihlasovacích údajov a trvalé nastavenie v /etc/fstab."
},
"header": {
"title": "Samba klient v LXC",
"description": "Pripájajte zdieľania Samba (SMB / CIFS) priamo zvnútra kontajnera Proxmox LXC. Kontajner funguje ako skutočný klient CIFS: komunikuje so serverom Samba cez sieť, používa mount.cifs, chráni prihlasovacie údaje a zapisuje pripojenia do /etc/fstab. ProxMenux nainštaluje cifs-utils a smbclient a pred pripojením overí prihlasovacie údaje na serveri.",
"section": "Úložisko a zdieľanie · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "Klient Samba / CIFS používajúci <code>mount.cifs</code> potrebuje schopnosti (aspoň <code>SYS_ADMIN</code>), ktoré neprivilegované LXC neposkytujú. Skript vyžiada výber CT a <strong>skončí, ak je neprivilegovaný</strong>. Ak zdieľanie potrebujete v neprivilegovanom CT, najprv ho pripojte na hostiteľovi Proxmox cez <hostSambaLink>Zdieľanie Samba / CIFS ako úložisko Proxmox</hostSambaLink> a potom ho sprístupnite CT pomocou bind mountu v <mountLink>LXC Mount Manager</mountLink>."
},
"what": {
"heading": "Čo to robí?",
"body": "Kontajner komunikuje cez sieť protokolom CIFS a pripája zdieľanie samostatne. Hostiteľ Proxmox slúži len ako sieťový most — pripojenie nevidí ani nespravuje.",
"diagramServerLabel": "Samba server",
"diagramServerDetail": "//srv/share",
"diagramHostLabel": "Hostiteľ Proxmox",
"diagramHostDetail": "(len\nmost siete)",
"diagramCtLabel": "LXC (privilegovaný)",
"diagramCtDetail": "/mnt/share\nmount.cifs vnútri CT",
"diagramArrow": "CIFS",
"twoWaysTitle": "Dva spôsoby, ako dať CT zdieľanie Samba — vyberte si jeden",
"twoWaysBind": "<strong>Bind mount cez hostiteľa</strong> (<mountLink>LXC Mount Manager</mountLink>): hostiteľ pripojí CIFS raz a každý CT dostane rovnakú cestu cez bind mount. Funguje s neprivilegovanými CT. Odporúča sa, ak rovnaké zdieľanie potrebuje viacero CT.",
"twoWaysDirect": "<strong>Priame pripojenie CIFS v CT</strong> (táto stránka): CT pripojí CIFS samostatne. Vyžaduje privilegovaný CT. Hodí sa, ak má CT spravovať vlastné prihlasovacie údaje alebo ak každý CT komunikuje s iným serverom."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage &amp; Share Manager → Nastaviť klienta Samba v LXC (iba privilegovaný)</strong>. ProxMenux najprv vyžiada <strong>výber cieľového CT</strong>, spustí ho, ak je zastavený, a skončí pri neprivilegovanom CT. Potom sa zobrazí táto podponuka:",
"imageAlt": "Ponuka klienta Samba — Pripojiť / Zobraziť / Odpojiť / Testovať pripojenie"
},
"howRuns": {
"heading": "Ako beží skript (Mount flow)"
},
"creds": {
"heading": "Kde býva heslo",
"body": "ProxMenux <strong>nevkladá heslo do príkazu na pripojenie</strong> ani do <code>/etc/fstab</code>. Namiesto toho vytvorí súbor prihlasovacích údajov v CT. Obsahuje údaje v otvorenom texte chránené oprávneniami iba pre root; nie je šifrovaný:",
"whyTitle": "Prečo samostatný súbor skôr než fstab",
"whyBody": "Modul CIFS podporuje voľby <code>username=</code> / <code>password=</code> priamo vo fstab. Každý, kto môže čítať <code>/etc/fstab</code>, by však videl heslo v otvorenom texte. Uloženie prihlasovacích údajov do súboru prístupného iba root a odkaz z fstab pomocou <code>credentials=</code> zabráni tomu, aby bolo heslo v konfigurácii čitateľnej pre všetkých."
},
"options": {
"heading": "Vysvetlenie možností pripojenia",
"headerOption": "Možnosť",
"headerEffect": "Čo to robí?",
"rows": [
{
"option": "rw / ro",
"effect": "Režim čítania a zápisu alebo iba čítania pre celé pripojenie."
},
{
"option": "file_mode=0664",
"effect": "Oprávnenia hlásené pre súbory prostredníctvom CIFS. Štandardne umožňuje majiteľ+skupina písať, iní čítať."
},
{
"option": "dir_mode=0775",
"effect": "Oprávnenia hlásené pre adresáre. Predvolene vlastník a skupina môžu vstupovať a vytvárať obsah, ostatní môžu adresár prechádzať."
},
{
"option": "iocharset=utf8",
"effect": "Vynúti UTF-8 pre názvy súborov prenášané cez sieť a zabráni poškodenému zobrazovaniu znakov mimo ASCII."
},
{
"option": "credentials=file",
"effect": "Čítať užívateľské meno / heslo zo súboru (pridané automaticky pre užívateľa auth)."
},
{
"option": "guest",
"effect": "Overte ako hosť, nie sú potrebné žiadne údaje (pri výbere hosťa automaticky pridané)."
},
{
"option": "_netdev",
"effect": "Oznámi inicializačnému systému, že toto pripojenie potrebuje sieť. Spúšťanie systému sa nezablokuje čakaním naň."
},
{
"option": "x-systemd.automount",
"effect": "Pripojenie až pri prvom prístupe: súborový systém sa pripojí, keď sa začne používať. Nedostupný server CIFS pri štarte nezablokuje CT."
},
{
"option": "noauto",
"effect": "Vynechá okamžité pripojenie pri štarte. V kombinácii s jednotkou automount sa súborový systém pripojí až vtedy, keď je potrebný."
}
],
"netEffectTitle": "Čistý účinok indikátorov fstab",
"netEffectBody": "Súborový systém CIFS sa pripojí pri <em>prvom prístupe</em>, nie okamžite pri štarte. Ak server nie je dostupný, prístup môže čakať alebo zlyhať a ovplyvniť služby závislé od danej cesty. Automount znižuje závislosť pri štarte, ale nezaručuje, že výpadok CIFS neovplyvní žiadnu službu CT."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup zopakujete ručne — každý príkaz sa spúšťa <strong>vo vnútri CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo priamo cez <code>pct enter &lt;ctid&gt;</code>:",
"guestIntro": "Variant hosťa — súbor prihlasovacích údajov nie je potrebný:"
},
"view": {
"heading": "Zobraziť aktuálne pripojenia",
"body": "Zobrazí aktívne pripojenia CIFS v CT (<code>mount -t cifs</code>) a všetky riadky CIFS v jeho <code>/etc/fstab</code>. Pri každom zázname fstab sa zobrazí aktuálny stav, čo pomáha nájsť trvalé pripojenia neobnovené pri štarte."
},
"unmount": {
"heading": "Odpojiť zdieľanie Samba",
"body": "Spojí aktívne pripojenia a položky fstab do zoznamu, umožní výber a <strong>odstráni príslušný riadok z <code>/etc/fstab</code></strong> aj súvisiaci súbor prihlasovacích údajov. Skript nespustí <code>umount</code> na aktívnom pripojení, ale upozorní na potrebu reštartu CT, aby sa odpojenie prejavilo.",
"warnTitle": "Skript odstráni položky fstab, nie aktívne pripojenia",
"warnBody": "Rovnaký princíp ako pri klientovi NFS: <code>umount</code> na používanom pripojení zlyhá s „device busy“. Odstránenie záznamu z fstab zabezpečí, že sa pripojenie pri ďalšom spustení CT neobnoví. Ak ho chcete odpojiť <em>hneď</em>, po skončení skriptu ručne vykonajte <code>pct exec &lt;ctid&gt; -- umount /mnt/&lt;path&gt;</code>."
},
"test": {
"heading": "Testovať Samba konektivitu",
"body": "Diagnostický priechod vnútri CT: potvrdzuje, že je nainštalovaný <code>cifs-utils</code>, uvádza aktuálne pripojenia CIFS, potom pre každý server, na ktorý sa odkazuje vo fstab, kontroluje ping → porty 139/445 → zoznam hostí. \"Vyžaduje overenie\" v teste hosťa je normálne pre každý server, ktorý nezverejňuje verejné zdieľania."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript skončí)",
"privBody": "Vybrané CT je neprivilegované. Jadro CIFS klient potrebuje <code>SYS_ADMIN</code>, ktoré neprivilegované CT nevystavujú. Buď konvertujte CT na privilegovanú alebo použite alternatívnu cestu popísanú v varovaní v hornej časti tejto stránky.",
"aptTitle": "apt-get install fails",
"aptIntro": "Skript predpokladá rodinu Debianu CT (<code>apt-get</code>). Na Alpine / Arch / Rocky / Alma, inštalujte CIFS klienta ručne:",
"aptItems": [
"Alpine: <code>apk add cifs-utils samba-client</code>",
"Arch: <code>pacman -S cifs-utils smbclient</code>",
"Rocky / Alma: <code>dnf install cifs-utils samba-client</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux — krok inštalácie preskočí, keď už sú nástroje k dispozícii.",
"guestFallbackTitle": "\"Server vás spájal ako hosť namiesto zadaného užívateľa\"",
"guestFallbackBody": "Aktívne overenie skriptu zistilo problém s autentifikáciou. Server prijal pripojenie, ale zmenil ho na hosťa pre nesprávne prihlasovacie údaje. Príčiny bývajú preklep v mene alebo hesle, neexistujúci alebo zablokovaný používateľ a nesprávna pracovná skupina či doména. Zopakujte postup a údaje starostlivo zadajte znova (heslo je v dialógu skryté).",
"denyTitle": "„NT_STATUS_ACCESS_DENIED“ pri pripájaní",
"denyBody": "Prihlasovacie údaje sú overené, ale zdieľanie odmieta prístup. Na serveri skontrolujte oprávnenia používateľa ku konkrétnemu zdieľaniu (overenie potvrdzuje prihlásenie, nie ACL jednotlivých zdieľaní). Overte aj požadovanú verziu SMB: do volieb pridajte <code>vers=3.0</code> (alebo <code>2.1</code>, <code>2.0</code>).",
"utf8Title": "Názvy súborov UTF-8 / mimo ASCII sa zobrazujú nesprávne",
"utf8Body": "Predvolené možnosti zahŕňajú <code>iocharset=utf8</code>, ale niektoré konfigurácie serverov hlásia neočakávanú stránku kódov. Ak mená súborov s akcentmi / symbolmi vyzerajú zle, skúste aj <code>nounix</code> (niektoré servery Linux Samba to potrebujú, keď je klient tiež Linux) alebo nastavte stranu servera na <code>unix extensions = no</code>.",
"bootTitle": "Trvalé pripojenie funguje, ale po štarte sa neobnoví",
"bootBody": "Príčinou býva nepripravená sieť pri pripájaní v CT, nedostupný server pri štarte alebo nefungujúce DNS. Voľby <code>_netdev,x-systemd.automount,noauto</code> riešia prvý prípad; automount bežne čaká na prvý prístup. Pri probléme s DNS použite IP adresu servera namiesto názvu."
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-mount-points",
"label": "LXC Body pripojenia (Host ↔ Container)",
"tail": " - alternatíva pre neprivilegované CT: pripojiť sa na hostiteľa, naviazať do CT."
},
{
"href": "/docs/storage-share/lxc-nfs-client",
"label": "NFS klient v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom pre zdieľania NFS."
},
{
"href": "/docs/storage-share/lxc-samba-server",
"label": "Samba server v LXC",
"tailRich": " — opačný smer: sprístupniť priečinky <em>z</em> CT cez Samba."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako Proxmox skladovanie",
"tail": " — zaregistrovať zdieľanie priamo v Proxmoxe namiesto jedného CT."
}
]
}
}
@@ -0,0 +1,132 @@
{
"meta": {
"title": "Samba server v LXC | ProxMenux Dokumentácia",
"description": "Spustite server Samba (SMB / CIFS) v kontajneri Proxmox LXC cez ProxMenux. Automaticky nainštaluje samba a spravuje /etc/samba/smb.conf, používateľov smbpasswd a skupinu sharedfiles pre priečinky pripojené cez bind mount. Vyžaduje privilegovaný kontajner.",
"ogTitle": "Samba server v LXC | ProxMenux Dokumentácia",
"ogDescription": "Sprístupnite priečinky cez SMB/CIFS z privilegovaného LXC. Automatická inštalácia, používateľ smbpasswd a oprávnenia prispôsobené bind mountom."
},
"header": {
"title": "Samba server v LXC",
"description": "Spustite server Samba (SMB / CIFS) v kontajneri Proxmox LXC a vystavte priečinky klientom Windows / macOS / Linux v sieti. ProxMenux nainštaluje samba, vytvorí používateľa Samba pomocou smbpasswd, spravuje /etc/samba/smb.conf a použije oprávnenia prispôsobené bind mountom, keď zdieľaný priečinok pochádza od hostiteľa.",
"section": "Úložisko & Share · LXC"
},
"privReq": {
"title": "Požadovaný privilegovaný kontajner",
"body": "Samba sa vydáva za pripájajúceho užívateľa <code>setgroups()</code> pri každom pripojení k zdieľaniu (v okamihu, keď klient otvorí zdieľanie). V neprivilegovaných LXC, jadro odmieta, že syscall, pretože používateľský menný priestor kontajnera je vytvorený s <code>setgroups=deny</code> a <code>smbd</code> reaguje prerušením pracovného procesu s <code>PANIC: sys_setgroups failed</code>. Výsledkom je, že <code>smbd</code> začína a viaže porty 139/445, ale každý klient spojenie zlyhá s <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Skript presadzuje privilegovaný CT z tohto dôvodu a <strong>sa ukončí, ak CT nie je privilegovaný</strong>. Na strane servera neexistuje čistá oprava; použite privilegovaný CT, alebo spustiť Samba vnútri VM."
},
"what": {
"heading": "Čo to robí?",
"body": "Kontajner sa stáva SMB/CIFS serverom: prevádzkuje <code>smbd</code>, vystavuje priečinok cez <code>/etc/samba/smb.conf</code> a prijíma klientske pripojenia na portoch <code>139</code> / <code>445</code>. Klienti vidia zdieľanie na <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code> vo Windows Explorer, <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code> v macOS Finder, alebo prostredníctvom <code>mount.cifs</code> na Linuxe.",
"diagramServerLabel": "LXC (privilegovaný) — server Samba",
"diagramServerDetail": "/mnt/data\n(sprístupnený priečinok)\n\nsmbd + nmbd spustené\n\nPoužívateľ: <username>\n(via smbpasswd)\n\nVynútená skupina:\nsharedfiles",
"diagramClientLabel": "Každý klient v sieti",
"diagramClientDetail": "Windows: \\\\<ip>\\<share>\nmacOS: smb://<ip>/<share>\nLinux: mount.cifs",
"diagramArrow": "SMB / CIFS"
},
"perms": {
"heading": "Dve cesty povolenia v závislosti od typu priečinka",
"body": "Pred pridaním zdieľania do <code>smb.conf</code> skript overí, či je priečinok <strong>bind mountom z hostiteľa</strong> alebo bežným <strong>lokálnym priečinkom v CT</strong>. Podľa toho nastaví rôznych vlastníkov a oprávnenia:",
"headerType": "Typ priečinku",
"headerAction": "Čo robí skript",
"bindType": "Bind mount z hostiteľa",
"bindTypeSubRich": "detekovaný prostredníctvom výstupu <code>mount</code>",
"bindActionRich": "Vytvorí skupinu <code>sharedfiles</code> (predvolené GID 999, dynamické, ak je obsadené), pridá používateľa Samba a použije <code>chown root:sharedfiles</code> a <code>chmod 2775</code> (SGID — nové súbory zdedia skupinu). Ak používateľ stále nemôže zapisovať, použije <code>setfacl -m u:&lt;user&gt;:rwx</code>.",
"localType": "Lokálny priečinok vnútri CT",
"localTypeSub": "Nebol zistený bind mount",
"localActionRich": "Štandardné vlastníctvo: <code>chown -R &lt;user&gt;:&lt;user&gt;</code> + <code>chmod -R 755</code>. Žiadna spoločná skupina nie je potrebná, pretože do tohto priečinku nepíše žiadna iná CT. Vracia sa do <code>setfacl</code> ak stále chýba prístup k zápisu.",
"gidTitle": "GID pre „sharedfiles“ sa líši od toku servera NFS",
"gidBody": "Skript Samba server používa GID <strong>999</strong> pre <code>sharedfiles</code>, zatiaľ čo <nfsLink>postup servera NFS</nfsLink> používa GID <strong>101000</strong>. Ak spustíte oba servery v rovnakom CT a chcete jednu spoločnú skupinu v oboch protokoloch, upravte jeden z nich tak, aby zodpovedal druhému po inštalácii (napr. <code>groupmod -g 101000 sharedfiles</code>) a znova nastavte vlastníkov príslušných priečinkov. Toto je známy nesúlad v aktuálnych skriptoch."
},
"opening": {
"heading": "Otvorenie nástroja",
"body": "V hlavnej ponuke otvorte <strong>Storage & Share Manager → Configure Samba Server in LXC</strong>. Zobrazia sa iba privilegované CT. Vyberte cieľový CT; skript ho spustí, ak je zastavený, a neprivilegovaný CT odmietne. Ponuka má päť možností.",
"imageAlt": "Ponuka servera Samba — Vytvoriť / Zobraziť / Odstrániť / Stav / Odinštalovať"
},
"howRuns": {
"heading": "Ako prebieha vytvorenie v skripte"
},
"modes": {
"heading": "Tri režimy zdieľania",
"intro": "Každý režim zapíše iný blok do <code>smb.conf</code>. Všetky tri zahŕňajú <code>valid users = &lt;username&gt;</code> (nie anonymné), <code>force group = sharedfiles</code> (takže nové súbory patria do zdieľanej skupiny) a <code>veto files = /lost+found/</code> (skrýva ich od klientov).",
"headerMode": "Režim",
"headerBlock": "Blok napísaný smb.conf",
"rwMode": "Čítanie a zápis",
"roMode": "Iba na čítanie",
"customMode": "Vlastné",
"customBodyRich": "Svoje vlastné smernice zapíšete do voľného textu. ProxMenux ich stále zabalí do bloku <code>[share]</code> štandardným <code>path</code>, <code>valid users</code>, <code>force group</code> a <code>veto files</code>."
},
"manual": {
"heading": "Ručný ekvivalent",
"body": "Celý postup môžete vykonať ručne. Každý príkaz sa spúšťa <strong>v CT</strong> cez <code>pct exec &lt;ctid&gt; --</code> alebo <code>pct enter &lt;ctid&gt;</code>:"
},
"connect": {
"heading": "Pripojenie od klientov",
"headerOs": "Operačný systém klienta",
"headerHow": "Ako sa pripojiť",
"windowsOs": "Windows",
"windowsHowRich": "Prieskumník → panel s adresou: <code>\\\\&lt;ct-ip&gt;\\&lt;share-name&gt;</code>. Alebo <em>Pripojiť sieťovú jednotku</em> → začiarknite „Pripojiť pomocou iných prihlasovacích údajov“.",
"macosOs": "macOS",
"macosHowRich": "Finder → <em>Choď → Pripojiť k serveru…</em> → <code>smb://&lt;ct-ip&gt;/&lt;share-name&gt;</code>. Alebo <code>mount_smbfs //user@&lt;ct-ip&gt;/&lt;share&gt; /mountpoint</code>.",
"linuxOs": "Linux",
"linuxHowRich": "<code>mount -t cifs //&lt;ct-ip&gt;/&lt;share&gt; /mnt/x -o username=&lt;u&gt;,password=&lt;p&gt;,iocharset=utf8</code>. Alebo použite klienta <clientLink>Samba na stránke LXC</clientLink>, ak je klientom iný Proxmox CT."
},
"view": {
"heading": "Zobraziť aktuálne zdieľania",
"body": "Analyzuje <code>/etc/samba/smb.conf</code> v CT a vypíše každý blok <code>[share]</code> s cestou, pričom preskočí <code>[global]</code>, <code>[homes]</code> a <code>[printers]</code>. Hodí sa ako rýchly prehľad."
},
"delete": {
"heading": "Odstrániť zdieľanie",
"body": "Umožňuje vybrať zdieľanie podľa mena, odstraňuje blok z <code>smb.conf</code> (<code>sed</code> odstráni z <code>[share]</code> do ďalšieho prázdneho riadku) a reštartuje <code>smbd</code>. Priečinok sám a jeho obsah sú ponechané neporušené."
},
"status": {
"heading": "Kontrola stavu Samby",
"body": "Oznámi, či sú <code>smbd</code> a <code>nmbd</code> nainštalované a aktívne, vypíše používateľov Samba (<code>pdbedit -L</code>) a aktívne relácie (<code>smbstatus</code>)."
},
"uninstall": {
"heading": "Odinštalovať server Samba",
"body": "Úplné čistenie po potvrdení: zastaví a vypne <code>smbd</code> a <code>nmbd</code>, zálohuje <code>smb.conf</code> do <code>smb.conf.backup.YYYYMMDD_HHMMSS</code>, odstráni používateľov Samba pomocou <code>smbpasswd -x</code> a balíky Samba pomocou <code>apt-get purge</code>. <strong>Exportované priečinky sa neodstránia</strong>.",
"warnTitle": "Priečinky zostanú — dáta zálohujte samostatne",
"warnBody": "<em>Odstrániť zdieľanie</em> aj <em>Odinštalovať server Samba</em> odstránia konfiguráciu zdieľania. Dáta v exportovaných priečinkoch sa zachovajú. Ak ich chcete tiež odstrániť, použite po dokončení skriptu výslovne <code>rm -rf</code>."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"privTitle": "Vyžaduje sa privilegovaný kontajner (skript sa ukončí)",
"privBody": "Vybrané CT je neprivilegované a <code>smbd</code> tam nemôže slúžiť súbory. Ak obídete bránu a konfigurujete Sambu ručne, začne sa <code>smbd</code> a otvoria sa porty, ale prvé klientske spojenie spanikári s <code>PANIC: sys_setgroups failed</code> v <code>/var/log/samba/log.&lt;client&gt;</code> a klient vidí <code>NT_STATUS_CONNECTION_DISCONNECTED</code>. Príčinou je neprivilegované používateľský menný priestor s <code>setgroups=deny</code>, ktoré blokuje prevzatie identity používateľa Sambou pri každom pripojení. Ani <code>features=keyctl=1</code> ani odstránenie <code>force user</code> / <code>force group</code> to nemení. Jediné funkčné možnosti sú: previesť CT na privilegované, alebo presunúť Samba na VM.",
"aptTitle": "Príkaz apt-get install zlyhá",
"aptIntro": "Skript predpokladá CT založený na Debiane. Na Alpine / Arch / Rocky / Alma nainštalujte Sambu ručne:",
"aptItems": [
"Alpine: <code>apk add samba</code>",
"Arch: <code>pacman -S samba</code>",
"Rocky / Alma: <code>dnf install samba</code>"
],
"aptOutro": "Potom znova spustite skript ProxMenux; ak sú nástroje už prítomné, inštalácia sa preskočí.",
"noShareTitle": "Klient sa pripojí, ale nevidí zdieľanie",
"noShareBody": "Overte <code>browseable = yes</code> v bloku zdieľania (predvolené pre rw / ro; vo vlastnom režime môže chýbať). Firewall CT aj hostiteľa Proxmox musí povoľovať TCP 445 (SMB) a 139 (NetBIOS). Niektorí klienti Windows potrebujú preklad názvov; najprv skúste priamo IP adresu.",
"authTitle": "Zlyhanie overovania (NT_STATUS_LOGON_FAILURE)",
"authBody": "Heslo je nesprávne (heslá Samba sú <em>oddelené</em> od systémových; používateľov Samba vypíšete pomocou <code>pdbedit -L</code>) alebo používateľ chýba v <code>valid users</code> daného zdieľania. Heslo obnovte v CT pomocou <code>smbpasswd &lt;user&gt;</code>.",
"groupTitle": "Súbory napísané klientom sa objavujú s nesprávnou skupinou na serveri",
"groupBody": "Skript nastaví <code>force group = sharedfiles</code> v bloku zdieľania, takže nové súbory by mali byť skupiny <code>sharedfiles</code>. Ak nie sú, SGID bit na rodičovskom adresári mohol byť stratený (niekto spustil <code>chmod</code> ručne). Opakovane: <code>chmod 2775 /mnt/&lt;share&gt;</code>.",
"bothTitle": "Zdieľanie rovnakého priečinka na oboch NFS a Samba",
"bothBody": "ProxMenux používa rôzne GIDs pre <code>sharedfiles</code> v každom skripte (Samba: 999, NFS: 101000). Ak podávate rovnaký priečinok prostredníctvom oboch, rozhodnite sa pre jednu GID a zarovnajte obe. Najjednoduchšia oprava: po spustení oboch skriptov upravte menšie GID:"
},
"related": {
"heading": "Súvisiace",
"items": [
{
"href": "/docs/storage-share/lxc-samba-client",
"label": "Samba klient v LXC",
"tail": " — opačný smer: pripojenie externých zdieľaní Samba v CT."
},
{
"href": "/docs/storage-share/lxc-nfs-server",
"label": "NFS server v LXC",
"tail": " — súvisiaca stránka s rovnakým postupom, ale NFS namiesto CIFS."
},
{
"href": "/docs/storage-share/host-samba",
"label": "Samba / CIFS ako úložisko Proxmox",
"tailRich": " — keď CT sprístupňuje export, zaregistrujte zdieľanie Samba v Proxmoxe, aby sa zobrazilo v <em>Datacenter → Storage</em>."
}
]
}
}