mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Strata (github.com/Niko1221/Strata, MIT) fait tourner Qwen3.8 Flash Next (MoE 125 B) sur une carte de joueur en répartissant les experts entre VRAM, RAM et disque. Intégration reprise d'AJEAN (backend_moe.go, « AJEAN MoE 1.0 ») : paquet figé de la release moe-v1.0, vérifié par SHA-256. - backend_strata.go : détection de la machine, quant conseillé, installation en tâche (même suivi que llama.cpp), preset ENGINE=strata, lancement du serveur de Strata par `loki serve`, réglages d'un modèle installé - pré-vol, vision, liste des presets, journal de chargement : Strata reconnu - proxy OpenAI et relais : Host local pour Strata (il refuse un Host inconnu) - benchmark et optimiseur refusés sur Strata (protocole propre à llama-server) - UI : ligne Strata dans Paramètres → Moteur (visible aussi avec le moteur de l'image), fenêtre d'installation et de réglages, moteur actif affiché - image : python3 + python3-venv ; compose : memlock illimité Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
72 lines
4.2 KiB
YAML
72 lines
4.2 KiB
YAML
# ───────────────────────────────────────────────────────────────────────────
|
|
# Loki — docker-compose pour Unraid (image préconstruite par GitHub Actions)
|
|
#
|
|
# Loki est un fork conteneurisé d'AJEAN (github.com/nathaninline/ajean, MIT) :
|
|
# moteur llama.cpp CUDA + interface web dans UN conteneur autonome.
|
|
# Aucun build ni git nécessaire sur Unraid — l'image est publiée sur GHCR à
|
|
# chaque push sur main.
|
|
#
|
|
# MISE EN PLACE :
|
|
# 1) Plugin « Nvidia Driver » (Apps) installé, GPU visible (nvidia-smi).
|
|
# 2) Crée les dossiers de données (terminal Unraid) :
|
|
# mkdir -p /mnt/user/appdata/loki/data /mnt/user/appdata/loki/models
|
|
# 3) Plugin « Compose Manager » -> nouvelle stack -> colle ce fichier.
|
|
# 4) Compose Up. Interface : http://<ip-unraid>:8090
|
|
#
|
|
# Les modèles se téléchargent directement depuis l'UI (catalogue intégré),
|
|
# ou dépose tes .gguf dans /mnt/user/appdata/loki/models.
|
|
#
|
|
# Mise à jour : Compose Down puis Up avec « pull image », ou
|
|
# « docker compose pull » avant Up.
|
|
# ───────────────────────────────────────────────────────────────────────────
|
|
services:
|
|
loki:
|
|
image: ghcr.io/r0m1k3/loki:latest
|
|
container_name: loki
|
|
runtime: nvidia
|
|
ports:
|
|
# Pour changer de port : modifie 8090 à gauche ET LOKI_WEB_PORT… ou
|
|
# seulement à gauche (ex. "8717:8090") si tu veux garder l'ancien port.
|
|
- "8090:8090"
|
|
environment:
|
|
- NVIDIA_VISIBLE_DEVICES=all
|
|
# Optionnel : modèle initial (sinon, choisis-le dans l'UI au premier
|
|
# lancement). Ex. LOKI_MODEL=Qwen3-14B-Q4_K_M.gguf après dépôt du
|
|
# fichier dans /mnt/user/appdata/loki/models.
|
|
- LOKI_MODEL=
|
|
# Accès par NOM DE DOMAINE (reverse proxy, ex. loki.mondomaine.fr) sans
|
|
# clé de pilotage : liste ici le(s) nom(s), séparés par des virgules —
|
|
# sinon l'API répond 403 (protection contre les sites tiers / DNS
|
|
# rebinding). Inutile pour un accès par IP ou nom local.
|
|
- LOKI_TRUSTED_HOSTS=
|
|
volumes:
|
|
# PERFORMANCE — /mnt/user/… passe par la couche FUSE des partages
|
|
# Unraid (shfs) : chaque écriture de la base et chaque page d'un gros
|
|
# modèle relue depuis le disque (modèle plus gros que la RAM) traverse un
|
|
# démon en espace utilisateur. Loki le signale au démarrage (encart
|
|
# d'information, rien n'est perdu). Deux remèdes, au choix :
|
|
# - Recommandé (Unraid 6.12+) : partages en « Exclusive access ».
|
|
# Ce n'est pas une case mais un état : Settings -> Global Share
|
|
# Settings -> « Permit exclusive shares » = Yes, puis le partage
|
|
# appdata (et celui des modèles) entièrement sur UN pool — mover
|
|
# d'abord vers le pool, ensuite Secondary storage = None. La page du
|
|
# partage affiche alors « Exclusive access : Yes ». Redémarre le
|
|
# conteneur : le chemin /mnt/user reste le même, FUSE est
|
|
# court-circuité.
|
|
# - Avancé : mapper /mnt/<ton-pool>/appdata/loki/… (ex. /mnt/cache si
|
|
# ton pool s'appelle « cache »). Migration MANUELLE obligatoire :
|
|
# Compose Down, rsync -a de l'ancien dossier vers le nouveau, puis
|
|
# changer les deux lignes ci-dessous. Un /mnt/<pool> qui n'existe
|
|
# pas atterrit dans la RAM d'Unraid : données perdues au redémarrage,
|
|
# et un modèle de 80 Go peut saturer la mémoire du serveur.
|
|
# Ne change JAMAIS ce chemin sans migrer : /data apparaîtrait vide.
|
|
# /data : config, base, mémoire, workspace, modèles téléchargés par l'UI
|
|
- /mnt/user/appdata/loki/data:/data
|
|
# /models : dossier de .gguf déposés à la main (gros fichiers)
|
|
- /mnt/user/appdata/loki/models:/models
|
|
# Moteur Strata (Qwen3.8 Flash Next) : il verrouille ses experts en RAM
|
|
# (mlock, 30 à 50 Go). La limite Docker par défaut (64 Ko) l'en empêche.
|
|
ulimits:
|
|
memlock: -1
|
|
restart: unless-stopped
|