📝 docs: Pridanie PROJECT.md — prehľad projektu

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
martin
2026-03-16 18:06:47 +01:00
parent 274061713d
commit a51458e013

71
PROJECT.md Normal file
View File

@@ -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