Zum Inhalt springen
Loslegen

Self-Hosting-Überblick

Mildport läuft in Ihrer eigenen Infrastruktur — als eigenständiger Docker-Compose-Stack oder auf Kubernetes via Helm-Chart. Dateien verlassen nie Ihre VPC, und Lizenzen verifizieren offline — die Engine telefoniert nie nach Hause.

Dienst Rolle
mildport Die Import-Engine + lizenzgeschützte REST-API (lauscht auf :8090).
mongo Metadaten, Zuordnungen, Zustellungsprotokoll.
pdf-probe Decode-Sidecar — PDF-Tabellenextraktion.
xlsx-decode Decode-Sidecar — Tabellen.
ocr Decode-Sidecar — Scans und Fotos.
minio (optional) S3-kompatibler Blob-Speicher für große Dateien.

Wenn Ihre Umgebung bereits Postgres fährt, ist FerretDB eine geprüfte experimentelle Option — dieselbe Verbindungszeichenkette, kein Produktions-Support, den wir besetzen.

Terminal window
cp apps/import-service/.env.example apps/import-service/.env # keys, Mongo, sidecars
docker compose --env-file apps/import-service/.env up --build
✔ mildport listening on :8090
✔ mongo · pdf-probe · xlsx-decode · ocr

Health prüfen:

Terminal window
curl localhost:8090/health
# {"status":"ok","service":"mildport"}

Die Engine bringt eine Preflight-Prüfung mit, die ein Fehl-Deployment verweigert — sie validiert Schlüssel, Speicher, Erreichbarkeit der Sidecars und Entitlements, bevor Sie live gehen. Führen Sie sie als Teil Ihres Deployments aus:

Terminal window
pnpm import:self-host-check

Die Distribution enthält ein Helm-Chart, das die Engine und die Decode-Sidecars in Ihren eigenen Cluster deployt — MongoDB und S3/MinIO bringen Sie selbst mit. Jeder Sidecar lässt sich einzeln abschalten, ein All-in-One-Modus betreibt Engine und die drei Decode-Sidecars als einzelnen Pod (semantisches Matching bleibt ein eigener Pod, den Sie abschalten können), und helm test führt denselben Preflight im Cluster aus, bevor Sie live gehen:

Terminal window
helm install mildport ./deploy/helm/mildport -n mildport --create-namespace \
-f values.prod.yaml
helm test mildport -n mildport # führt den Self-Host-Preflight im Cluster aus

Ein Air-Gap-Runbook liegt dem Chart bei: Spiegeln Sie die Images in Ihre eigene Registry, setzen Sie die Image-Overrides und hosten Sie den pdf.js-Worker selbst — kein ausgehender Netzwerkzugriff nötig.

Weiter: Ihr erster Import · Deployment-Fehlerbehebung · Lizenzierung.