Files
Effi/docs/01-architecture/infrastructure.md
Folzo d1e12cff60 Initial commit: Documentation Effi v1.0
- Structure complète du projet
- Docker compose de production
- Documentation organisée par thèmes
- Guides d'installation et configuration
- Section dépannage détaillée
- Journal historique
2026-04-04 08:45:59 +02:00

6.4 KiB

🏗️ Architecture Infrastructure

Vue d'ensemble

Effi fonctionne sur une architecture multi-machines avec une séparation claire entre le serveur principal (services Docker) et la station de travail puissante (calcul GPU).


Machines

effi-server (192.168.1.27)

Rôle : Serveur Docker principal, héberge tous les services de l'interface et de la logique

Caractéristique Valeur
OS Ubuntu Server 22.04 LTS
CPU Intel J5040 (4 cœurs)
RAM ~7.6 GB
Stockage SSD
GPU Aucun (tout est fait en CPU)

Services hébergés :

  • Open WebUI (interface utilisateur)
  • Qdrant (base vectorielle)
  • CouchDB (synchronisation Obsidian)
  • n8n (automatisation)
  • mcpo (proxy MCP)
  • wol-proxy (Wake-on-LAN)
  • pipelines (middleware mémoire)
  • Watchtower (mises à jour auto)
  • Obsidian Server (interface web)

folzo-Corp (192.168.1.11)

Rôle : Station de calcul GPU pour LLM et traitement audio

Caractéristique Valeur
OS Bazzite (Fedora-based)
CPU AMD Ryzen 5800X3D
RAM 32 GB+
GPU AMD RX 7800 XT 16 GB VRAM
ROCm Version 6.3.4
Architecture GPU gfx1100

Services hébergés :

  • Ollama (LLM qwen2.5:14b)
  • speaches (STT Whisper)
  • openedai-speech (TTS Piper/XTTS)

Schéma Réseau

Internet
    │
    ▼
┌────────────────────────────────────────────────────────────┐
│                     Routeur (Box)                          │
│              DHCP 192.168.1.0/24                           │
└────────────────────────────────────────────────────────────┘
    │                           │
    │                           │
    ▼                           ▼
┌──────────────┐          ┌──────────────────┐
│ effi-server  │◄────────►│   folzo-Corp     │
│ 192.168.1.27 │   LAN    │   192.168.1.11   │
│              │          │                  │
│  • Docker    │          │  • Ollama        │
│  • WebUI     │  WoL     │  • Whisper       │
│  • Qdrant    │◄─────────│  • TTS           │
│  • n8n       │          │  • ROCm/GPU      │
└──────────────┘          └──────────────────┘

Flux de Données

Pipeline Conversationnelle

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   Micro      │────►│  speaches    │────►│ Open WebUI   │────►│   Ollama     │
│  (Client)    │ STT │ (folzo-Corp) │     │(effi-server) │     │ (folzo-Corp) │
└──────────────┘     └──────────────┘     └──────┬───────┘     └──────┬───────┘
                                                  │                    │
                                                  │◄───────────────────┘
                                                  │      Réponse LLM
                                                  │
                                                  ▼
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   Haut-      │◄────│ openedai-    │◄────│ Open WebUI   │
│  parleurs    │ TTS │   speech     │     │(traite la   │
│              │     │(folzo-Corp)  │     │  réponse)   │
└──────────────┘     └──────────────┘     └──────────────┘

Wake-on-LAN

Quand OpenWebUI sur effi-server veut appeler Ollama sur folzo-Corp :

  1. Requête vers 192.168.1.27:3011 (wol-proxy)
  2. wol-proxy vérifie si Ollama répond sur 192.168.1.11:11434
  3. Si non → envoie un Magic Packet WoL à l'adresse MAC configurée
  4. Attend que le PC démarre (timeout configurable)
  5. Une fois démarré, fait le proxy vers Ollama

Sécurité Réseau

Ports ouverts sur effi-server

Port Service Exposition
3000 Open WebUI LAN uniquement
5678 n8n LAN uniquement
5984 CouchDB LAN uniquement
6333 Qdrant LAN uniquement
8000 mcpo LAN uniquement

Ports ouverts sur folzo-Corp

Port Service Exposition
8100 openedai-speech LAN uniquement
8200 speaches LAN uniquement
11434 Ollama LAN uniquement

Recommandations

  • Utiliser un VPN (WireGuard, Tailscale) pour l'accès externe
  • Jamais exposer les ports directement sur Internet
  • Configurer le pare-feu UFW (Ubuntu) ou firewall-cmd (Fedora)

Sauvegardes

Données critiques à sauvegarder

Sur effi-server :

~/effi/
├── docker-compose.yml          # Configuration
├── .env                        # Variables (chiffrer)
├── open-webui-data/            # Mémoire, config
├── qdrant-storage/             # Vecteurs RAG
├── couchdb-data/               # Sync Obsidian
└── n8n-data/                   # Workflows

Sur folzo-Corp :

~/ollama/                       # Modèles téléchargés
~/speaches/models/              # Modèles Whisper
~/openedai-speech/tts-voices/   # Voix TTS

Commande de backup

# Sur effi-server
tar -czvf effi-backup-$(date +%Y%m%d).tar.gz \
  ~/effi/docker-compose.yml \
  ~/effi/.env \
  ~/effi/open-webui-data/ \
  ~/effi/qdrant-storage/ \
  ~/effi/couchdb-data/ \
  ~/effi/n8n-data/

Évolution Future

  • Réservation DHCP : Fixer les IPs via le routeur
  • DNS local : Utiliser des noms comme effi.local et folzo-corp.local
  • Reverse Proxy : Traefik ou Nginx Proxy Manager pour HTTPS
  • Monitoring : Prometheus + Grafana pour les métriques