Zum Inhalt springen

Deployment Guide

jinflow trennt App (Engine + Explorer) von Daten (Tenant-KLS-Dateien).

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.

Terminal-Fenster
# Version erhoehen, bauen, paketieren
just release patch
# Aktuelle Version bauen ohne Erhoehung
just release --now
# Tests ueberspringen fuer schnellere Iteration
just release --now --skip-tests

Das produziert:

  • jinflow-deploy/_cli/ — PyInstaller-Binary (Python + dbt + DuckDB)
  • jinflow-deploy/_explorer/ — SvelteKit Build + node_modules
  • jinflow-deploy/jinflow — CLI Binary
Terminal-Fenster
# Via Launcher
./jinflow make --tenant millesime.domaine_zufferey
./jinflow explore --tenant millesime.domaine_zufferey
# Explorer
./jinflow explore # oeffnet Explorer mit Tenant-Auswahl
Terminal-Fenster
# CLI (aus dem Repository)
jin make --tenant millesime.domaine_zufferey
# Explorer Dev Server
cd explorer && npm run dev # localhost:4000

Docker ist fuer Cloud-Deployment. Lokaler Explorer laeuft als Node.js Web Server.

Terminal-Fenster
# Docker Image bauen
scripts/build-docker.sh
# Mit Live Root Mount ausfuehren
docker run -v /path/to/live:/data/live:ro \
-p 4000:4000 \
jinflow-explorer

KLS-Dateien koennen in Cloudflare R2 fuer den Cloud Explorer gespeichert werden:

Terminal-Fenster
# R2 Anmeldedaten konfigurieren
jin us --r2-account-id ... --r2-key ... --r2-secret ... --r2-bucket jinflow-demo

Explorer 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).

VariableZweck
JINFLOW_LIVE_ROOTLive Root fuer Tenant-Erkennung
JINFLOW_DB_PATHExpliziter KLS-Pfad (Einzeltenant-Modus)
JINFLOW_AFS_ROOTAFS Root fuer Brand-Konfiguration
JINFLOW_SYSTEM_DB_PATHSystem DuckDB (optional)
JINFLOW_SIS_PATHExpliziter SIS-Pfad (Ueberschreibung)
ANTHROPIC_API_KEYClaude API Key fuer KI-Erklaerungen
JINFLOW_AI_MODELKI-Modell-Ueberschreibung (Standard: claude-haiku-4-5-20251001)
KLS_SOURCEErkennungsmodus: local, r2 oder leer
KLS_LOCAL_DIRLokales Verzeichnis fuer KLS-Erkennung
VariableZweck
JINFLOW_LIVELive Root Ueberschreibung
JINFLOW_PACKS_ROOTPack Root Ueberschreibung
JINFLOW_DLZ_ROOTDLZ Root Ueberschreibung
JINFLOW_TENANTStandard-Tenant
JINFLOW_DEPLOY_ROOTDeploy Root Ueberschreibung
PlattformCLIExplorer
macOS (arm64)Native BinaryNode.js oder Bun
WindowsPyInstaller Build (auf Windows)Node.js
LinuxPyInstaller Build (auf Linux)Node.js
  1. Sicherstellen, dass Tests bestehen: just test
  2. Alle Aenderungen committen
  3. Release: just release patch (oder minor, major)
  4. Deployed Binary testen: jinflow-deploy/jinflow version
  5. Tenants bauen: jin make --all --sync
  6. Explorer pruefen: jin explore
jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC