Chronicler
Auto-hébergement

Accélération GPU

Utiliser la carte graphique que vous avez déjà — la différence entre une minute et quelques secondes.

La vitesse des réponses dépend surtout de l'endroit où tourne le modèle. Sur processeur, la première réponse après une pause prend une à trois minutes. Sur une carte NVIDIA de milieu de gamme, quelques secondes.

Comment le choix se fait

Un seul réglage dans votre .env :

.env
COMPOSE_PROFILES=cpu     # ou nvidia, ou amd

Le fichier compose contient trois variantes du conteneur de modèle et en démarre exactement une. Elles partagent le même nom, la même adresse et les mêmes modèles téléchargés : passer de l'une à l'autre ne perd rien et ne retélécharge rien.

Si COMPOSE_PROFILES n'est pas défini, aucune ne démarre. Le reste de la pile monte, et toutes les questions échouent. C'est l'erreur d'auto-hébergement la plus fréquente.

L'installation guidée de l'application détecte cela pour vous au premier démarrage. Sinon, choisissez comme ci-dessous.

Détection automatique

Terminal
curl -L -o detect-hardware.sh \
  https://github.com/ChroniclerLM/Releases/releases/latest/download/detect-hardware.sh
chmod +x detect-hardware.sh
./detect-hardware.sh

Il vérifie la plateforme, la capacité réelle des conteneurs à joindre un GPU, et la mémoire dont Docker dispose, puis écrit COMPOSE_PROFILES dans le .env à côté. Il ne touche jamais à votre mot de passe de base, ni à votre modèle.

Le script affiche aussi un modèle suggéré, dont les noms ne correspondent pas toujours à la liste de Admin → Modèle. Considérez le script comme la référence pour le profil d'exécution, et la console comme la référence pour le modèle.

Options utiles : --recommend-only (affiche sans rien modifier), --coding (oriente la suggestion vers un modèle de code), --env-file CHEMIN (viser un autre .env).

Le script requiert bash : il tourne sous Linux, et sous Windows depuis Git Bash ou un shell WSL. Si vous ne pouvez pas l'exécuter, réglez la valeur à la main.

NVIDIA

Vérifier que la machine voit la carte

Terminal
nvidia-smi

Aucune sortie signifie un problème de pilote : réglez-le d'abord, rien de ce qui suit n'aidera.

Vérifier que les conteneurs la voient

Le pilote installé sur la machine ne suffit pas ; Docker a besoin du NVIDIA Container Toolkit pour transmettre la carte.

Terminal
docker run --rm --gpus all ollama/ollama:0.32.4 nvidia-smi

Si votre carte s'affiche, tout est prêt. En cas d'erreur :

  • Linux — installez le toolkit, déclarez-le auprès de Docker et redémarrez :
    Terminal
    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker
    

    Instructions : NVIDIA Container Toolkit.
  • Windows — mettez à jour le pilote NVIDIA (le pilote WSL2 inclut la prise en charge des conteneurs), vérifiez que Docker Desktop utilise le moteur WSL2, puis redémarrez Docker Desktop. Rien d'autre à installer.

Changer le profil

.env
COMPOSE_PROFILES=nvidia
Terminal
docker compose up -d

AMD

Linux uniquement, au mieux. ROCm atteint la carte via /dev/kfd et /dev/dri, que Docker Desktop sous Windows ne sait pas transmettre.

Terminal
ls /dev/kfd /dev/dri

Si les deux existent :

.env
COMPOSE_PROFILES=amd
Terminal
docker compose up -d

Cette variante télécharge une image différente et plus lourde (le runtime ROCm) : le premier démarrage après le changement est long.

Vérifier que c'est bien utilisé

Terminal
docker compose ps

Le conteneur en cours doit être ollama-nvidia ou ollama-amd, pas ollama-cpu. Posez ensuite une question et observez :

Terminal
nvidia-smi          # NVIDIA : la mémoire utilisée grimpe pendant la génération
docker compose logs chronicler-ollama | tail -30

Le journal d'Ollama indique sur quel matériel le modèle a été chargé. Le test honnête reste la montre : si une réponse à chaud prend encore une minute, c'est le processeur qui travaille.

Changer plus tard

Modifiez COMPOSE_PROFILES, puis docker compose up -d. Compose remplace le conteneur de modèle sur place. Les modèles téléchargés sont dans un volume partagé : rien n'est retéléchargé, rien n'est perdu.

Limite connue : la liste des modèles dans la console

Admin → Modèle interroge le matériel depuis l'intérieur du conteneur backend, qui n'a pas accès à la carte graphique. Il déclare donc l'absence de GPU et grise les modèles de cette catégorie, même sur une machine qui en possède une.

Les modèles qui tournent sur processeur ne sont pas concernés et restent sélectionnables — la sonde lit correctement la RAM, c'est seulement la carte graphique qu'elle ne voit pas. Pour utiliser malgré tout un modèle GPU, définissez-le côté serveur : voir Choisir un modèle GPU à la main.