mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 21:24:41 +02:00
Ajoute une interface graphique à finlab, en plus de la console Claude Code (les deux cohabitent sur finance.lab.local) : - dashboard/ : backend FastAPI (sans LLM/clé) exposant les données finlab en JSON (/api/portfolio, /api/scan, /api/ohlc, /api/plan, /api/alerts) + front statique (lightweight-charts) : graphiques chandeliers MM50/200 + volume, portefeuille (P&L/poids/secteurs), watchlists thématiques scannées, alertes, plan de trade R:R - Découplage code/data : finlab lit ses configs depuis FINLAB_HOME si défini (workspace persistant) ; repli sur le dossier du package en dév local - Image double usage (un build, deux conteneurs) : code → /opt/app, seed minimal (configs + persona + MCP) → workspace - Fix seed NFS (cause racine du workspace vide) : WORKDIR n'est plus sur le volume (le runtime le créait en root sur NFS) ; seed déplacé dans un initContainer robuste (recrée le dossier s'il est non-inscriptible) - Deployment : initContainer seed + 2 conteneurs (console ttyd -b /console, dashboard uvicorn) ; Service 2 ports ; IngressRoute 2 routes (/console + dashboard), basicAuth Validé en local (podman) : seed OK, dashboard /api/portfolio → 16k€/10 positions via FINLAB_HOME, endpoints ohlc/scan/plan/alerts OK, ttyd/claude/finlab présents. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
19 lines
815 B
Bash
19 lines
815 B
Bash
#!/usr/bin/env bash
|
|
# initContainer : prépare le workspace persistant (PVC) AVANT le démarrage des conteneurs.
|
|
# Tourne en uid 1000. Robuste au piège NFS : si le point de montage / le dossier workspace a
|
|
# été créé root et non-inscriptible (fsGroup non honoré par le provisioner NFS), on le recrée
|
|
# (le parent /home/finlab est world-writable côté provisioner).
|
|
set -euo pipefail
|
|
|
|
WS="${WORKSPACE:-/home/finlab/workspace}"
|
|
|
|
if [ -d "$WS" ] && [ ! -w "$WS" ]; then
|
|
echo "seed: workspace présent mais non inscriptible → recréation"
|
|
rmdir "$WS" 2>/dev/null || true
|
|
fi
|
|
mkdir -p "$WS"
|
|
|
|
# cp no-clobber : pose les fichiers manquants (nouvelle image), préserve les edits existants.
|
|
cp -rn /opt/seed/. "$WS"/ 2>/dev/null || true
|
|
|
|
echo "seed: OK — $(ls -A "$WS" 2>/dev/null | wc -l) entrées dans $WS"
|