# RAPPORT-SERVER-PROXMOX-LXC > ⚠️ **Status: Alpha.** Baut auf [SERVER-CONTAINER](https://git.kgva.ch/karim/rapport-server) auf, das selbst noch nicht end-to-end läuft (siehe dortige „Bekannte offene Punkte"). Erst zum Testen gedacht, nicht für Produktion. Ein-Befehl-Installer, der den Rapport-Self-Hosting-Stack in einen **Proxmox-LXC-Container** deployt. Für Leute, die einen Proxmox-Host haben und Rapport nicht auf dem Mac (SERVER-APP), sondern auf dem Server laufen lassen wollen. Der vierte Deployment-Pfad der Rapport-Familie: | Repo | Zielgruppe | |---|---| | `APP` | Endnutzer (Desktop-Client) | | `SERVER-APP` | Mac-Mini-Selfhost per Doppelklick (Tauri) | | `SERVER-CONTAINER` | Docker-Compose von Hand (Tech-affin) | | **`SERVER-PROXMOX-LXC`** | **Proxmox-Homelab — ein Befehl, fertiger Container** | --- ## Was das Script macht Läuft auf der **Proxmox-VE-Host-Shell** und: 1. Lädt das Debian-12-Template (falls nicht vorhanden) 2. Erstellt einen **unprivilegierten** LXC mit `nesting=1,keyctl=1` (nötig für Docker) 3. Installiert Docker + Node im Container 4. Klont [SERVER-CONTAINER](https://git.kgva.ch/karim/rapport-server) nach `/opt/rapport` 5. Generiert zufällige `POSTGRES_PASSWORD` + `JWT_SECRET` und daraus passende `ANON_KEY` / `SERVICE_ROLE_KEY` 6. Setzt `SITE_URL` / `API_EXTERNAL_URL` auf die LAN-IP des Containers 7. Holt die DB-Migrations (`sync-migrations.sh`) 8. Startet den Stack mit `docker compose up -d` --- ## Benutzung ### A) Local-Deploy vom Mac (zum Testen, ohne Gitea) ← empfohlen für jetzt Schiebt die **lokalen** Working-Copies von `SERVER-CONTAINER` + den APP-Migrations per scp/`pct push` in den Container — nichts muss vorher auf Gitea gepusht sein. Auf deinem **Mac**, im Repo-Verzeichnis: ```bash PVE_HOST=root@ bash deploy-local.sh ``` Mit Parametern: ```bash PVE_HOST=root@192.168.1.10 RAM_MB=8192 NET_IP=192.168.1.50/24 NET_GW=192.168.1.1 \ bash deploy-local.sh ``` Voraussetzung: SSH-Zugang als root auf den Proxmox-Host. `deploy-local.sh` erwartet die Schwester-Repos unter `~/RAPPORT/SERVER-CONTAINER` und `~/RAPPORT/APP` (überschreibbar via `STACK_DIR` / `APP_DIR`). ### B) Ein-Befehl vom Gitea (wenn dieses Repo gepusht ist) Auf der **Proxmox-Host-Shell** (als root): ```bash bash -c "$(curl -fsSL http://git.kgva.ch/karim/RAPPORT-SERVER-PROXMOX-LXC/raw/branch/main/rapport-lxc.sh)" ``` Es erscheint ein **whiptail-Menü** (Standard / Erweitert) zum Setzen von ID, CPU, RAM, Disk und Netzwerk — wie bei den Proxmox-Community-Scripts. Danach erreichbar unter `http://:8080`. > Das Menü erscheint nur auf einem echten Terminal. Über SSH/Pipe (Variante A) > läuft alles non-interaktiv über die Env-Vars. Mit `NONINTERACTIVE=1` lässt > sich das Menü auch interaktiv abschalten. ### Parameter (per Env-Var) Alle Defaults lassen sich überschreiben: ```bash RAM_MB=8192 DISK_GB=30 CT_HOSTNAME=rapport \ NET_IP=192.168.1.50/24 NET_GW=192.168.1.1 \ bash -c "$(curl -fsSL http://git.kgva.ch/karim/RAPPORT-SERVER-PROXMOX-LXC/raw/branch/main/rapport-lxc.sh)" ``` | Var | Default | Bedeutung | |---|---|---| | `CTID` | nächste freie ID | Container-ID | | `CT_HOSTNAME` | `rapport-server` | Hostname | | `CORES` | `2` | CPU-Kerne | | `RAM_MB` | `6144` | RAM (min. 4096 empfohlen) | | `SWAP_MB` | `2048` | Swap | | `DISK_GB` | `20` | Disk (Supabase-Images sind gross) | | `BRIDGE` | `vmbr0` | Netzwerk-Bridge | | `STORAGE` | `local-lvm` | Storage für rootfs | | `TMPL_STORAGE` | `local` | Storage für Template-Cache | | `NET_IP` | `dhcp` | `dhcp` oder z.B. `192.168.1.50/24` | | `NET_GW` | — | Gateway (Pflicht bei statischer IP) | | `PASSWORD` | — | root-Passwort im Container (leer = kein Login) | | `REPO_URL` | `…/rapport-server.git` | Quelle des Compose-Stacks | | `REPO_REF` | `main` | Branch/Tag | --- ## Voraussetzungen - Proxmox VE 8.x - ~20 GB freier Storage, ≥4 GB RAM für den Container - Internet-Zugang im Container (Docker-Images + Repos pullen) --- ## Verwaltung ```bash pct exec -- bash -c 'cd /opt/rapport && docker compose ps' # Status pct exec -- bash -c 'cd /opt/rapport && docker compose logs -f' # Logs pct enter # Shell ``` Backup (Postgres): ```bash pct exec -- bash -c 'cd /opt/rapport && docker compose exec -T db pg_dumpall -U postgres' > backup.sql ``` Oder einfach den ganzen LXC per Proxmox-Backup (vzdump) sichern. --- ## Lizenz GNU AGPL-3.0-or-later — identisch zur Rapport-Familie.