Prérequis
Prérequis
Dernière mise à jour : 2026-05-10
Outils CLI
| Outil | Version | Notes |
|---|---|---|
| Node.js | 22.x (node:22-bookworm-slim en CI/prod) |
Pas Alpine — better-sqlite3 n'a pas de prebuilt musl |
| npm | 10.x (vient avec Node 22) | |
| Docker | 24+ | Pour docker compose up qdrant en dev |
| Docker Compose v2 | (intégré à Docker) | |
poppler-utils |
Récent | Fournit pdftoppm (rendu PDF→PNG 300 DPI) |
tesseract-ocr |
5.x | Pour OCR auto des PDFs scannés |
tesseract-ocr-fra + tesseract-ocr-eng |
Packs langues | |
git |
Récent |
Installation system deps (Ubuntu/Debian)
sudo apt-get install -y poppler-utils tesseract-ocr tesseract-ocr-fra tesseract-ocr-eng
Pour ajouter d'autres langues d'OCR :
sudo apt-get install -y tesseract-ocr-ita tesseract-ocr-deu
# Puis dans .env :
# OCR_LANGUAGES=fra+eng+ita+deu
Sans ces outils, pdfjs-dist continuera à extraire les PDFs natifs, mais (1) aucun PNG ne sera généré (échec non-fatal logué warn), (2) un PDF scanné finira avec 0 chunks.
Services externes (à avoir tournants)
Qdrant (vector DB)
- Port 6333
- Dev local :
docker compose -f docker-compose.dev.yml up -d qdrant(depuis la racine du projet) - Prod : container Qdrant sur Unraid au même endroit (volume
/mnt/user/appdata/boardgame-referee/qdrant)
TEI bge-m3 (embeddings)
- Port 8099 (custom — par défaut TEI utiliserait 80)
- Lance le service Unraid
text-embeddings-inference(template XML dansunraid/) - En dev local sans GPU : faisable sur CPU mais lent — préférer pointer
TEI_URLvers l'instance Unraid via SSH tunnel ou exposition LAN
TEI Reranker bge-v2-m3
- Port 8990 (8090 était déjà pris)
- Service Unraid
text-embeddings-reranker
VM oracle (Claude Code CLI)
- VM avec compte SSH
oracleconfiguré (cf.securite/ssh-oracle.md) - Claude Code installé dans
/home/oracle/.claude/ - Credentials Anthropic dans
/home/oracle/.claude/.credentials.json - Wrapper
/home/oracle/bin/oracle-claude.sh(ForceCommand)
Optionnel
- SMTP : si tu veux les notifications de register et le password reset par mail. Sinon
SMTP_HOSTvide → désactivé silencieusement. - BGG API token : pour le forum sync. Optionnel, l'API publique fonctionne sans (rate-limit moins strict avec token).
Cas spécial : dev sur la machine qui héberge Claude
Si tu lances le backend sur la même machine que le binaire claude (ex. ton laptop dev), le SSH boucle sur lui-même. Active le mode local :
CLAUDE_USE_LOCAL=true
CLAUDE_LOCAL_BIN=claude
CLAUDE_LOCAL_WORKDIR=/path/to/workdir/with/CLAUDE.md
Les vars CLAUDE_SSH_* sont alors ignorées (mais peuvent rester en place). Ne jamais activer en prod : le container Docker n'a pas accès à claude localement.
No comments to display
No comments to display