Aller au contenu

« Trace install tas - Ollama » : différence entre les versions

De Loic Wiki
Création de la page de trace logicielle
 
Actualisation des versions et unités Quadlet Ollama
 
(3 versions intermédiaires par un autre utilisateur non affichées)
Ligne 2 : Ligne 2 :


== Rôle ==
== Rôle ==
API locale de modèles LLM.
API locale de modèles LLM avec deux instances distinctes :
* une instance AMD/ROCm sur la Radeon RX 7900
* une instance NVIDIA/CUDA sur la GeForce RTX 3070


== Accès ==
== Accès ==
=== Instance AMD / ROCm ===
* Local : http://10.8.0.1:11434
* Local : http://10.8.0.1:11434
* Depuis le terminal local : `OLLAMA_HOST=http://127.0.0.1:11434`
* Public : https://lololand.hopto.org:25434
* Public : https://lololand.hopto.org:25434
=== Instance NVIDIA / CUDA ===
* Local : http://10.8.0.1:11435
* Depuis le terminal local : `OLLAMA_HOST=http://127.0.0.1:11435`
* Pas d'exposition publique dédiée documentée à ce stade


== Ports ==
== Ports ==
11434 local, 25434 public
* 11434/tcp : serveur Ollama AMD / ROCm
* 11435/tcp : serveur Ollama NVIDIA / CUDA
* 25434/tcp : proxy public Caddy vers l'instance AMD/ROCm, protégé par basicauth


== Exécution / runtime ==
== Exécution / runtime ==
Conteneur ollama_roc
=== AMD / ROCm ===
* Service systemd user : `/home/loic/.config/systemd/user/ollama.service`
* Conteneur : `ollama_roc`
* Image : `docker.io/ollama/ollama:rocm`
* Devices : `/dev/kfd`, `/dev/dri`
 
=== NVIDIA / CUDA ===
* Service systemd user : `/home/loic/.config/systemd/user/ollama-nvidia.service`
* Conteneur : `ollama_nv`
* Image : `docker.io/ollama/ollama:latest`
* Intégration GPU : Podman + NVIDIA Container Toolkit + CDI
* Device CDI utilisé : `nvidia.com/gpu=all`
 
== Chemins de configuration ==
* `/home/loic/.config/systemd/user/ollama.service`
* `/home/loic/.config/systemd/user/ollama-nvidia.service`
* `/etc/caddy/Caddyfile`
* `/home/loic/.bashrc` (alias CLI)
* `/home/loic/upgrade/ollama-dual-gpu-plan.md`


== Installation / configuration ==
== Volumes / persistance ==
Protégé publiquement par basicauth dans Caddy.
* Stockage modèles partagé entre les deux instances : `/media/loic/nem/ollama`
* Montage conteneur : `/media/loic/nem/ollama -> /root/.ollama`
 
== Dépendances ==
* Caddy 25434 -> 11434 avec basicauth pour l'instance AMD/ROCm
* NVIDIA driver 580 open pour la RTX 3070
* NVIDIA Container Toolkit
* CDI NVIDIA généré dans `/var/run/cdi/nvidia.yaml`
* clients comme Open WebUI


== Remarques ==
== Remarques ==
Point d'infrastructure critique pour les usages LLM locaux.
* L'instance NVIDIA n'a fonctionné correctement qu'après mise en place de NVIDIA Container Toolkit et CDI.
* Le stockage de modèles est partagé entre les deux serveurs pour éviter les doublons disque.
* Par prudence, éviter les `ollama pull` simultanés sur les deux instances.
* Faire préférentiellement les opérations d'écriture (`pull`, `rm`, création de modèles) sur une seule instance à la fois.
* Le proxy public documenté actuellement cible uniquement l'instance AMD/ROCm.
 
== Utilisation CLI ==
=== Sélection explicite du serveur ===
Pour cibler un serveur particulier depuis le terminal local, utiliser `OLLAMA_HOST`.
 
Exemples :
<pre>
OLLAMA_HOST=http://127.0.0.1:11434 ollama list
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3
 
OLLAMA_HOST=http://127.0.0.1:11435 ollama list
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3
</pre>
 
=== Alias shell ===
Alias ajoutés dans `/home/loic/.bashrc` :
<pre>
alias ollama-amd='OLLAMA_HOST=http://127.0.0.1:11434 ollama'
alias ollama-nvidia='OLLAMA_HOST=http://127.0.0.1:11435 ollama'
</pre>
 
Exemples :
<pre>
ollama-amd list
ollama-amd run qwen3
 
ollama-nvidia list
ollama-nvidia run qwen3
</pre>
 
== Exemples de tests ==
=== Test basique de disponibilité ===
<pre>
curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:11435/api/tags
</pre>
 
=== Questions de test ===
<pre>
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
</pre>
 
<pre>
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Écris un haïku sur les GPU."
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Écris un haïku sur les GPU."
</pre>
 
=== Vérifier le GPU utilisé côté NVIDIA ===
Les logs de `ollama-nvidia.service` doivent montrer une détection CUDA du type :
* `library=CUDA`
* `description="NVIDIA GeForce RTX 3070"`
 
== Supervision / diagnostic ==
=== État des services ===
<pre>
systemctl --user status ollama.service
systemctl --user status ollama-nvidia.service
</pre>
 
=== Journaux ===
<pre>
journalctl --user -u ollama.service -n 100 --no-pager
journalctl --user -u ollama-nvidia.service -n 100 --no-pager
</pre>
 
=== Vérifier la carte NVIDIA ===
<pre>
nvidia-smi
watch -n 1 nvidia-smi
</pre>
 
=== Vérifier que CDI voit le GPU ===
<pre>
nvidia-ctk cdi list
</pre>
 
=== Conteneurs actifs ===
<pre>
podman ps | grep -E 'ollama_roc|ollama_nv'
</pre>
 
=== Contrôler la réponse API ===
<pre>
curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:11435/api/tags
</pre>
 
== Données / emplacements à sauvegarder ==
* `/media/loic/nem/ollama`
* `/home/loic/.config/systemd/user/ollama.service`
* `/home/loic/.config/systemd/user/ollama-nvidia.service`
* `/etc/caddy/Caddyfile`
* `/home/loic/.bashrc`
 
== Sauvegarde ==
* Sauvegarder le répertoire de modèles partagé `/media/loic/nem/ollama`.
* Sauvegarder les deux services systemd user Ollama.
* Sauvegarder la configuration Caddy liée à `25434`.
 
== Restauration ==
* Restaurer `/media/loic/nem/ollama`.
* Restaurer les fichiers systemd user `ollama.service` et `ollama-nvidia.service`.
* Recharger systemd user puis relancer les services :
<pre>
systemctl --user daemon-reload
systemctl --user restart ollama.service
systemctl --user restart ollama-nvidia.service
</pre>
* Vérifier ensuite `curl http://127.0.0.1:11434/api/tags` et `curl http://127.0.0.1:11435/api/tags`.
 
== Maintenance documentaire ==
Lors d'un changement de port, de proxy public, de stockage des modèles, de pilote GPU, de toolkit NVIDIA, d'alias shell ou d'architecture AMD/NVIDIA, mettre à jour cette page et la page centrale [[Trace install tas]].


== Trace documentaire ==
== Trace documentaire ==
Cette page fait partie de [[trace install tas]].
Cette page fait partie de [[Trace install tas]].\n\n== État Quadlet confirmé — 2026-07-25 ==
 
Les deux instances Ollama sont définies par Quadlet :
 
* ROCm : <code>ollama-rocm.service</code>, conteneur <code>ollama_roc</code>, port <code>11434</code>, image <code>docker.io/ollama/ollama:rocm</code>
* NVIDIA : <code>ollama-nvidia.service</code>, conteneur <code>ollama_nv</code>, port <code>11435</code>, image <code>docker.io/ollama/ollama:latest</code>
* Fichiers : <code>/home/loic/.config/containers/systemd/ollama-rocm.container</code> et <code>ollama-nvidia.container</code>
* Modèles partagés : <code>/media/loic/nem/ollama</code>
 
L'API ROCm répond actuellement en version <code>0.32.3</code>. Le tag <code>:rocm</code> est flottant ; pour figer une version, comparer son digest à un tag versionné tel que <code>:0.32.3-rocm</code> puis modifier le Quadlet.
 
L'instance NVIDIA reste dépendante de la cohérence entre le pilote noyau, les bibliothèques NVIDIA, le toolkit et le CDI.

Dernière version du 25 juillet 2026 à 23:13

Trace install tas - Ollama

Rôle

API locale de modèles LLM avec deux instances distinctes :

  • une instance AMD/ROCm sur la Radeon RX 7900
  • une instance NVIDIA/CUDA sur la GeForce RTX 3070

Accès

Instance AMD / ROCm

Instance NVIDIA / CUDA

Ports

  • 11434/tcp : serveur Ollama AMD / ROCm
  • 11435/tcp : serveur Ollama NVIDIA / CUDA
  • 25434/tcp : proxy public Caddy vers l'instance AMD/ROCm, protégé par basicauth

Exécution / runtime

AMD / ROCm

  • Service systemd user : `/home/loic/.config/systemd/user/ollama.service`
  • Conteneur : `ollama_roc`
  • Image : `docker.io/ollama/ollama:rocm`
  • Devices : `/dev/kfd`, `/dev/dri`

NVIDIA / CUDA

  • Service systemd user : `/home/loic/.config/systemd/user/ollama-nvidia.service`
  • Conteneur : `ollama_nv`
  • Image : `docker.io/ollama/ollama:latest`
  • Intégration GPU : Podman + NVIDIA Container Toolkit + CDI
  • Device CDI utilisé : `nvidia.com/gpu=all`

Chemins de configuration

  • `/home/loic/.config/systemd/user/ollama.service`
  • `/home/loic/.config/systemd/user/ollama-nvidia.service`
  • `/etc/caddy/Caddyfile`
  • `/home/loic/.bashrc` (alias CLI)
  • `/home/loic/upgrade/ollama-dual-gpu-plan.md`

Volumes / persistance

  • Stockage modèles partagé entre les deux instances : `/media/loic/nem/ollama`
  • Montage conteneur : `/media/loic/nem/ollama -> /root/.ollama`

Dépendances

  • Caddy 25434 -> 11434 avec basicauth pour l'instance AMD/ROCm
  • NVIDIA driver 580 open pour la RTX 3070
  • NVIDIA Container Toolkit
  • CDI NVIDIA généré dans `/var/run/cdi/nvidia.yaml`
  • clients comme Open WebUI

Remarques

  • L'instance NVIDIA n'a fonctionné correctement qu'après mise en place de NVIDIA Container Toolkit et CDI.
  • Le stockage de modèles est partagé entre les deux serveurs pour éviter les doublons disque.
  • Par prudence, éviter les `ollama pull` simultanés sur les deux instances.
  • Faire préférentiellement les opérations d'écriture (`pull`, `rm`, création de modèles) sur une seule instance à la fois.
  • Le proxy public documenté actuellement cible uniquement l'instance AMD/ROCm.

Utilisation CLI

Sélection explicite du serveur

Pour cibler un serveur particulier depuis le terminal local, utiliser `OLLAMA_HOST`.

Exemples :

OLLAMA_HOST=http://127.0.0.1:11434 ollama list
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3

OLLAMA_HOST=http://127.0.0.1:11435 ollama list
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3

Alias shell

Alias ajoutés dans `/home/loic/.bashrc` :

alias ollama-amd='OLLAMA_HOST=http://127.0.0.1:11434 ollama'
alias ollama-nvidia='OLLAMA_HOST=http://127.0.0.1:11435 ollama'

Exemples :

ollama-amd list
ollama-amd run qwen3

ollama-nvidia list
ollama-nvidia run qwen3

Exemples de tests

Test basique de disponibilité

curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:11435/api/tags

Questions de test

OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Écris un haïku sur les GPU."
OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Écris un haïku sur les GPU."

Vérifier le GPU utilisé côté NVIDIA

Les logs de `ollama-nvidia.service` doivent montrer une détection CUDA du type :

  • `library=CUDA`
  • `description="NVIDIA GeForce RTX 3070"`

Supervision / diagnostic

État des services

systemctl --user status ollama.service
systemctl --user status ollama-nvidia.service

Journaux

journalctl --user -u ollama.service -n 100 --no-pager
journalctl --user -u ollama-nvidia.service -n 100 --no-pager

Vérifier la carte NVIDIA

nvidia-smi
watch -n 1 nvidia-smi

Vérifier que CDI voit le GPU

nvidia-ctk cdi list

Conteneurs actifs

podman ps | grep -E 'ollama_roc|ollama_nv'

Contrôler la réponse API

curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:11435/api/tags

Données / emplacements à sauvegarder

  • `/media/loic/nem/ollama`
  • `/home/loic/.config/systemd/user/ollama.service`
  • `/home/loic/.config/systemd/user/ollama-nvidia.service`
  • `/etc/caddy/Caddyfile`
  • `/home/loic/.bashrc`

Sauvegarde

  • Sauvegarder le répertoire de modèles partagé `/media/loic/nem/ollama`.
  • Sauvegarder les deux services systemd user Ollama.
  • Sauvegarder la configuration Caddy liée à `25434`.

Restauration

  • Restaurer `/media/loic/nem/ollama`.
  • Restaurer les fichiers systemd user `ollama.service` et `ollama-nvidia.service`.
  • Recharger systemd user puis relancer les services :
systemctl --user daemon-reload
systemctl --user restart ollama.service
systemctl --user restart ollama-nvidia.service

Maintenance documentaire

Lors d'un changement de port, de proxy public, de stockage des modèles, de pilote GPU, de toolkit NVIDIA, d'alias shell ou d'architecture AMD/NVIDIA, mettre à jour cette page et la page centrale Trace install tas.

Trace documentaire

Cette page fait partie de Trace install tas.\n\n== État Quadlet confirmé — 2026-07-25 ==

Les deux instances Ollama sont définies par Quadlet :

  • ROCm : ollama-rocm.service, conteneur ollama_roc, port 11434, image docker.io/ollama/ollama:rocm
  • NVIDIA : ollama-nvidia.service, conteneur ollama_nv, port 11435, image docker.io/ollama/ollama:latest
  • Fichiers : /home/loic/.config/containers/systemd/ollama-rocm.container et ollama-nvidia.container
  • Modèles partagés : /media/loic/nem/ollama

L'API ROCm répond actuellement en version 0.32.3. Le tag :rocm est flottant ; pour figer une version, comparer son digest à un tag versionné tel que :0.32.3-rocm puis modifier le Quadlet.

L'instance NVIDIA reste dépendante de la cohérence entre le pilote noyau, les bibliothèques NVIDIA, le toolkit et le CDI.