Files
RAPPORT-SERVER-PROXMOX-LXC/README.md
T
karim 8c1c804eb1 Initial: RAPPORT Server Proxmox-LXC-Installer v0.1.0
Ein-Befehl-Installer: baut einen unprivilegierten Debian-12-LXC mit Docker,
klont den SERVER-CONTAINER-Stack, generiert Secrets + JWT-Keys, holt die
DB-Migrations und startet den Compose-Stack.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 12:09:25 +02:00

3.4 KiB

RAPPORT-SERVER-PROXMOX-LXC

⚠️ Status: Alpha. Baut auf SERVER-CONTAINER 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 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

Auf der Proxmox-Host-Shell (als root):

bash -c "$(curl -fsSL https://git.kgva.ch/karim/rapport-server-proxmox-lxc/raw/branch/main/rapport-lxc.sh)"

Danach erreichbar unter http://<container-ip>:8080.

Parameter (per Env-Var)

Alle Defaults lassen sich überschreiben:

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 https://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

pct exec <CTID> -- bash -c 'cd /opt/rapport && docker compose ps'      # Status
pct exec <CTID> -- bash -c 'cd /opt/rapport && docker compose logs -f' # Logs
pct enter <CTID>                                                       # Shell

Backup (Postgres):

pct exec <CTID> -- 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.