Deployment Guide
jinflow trennt App (Engine + Explorer) von Daten (Tenant-KLS-Dateien).
Architektur
Abschnitt betitelt „Architektur“Deploy Root (App) Live Root (Daten) _cli/jinflow ← CLI millesime/domaine_zufferey/ _explorer/ ← Explorer afs/, raw/, build/, store/ jinflow ← Launcher millesime/domaine_zufferey/ afs/, raw/, build/, store/Die App wird einmal pro Release gebaut. Daten werden pro Tenant via make gebaut.
Desktop Release
Abschnitt betitelt „Desktop Release“# Version erhoehen, bauen, paketierenjust release patch
# Aktuelle Version bauen ohne Erhoehungjust release --now
# Tests ueberspringen fuer schnellere Iterationjust release --now --skip-testsDas produziert:
jinflow-deploy/_cli/— PyInstaller-Binary (Python + dbt + DuckDB)jinflow-deploy/_explorer/— SvelteKit Build + node_modulesjinflow-deploy/jinflow— CLI Binary
Ausfuehrung
Abschnitt betitelt „Ausfuehrung“Desktop
Abschnitt betitelt „Desktop“# Via Launcher./jinflow make --tenant millesime.domaine_zufferey./jinflow explore --tenant millesime.domaine_zufferey
# Explorer./jinflow explore # oeffnet Explorer mit Tenant-AuswahlEntwicklung
Abschnitt betitelt „Entwicklung“# CLI (aus dem Repository)jin make --tenant millesime.domaine_zufferey
# Explorer Dev Servercd explorer && npm run dev # localhost:4000Docker (nur Cloud)
Abschnitt betitelt „Docker (nur Cloud)“Docker ist fuer Cloud-Deployment. Lokaler Explorer laeuft als Node.js Web Server.
# Docker Image bauenscripts/build-docker.sh
# Mit Live Root Mount ausfuehrendocker run -v /path/to/live:/data/live:ro \ -p 4000:4000 \ jinflow-explorerR2 (Cloud Storage)
Abschnitt betitelt „R2 (Cloud Storage)“KLS-Dateien koennen in Cloudflare R2 fuer den Cloud Explorer gespeichert werden:
# R2 Anmeldedaten konfigurierenjin us --r2-account-id ... --r2-key ... --r2-secret ... --r2-bucket jinflow-demoExplorer entdeckt KLS-Dateien in R2, laedt sie in den lokalen Cache und stellt sie von der Festplatte bereit. Hintergrundsynchronisation prueft alle 5 Minuten auf Updates (ETag-Vergleich).
Umgebungsvariablen
Abschnitt betitelt „Umgebungsvariablen“Explorer
Abschnitt betitelt „Explorer“| Variable | Zweck |
|---|---|
JINFLOW_LIVE_ROOT | Live Root fuer Tenant-Erkennung |
JINFLOW_DB_PATH | Expliziter KLS-Pfad (Einzeltenant-Modus) |
JINFLOW_AFS_ROOT | AFS Root fuer Brand-Konfiguration |
JINFLOW_SYSTEM_DB_PATH | System DuckDB (optional) |
JINFLOW_SIS_PATH | Expliziter SIS-Pfad (Ueberschreibung) |
ANTHROPIC_API_KEY | Claude API Key fuer KI-Erklaerungen |
JINFLOW_AI_MODEL | KI-Modell-Ueberschreibung (Standard: claude-haiku-4-5-20251001) |
KLS_SOURCE | Erkennungsmodus: local, r2 oder leer |
KLS_LOCAL_DIR | Lokales Verzeichnis fuer KLS-Erkennung |
| Variable | Zweck |
|---|---|
JINFLOW_LIVE | Live Root Ueberschreibung |
JINFLOW_PACKS_ROOT | Pack Root Ueberschreibung |
JINFLOW_DLZ_ROOT | DLZ Root Ueberschreibung |
JINFLOW_TENANT | Standard-Tenant |
JINFLOW_DEPLOY_ROOT | Deploy Root Ueberschreibung |
Plattformanforderungen
Abschnitt betitelt „Plattformanforderungen“| Plattform | CLI | Explorer |
|---|---|---|
| macOS (arm64) | Native Binary | Node.js oder Bun |
| Windows | PyInstaller Build (auf Windows) | Node.js |
| Linux | PyInstaller Build (auf Linux) | Node.js |
Release-Checkliste
Abschnitt betitelt „Release-Checkliste“- Sicherstellen, dass Tests bestehen:
just test - Alle Aenderungen committen
- Release:
just release patch(oderminor,major) - Deployed Binary testen:
jinflow-deploy/jinflow version - Tenants bauen:
jin make --all --sync - Explorer pruefen:
jin explore
v0.45.1 · built 2026-04-17 08:14 UTC