--- name: Ubuntu LXC projekt - prehľad description: Vlastné Proxmox LXC skripty pre Ubuntu 24.04 s automatickým provisioningom užívateľov, Claude Code a SSH hardening type: project --- ## Repozitár - **Git:** https://git.inbox.sk/proxmox/Ubuntu24_LXC.git - **SSH push:** git@sshgit.inbox.sk:proxmox/Ubuntu24_LXC.git - **Gitea:** beží na TrueNAS, `REQUIRE_SIGNIN_VIEW = false` v `/etc/gitea/app.ini` ## Spustenie na Proxmoxe ```bash bash -c "$(curl -fsSL https://git.inbox.sk/proxmox/Ubuntu24_LXC/raw/branch/main/ct/ubuntu.sh)" ``` ## Štruktúra projektu ``` Ubuntu24_LXC/ ├── ct/ │ ├── ubuntu.sh # Hlavný skript (beží na Proxmox hoste) │ └── headers/ubuntu # ASCII art header ├── install/ │ └── ubuntu-install.sh # Inštalačný skript (beží VNÚTRI kontajnera) ├── config/ │ ├── users.json # Databáza užívateľov + SSH kľúčov │ ├── claude-setup.md # Inštrukcie pre Claude Code (dostavba prostredia) │ └── setup.sh # Spúšťač: superclaude -p "$(cat ~/claude-setup.md)" └── misc/ ├── build.func # Vytvorenie kontajnera (z community-scripts) ├── core.func # Utility — farby, formátovanie, msg_* ├── install.func # Inštalačné funkcie pre kontajner ├── error_handler.func # Error handling + signály ├── tools.func # Package management helpers ├── api.func # Telemetria (opt-in) └── images/logo-81x112.png # Logo pre popis kontajnera ``` ## Inštalačný wizard (ct/ubuntu.sh) 1. **Hostname** — default `ubuntu` 2. **IP + gateway** — statická alebo DHCP 3. **DNS** — default `8.8.8.8 1.1.1.1` 4. **Disk / RAM / CPU** — default 32 GB, 4 GB, 4 jadrá 5. **Výber užívateľov** — whiptail checkbox z `config/users.json` 6. **Potvrdenie** — súhrn + áno/nie ## Čo sa deje vnútri kontajnera (ubuntu-install.sh) 1. Aktualizácia OS 2. Inštalácia balíčkov: `mc`, `wget`, `git`, `curl`, `openssh-server` 3. Pre každého vybraného užívateľa: - Vytvorí účet s náhodným heslom - Nasadí SSH kľúče z `users.json` - Pridá do sudo `NOPASSWD: ALL` - Nainštaluje Claude Code (`curl -fsSL https://claude.ai/install.sh | bash`) - Pridá `~/.local/bin` do PATH - Pridá alias `superclaude='claude --dangerously-skip-permissions'` - Skopíruje `claude-setup.md` a `setup.sh` do home 4. SSH hardening: `PermitRootLogin no`, `PasswordAuthentication no` 5. MOTD, cleanup ## Po prihlásení užívateľa 1. `claude` → interaktívny login (API kľúč) 2. `./setup.sh` → Claude automaticky dostaví prostredie (Node.js, Chromium, MCP) 3. Alebo `superclaude` pre ručnú prácu ## Dôležité poznámky - Všetky URL smerujú na `git.inbox.sk` (nie community-scripts GitHub) - Parsovanie `users.json` je bez `jq` (grep/sed) — Proxmox host nemá jq - Vnútri kontajnera je `jq` dostupný (inštaluje sa cez build.func) - Ubuntu šablóna sa sťahuje z oficiálnych Proxmox zdrojov (bez zmeny) - `misc/` súbory sú fork z community-scripts/ProxmoxVE