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>
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:
- Lädt das Debian-12-Template (falls nicht vorhanden)
- Erstellt einen unprivilegierten LXC mit
nesting=1,keyctl=1(nötig für Docker) - Installiert Docker + Node im Container
- Klont SERVER-CONTAINER nach
/opt/rapport - Generiert zufällige
POSTGRES_PASSWORD+JWT_SECRETund daraus passendeANON_KEY/SERVICE_ROLE_KEY - Setzt
SITE_URL/API_EXTERNAL_URLauf die LAN-IP des Containers - Holt die DB-Migrations (
sync-migrations.sh) - 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.