Ein Laufzeit-Paket (scripts/paket-bauen.sh) für beide Wege: Next standalone, worker als Bundle mit nur den nötigen Paketen, Migrationen ohne Prisma-CLI. Compose lokal komplett hochgefahren; der Installer auf pve-demo in einem echten Debian-13-LXC durchgelaufen. Closes #019 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
#019 Docker-Image und LXC-Installer
Status: erledigt Meilenstein: v0.6.0 Labels: infrastruktur Geschätzt: 6 h Tatsächlich: –
Ziel
Produktionsbetrieb per Docker Compose oder in einem Debian-LXC.
Aufgaben
- Dockerfile (standalone, non-root), Compose mit migrate – lokal komplett hochgefahren (migrate → app healthy, worker bereit, Anmeldung)
deploy/install-lxc.sh(auf dem Proxmox-Host) +deploy/im-container.sh, Update-Pfad (--aktualisieren, drei Fassungen zum Zurückgehen)- Gemeinsames Laufzeit-Paket
scripts/paket-bauen.shfür beide Wege - Migrationen ohne Prisma-CLI (
src/betrieb/migrieren.ts), kompatibel zu_prisma_migrations
Akzeptanzkriterien
- Installer in echtem LXC durchgelaufen (pve-demo, CT 109
pd-installer); darin Server angelegt, Verbindungstest, CLI-Login, Dry-Run und ein echter LXC-Auftrag
Abhängigkeiten
#001
Notizen / Entscheidungen
- Eigener Migrationslauf statt
prisma migrate deploy: spart Prisma-CLI und Schema-Engine im Betrieb; schreibt_prisma_migrationswie Prisma (Test prüftprisma migrate status). - worker als esbuild-Bundle mit nur den Paketen, die er importiert (aus der Metadatei, exakte Versionen aus der Entwicklung): 103 MB statt 741 MB.
- Node im LXC von nodejs.org mit SHA-256-Prüfung (Debian 13 hat nur Node 20).
ADMIN_PASSWORTwird nach dem ersten Start aus der Env-Datei entfernt; das Passwort steht nur in der Ausgabe.- Image 559 MB (node:24.21.0-trixie-slim), läuft als UID 1000; PostgreSQL 17.11.