From a51458e0134383e1234fe4f81b647535d90583df Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 16 Mar 2026 18:06:47 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20docs:=20Pridanie=20PROJECT.md=20?= =?UTF-8?q?=E2=80=94=20preh=C4=BEad=20projektu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- PROJECT.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 PROJECT.md diff --git a/PROJECT.md b/PROJECT.md new file mode 100644 index 0000000..4044b05 --- /dev/null +++ b/PROJECT.md @@ -0,0 +1,71 @@ +--- +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