Migrationen als eigener Dienst: Das Laufzeit-Abbild enthält keine Prisma-CLI mehr. Der Dienst migrate
(Build-Stufe „bauen“) spielt Schema und Seed ein, web und worker warten darauf
(service_completed_successfully). Vorher scheiterte der Start an fehlenden CLI-Abhängigkeiten.
Worker als ESM-Bündel: Der erzeugte Prisma-Client nutzt import.meta.url, das CommonJS nicht kennt.
Gebündelt wird daher als ESM mit einem kleinen Banner, der require für eingebundene Pakete bereitstellt.
Extern bleiben nur @prisma/client, @node-rs/argon2 und pg-native.
Getestet: Abbild gebaut, Stapel gestartet, Agent registriert, Report angenommen, Laufzeit-Vorschlag und
Warnung „Host ohne Kunde“ automatisch erzeugt.
Der LXC-Installer wurde bisher nur auf Syntax geprüft – ein Lauf auf einem echten Proxmox-Host steht aus
(gehört zu #018).
Quelle: docs/issues/014-deployment.md – dort wird dieses Issue gepflegt.
## Ziel
ProxLedger einfach per Docker Compose oder als LXC-Container auf Proxmox betreiben.
## Aufgaben
- [x] Dockerfile (Multi-Stage, Standalone-Output, Non-root)
- [x] `docker-compose.yml` (web, worker, postgres), `.env.example`
- [x] Migrationen beim Start, Healthcheck
- [x] LXC-Installer im Stil der Community-Scripts (Debian, Ressourcenabfrage, systemd-Dienste)
- [x] Reverse-Proxy-Beispiele (Caddy, nginx, Traefik)
- [x] README (Deutsch): Dashboard installieren → Enrollment-Token → Agent ausrollen
- [x] Backup-/Restore-Anleitung für die Datenbank und Uploads
## Akzeptanzkriterien
- [x] `docker compose up -d` auf frischem System ergibt lauffähiges Dashboard
- [x] LXC-Installer auf PVE 9 erfolgreich
## Abhängigkeiten
#013
## Notizen / Entscheidungen
- **Migrationen als eigener Dienst:** Das Laufzeit-Abbild enthält keine Prisma-CLI mehr. Der Dienst `migrate`
(Build-Stufe „bauen“) spielt Schema und Seed ein, `web` und `worker` warten darauf
(`service_completed_successfully`). Vorher scheiterte der Start an fehlenden CLI-Abhängigkeiten.
- **Worker als ESM-Bündel:** Der erzeugte Prisma-Client nutzt `import.meta.url`, das CommonJS nicht kennt.
Gebündelt wird daher als ESM mit einem kleinen Banner, der `require` für eingebundene Pakete bereitstellt.
Extern bleiben nur `@prisma/client`, `@node-rs/argon2` und `pg-native`.
- Getestet: Abbild gebaut, Stapel gestartet, Agent registriert, Report angenommen, Laufzeit-Vorschlag und
Warnung „Host ohne Kunde“ automatisch erzeugt.
- Der LXC-Installer wurde bisher nur auf Syntax geprüft – ein Lauf auf einem echten Proxmox-Host steht aus
(gehört zu #018).
---
Quelle: `docs/issues/014-deployment.md` – dort wird dieses Issue gepflegt.
florian.wilde
added this to the v0.10.0 milestone 2026-09-17 19:43:03 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
ProxLedger einfach per Docker Compose oder als LXC-Container auf Proxmox betreiben.
Aufgaben
docker-compose.yml(web, worker, postgres),.env.exampleAkzeptanzkriterien
docker compose up -dauf frischem System ergibt lauffähiges DashboardAbhängigkeiten
#013
Notizen / Entscheidungen
migrate(Build-Stufe „bauen“) spielt Schema und Seed ein,
webundworkerwarten darauf(
service_completed_successfully). Vorher scheiterte der Start an fehlenden CLI-Abhängigkeiten.import.meta.url, das CommonJS nicht kennt.Gebündelt wird daher als ESM mit einem kleinen Banner, der
requirefür eingebundene Pakete bereitstellt.Extern bleiben nur
@prisma/client,@node-rs/argon2undpg-native.Warnung „Host ohne Kunde“ automatisch erzeugt.
(gehört zu #018).
Quelle:
docs/issues/014-deployment.md– dort wird dieses Issue gepflegt.