{ "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 TB\n A[\"{{repo}}\"] --> B[\"Compose + README\"]\n B --> C[\"{{converter}}\"]\n C --> D[\"{{template}}\"]\n D --> E{\"{{blockers}}\"}\n E -- \"{{no}}\" --> F[\"{{review}}\"]\n F --> D\n E -- \"{{yes}}\" --> G[\"{{plan}}\"]\n G --> H[\"pct create\"]\n H --> I[\"{{lxc}}\"]", "labels": { "repo": "Repozitár obrazu", "converter": "Konvertor", "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": "Konfigurácia 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", "Entrypoint, Cmd, User", "Proxmox VE ich importuje pri vytváraní CT" ], [ "Docker Compose", "environment, volumes, devices", "Záznamy prostredia LXC, mpN a devN" ], [ "Profil ProxMenux", "GPU, kontrola stavu, prihlasovacie údaje", "Otázky a overené úpravy" ], [ "Používateľ", "VMID, úložisko, sieť", "Uložená konfigurácia inštalácie" ] ] } } ] }, { "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": "pct create 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 záznamu o inštalácii, ktorý sa používa pri aktualizáciách a opätovnom vytvorení kontajnera." } ] } } ] }, { "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": "mp0 je druhý disk patriaci kontajneru, na zvolenom úložisku pomenovaný vm-VMID-disk-N. Pripája sa do /config a pri backup=1 je súčasťou zálohy kontajnera. mp1 nevytvára disk: pripája adresár hostiteľa /srv/downloads do /downloads v LXC. Port 8080 sa nemapuje: LXC má vlastnú adresu a služba odpovedá na nej." } ] } ] }