Intermédiaire 10 minRéseau

Partager Ollama sur son réseau local (famille, équipe)

Faire tourner Ollama comme un serveur réseau local change tout : un seul GPU, plusieurs utilisateurs. Le conjoint sur son MacBook, le développeur sur son poste fixe, l'enfant sur la tablette — tout le monde tape sur le même daemon, sans dupliquer 30 Go de modèles. Ce guide montre comment exposer Ollama sur le réseau local proprement, sans l'ouvrir au monde entier.

Par Mohamed Meguedmi·Màj 2026-05-24·Testé sur Windows, macOS, Linux

#Pourquoi un serveur Ollama sur réseau local ?

Par défaut, Ollama écoute uniquement sur 127.0.0.1:11434 — donc seule la machine sur laquelle il tourne peut y accéder. C'est sûr, mais ça gâche un GPU. Une RTX 4090 ou un Mac Studio M4 Max sert 3 à 5 utilisateurs simultanés sans broncher sur des modèles 7B–14B Q4.

Mutualiser la VRAM
Un seul modèle chargé en mémoire pour toute la maison ou l'équipe — pas de copies redondantes.
Centraliser les modèles
150 Go de GGUF stockés une fois sur le serveur, jamais sur les laptops.
Standardiser les versions
Tout le monde tape sur le même Llama 3.1 8B Q4 — fini les écarts de qualité entre postes.
Économiser la batterie
Les laptops ne calculent rien — ils envoient un POST HTTP au serveur fixe.
i
Réseau local seulement
Ce guide cible le LAN domestique ou un sous-réseau d'équipe (10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12). Pour exposer Ollama sur Internet, il faut HTTPS + auth forte + rate limiting — un autre niveau de complexité.

#Prérequis

Ollama installé
Sur la machine qui hébergera le serveur (Linux, macOS ou Windows). Idéalement la machine avec le meilleur GPU.
IP fixe ou DNS local
Le serveur doit garder la même IP. Réservation DHCP côté box ou IP statique. Sinon, hostname.local via mDNS.
Réseau de confiance
Wi-Fi domestique avec WPA2/3, ou VLAN d'équipe. Pas de Wi-Fi public partagé.
Droits admin
Pour modifier le firewall et le service système (systemd, launchd, services.msc).

#1. Exposer Ollama avec OLLAMA_HOST=0.0.0.0

Ollama lit deux variables d'environnement clés : OLLAMA_HOST définit l'interface d'écoute, OLLAMA_ORIGINS définit les origines CORS autorisées. Pour passer en mode serveur, on bascule OLLAMA_HOST de 127.0.0.1 à 0.0.0.0 (toutes les interfaces).

#Linux (systemd)

Sur les distributions modernes, Ollama tourne via systemd. On édite l'override du service plutôt que le fichier de base — ça survit aux mises à jour du package.

Terminal
sudo systemctl edit ollama.service

Dans l'éditeur qui s'ouvre, collez ce bloc entre les lignes commentées :

/etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
Recharger et redémarrer
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
sudo systemctl status ollama.service

Vérifiez que ss -tlnp affiche bien Ollama sur 0.0.0.0:11434 et plus seulement 127.0.0.1:11434.

#Windows

Sous Windows, Ollama lit les variables d'environnement utilisateur au démarrage. La méthode propre : ajouter OLLAMA_HOST dans les variables utilisateur, puis relancer le service depuis la barre des tâches (clic droit sur l'icône → Quit Ollama, puis relancer).

PowerShell (admin)
[Environment]::SetEnvironmentVariable('OLLAMA_HOST', '0.0.0.0:11434', 'User')
[Environment]::SetEnvironmentVariable('OLLAMA_ORIGINS', '*', 'User')
Vérifier le port
Après redémarrage : netstat -an | findstr 11434 doit montrer 0.0.0.0:11434 LISTENING. Si vous voyez encore 127.0.0.1, c'est que la variable n'a pas été prise en compte — fermez complètement Ollama (icône système → Quit) avant de relancer.

#2. Ouvrir le firewall pour le LAN

Une fois Ollama en écoute sur 0.0.0.0, le firewall doit autoriser le port 11434 — mais uniquement depuis le réseau local. Jamais ouvrir 11434 sur Internet : Ollama n'a aucune authentification native.

#UFW (Ubuntu, Debian)

Terminal
# Autoriser le port 11434 depuis le LAN seulement
sudo ufw allow from 192.168.1.0/24 to any port 11434 proto tcp
sudo ufw reload
sudo ufw status

Adaptez 192.168.1.0/24 à votre sous-réseau réel (ip a pour vérifier). Si vous laissez ufw allow 11434 sans restriction de source et que la machine est exposée derrière un port-forward, vous offrez Ollama au monde entier — anonymement.

#iptables (sans UFW)

Terminal
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 11434 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 11434 -j DROP
# Sauvegarder selon la distrib (iptables-persistent, netfilter-persistent)
sudo netfilter-persistent save

#Windows Defender Firewall

PowerShell (admin)
New-NetFirewallRule `
  -DisplayName 'Ollama LAN' `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 11434 `
  -RemoteAddress 192.168.1.0/24 `
  -Action Allow
!
Ne jamais exposer 11434 sur Internet
L'API Ollama ne demande ni token ni mot de passe. Toute personne qui atteint le port peut générer des tokens (et faire grimper votre facture électrique), télécharger n'importe quel modèle, ou empoisonner le contexte avec /api/create. Restreignez systématiquement par IP source.

#3. Spécificités macOS

Sur macOS, Ollama tourne comme une app GUI (icône dans la barre de menus) qui lance le daemon en arrière-plan. Les variables d'environnement définies dans le shell ne sont pas vues par l'app GUI — il faut passer par launchctl ou modifier l'app.

  1. 01
    Quitter Ollama complètement
    Cliquez sur l'icône llama dans la barre de menus → Quit Ollama. Vérifiez avec ps aux | grep ollama que plus rien ne tourne.
  2. 02
    Définir la variable au niveau launchctl
    Dans un terminal : launchctl setenv OLLAMA_HOST "0.0.0.0:11434" puis launchctl setenv OLLAMA_ORIGINS "*". Ces variables sont héritées par toutes les apps GUI lancées ensuite.
  3. 03
    Relancer Ollama.app
    Ouvrez Applications → Ollama.app. L'app va relire l'environnement et écouter sur 0.0.0.0.
  4. 04
    Persister au reboot
    launchctl setenv ne survit pas au redémarrage. Pour le rendre permanent, créez un LaunchAgent ~/Library/LaunchAgents/com.ollama.env.plist (voir doc Apple) ou réexécutez les setenv depuis un script de démarrage.
Pare-feu macOS
Le pare-feu d'application macOS (System Settings → Network → Firewall) demande à la première connexion entrante : « Autoriser Ollama à accepter des connexions entrantes ? ». Cliquez Allow. Si la fenêtre n'apparaît jamais, désactivez le mode furtif temporairement pour le voir.

#4. Connecter les clients

Depuis une autre machine du LAN, l'IP du serveur remplace localhost dans toutes les commandes et configurations.

Test depuis un client
# Remplacer 192.168.1.42 par l'IP réelle du serveur
curl http://192.168.1.42:11434/api/tags

# Génération directe
curl http://192.168.1.42:11434/api/generate -d '{
  "model": "llama3.1:8b",
  "prompt": "Bonjour",
  "stream": false
}'

Pour la CLI ollama elle-même, on exporte OLLAMA_HOST côté client — la commande ollama run pointe alors vers le serveur distant.

Client Linux/macOS
export OLLAMA_HOST=http://192.168.1.42:11434
ollama list           # liste les modèles du serveur
ollama run llama3.1   # tourne en remote, affichage local
Open WebUI
Dans Settings → Connections, ajoutez l'URL http://192.168.1.42:11434 comme Ollama API URL. L'interface tourne sur n'importe quelle machine du LAN.
Continue.dev (VS Code)
Dans config.json, le champ apiBase du provider ollama pointe vers http://192.168.1.42:11434.
LangChain Python
Ollama(base_url="http://192.168.1.42:11434", model="llama3.1:8b") — identique au localhost en local.

#5. Reverse proxy Nginx + authentification basique

Exposer Ollama nu sur le LAN va pour la famille, mais pour une équipe il vaut mieux ajouter au minimum une auth HTTP Basic et un peu de logging. Nginx fait ça en 20 lignes.

Installer Nginx et générer le htpasswd
sudo apt install nginx apache2-utils
# Créer le fichier htpasswd avec un premier utilisateur
sudo htpasswd -c /etc/nginx/.htpasswd alice
# Ajouter d'autres utilisateurs (sans -c pour ne pas écraser)
sudo htpasswd /etc/nginx/.htpasswd bob
/etc/nginx/sites-available/ollama
server {
    listen 8080;
    server_name ollama.local;

    # Limite par IP source : LAN seulement
    allow 192.168.1.0/24;
    deny all;

    location / {
        auth_basic "Ollama LAN";
        auth_basic_user_file /etc/nginx/.htpasswd;

        proxy_pass http://127.0.0.1:11434;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        # Streaming SSE : désactiver le buffering Nginx
        proxy_buffering off;
        proxy_cache off;
        proxy_read_timeout 600s;
        chunked_transfer_encoding on;
    }
}
Activer et recharger
sudo ln -s /etc/nginx/sites-available/ollama /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Important : avec ce setup, Ollama doit repasser sur 127.0.0.1:11434 (pas 0.0.0.0). Nginx écoute en public sur le port 8080, vérifie l'IP et le mot de passe, puis transfère vers Ollama en local. Les clients tapent désormais sur http://alice:[email protected]:8080.

!
HTTP Basic n'est pas chiffré
Sans HTTPS, le mot de passe passe en clair sur le LAN. Acceptable derrière un Wi-Fi WPA2/3 domestique, pas pour un bureau partagé. Pour du sérieux : Caddy avec certificats auto-signés, ou Tailscale qui chiffre tout en WireGuard sans config.

#Bonnes pratiques de sécurité

Restreindre par IP source au firewall
Belt and suspenders : même avec Nginx, gardez la règle UFW/iptables. Un bug Nginx ou un mauvais bind peut exposer 11434 directement.
Désactiver /api/create depuis l'extérieur
Cette route permet de pousser un Modelfile arbitraire. Avec Nginx, ajoutez location /api/create { return 403; }.
Logger les requêtes
Nginx access_log montre qui appelle quoi. Utile pour spotter une fuite d'IP serveur ou un client mal configuré qui spam.
Quotas par utilisateur
Pas natif chez Ollama. Pour limiter Bob qui fine-tune un Llama 70B à 3h du matin, regardez du côté de LiteLLM ou Open WebUI comme couche middleware.
Sauvegarder ~/.ollama
Le serveur centralisé devient un single point of failure. Le dossier des modèles peut peser 100+ Go — au minimum un script rsync vers un disque externe.

#Dépannage

Connection refused depuis un client
Ollama écoute toujours sur 127.0.0.1. Vérifiez ss -tlnp | grep 11434 sur le serveur — si ça affiche 127.0.0.1:11434, la variable OLLAMA_HOST n'est pas vue par le service. Recheckez systemctl show ollama | grep Environment.
Connection timed out
Le firewall bloque. Testez nc -zv 192.168.1.42 11434 depuis le client : si timeout, c'est le firewall. Si refused, c'est Ollama qui n'écoute pas.
CORS error dans Open WebUI
OLLAMA_ORIGINS=* manquant ou pas appliqué. Pour debug : curl -H "Origin: http://autre-machine" -I http://192.168.1.42:11434 — la réponse doit contenir Access-Control-Allow-Origin.
macOS : variable ignorée après redémarrage
launchctl setenv ne persiste pas. Il faut un LaunchAgent. Alternative pragmatique : un script ~/start-ollama.sh qui fait launchctl setenv + open Ollama.app, à lancer manuellement après chaque reboot.
Lenteur soudaine multi-utilisateurs
Ollama traite les requêtes en file d'attente par modèle. À 3 utilisateurs simultanés sur un 14B, le 3e attend. OLLAMA_NUM_PARALLEL=2 (env var) permet 2 requêtes en parallèle au prix de plus de VRAM.
Le modèle se décharge entre les requêtes
Par défaut, Ollama décharge un modèle 5 minutes après la dernière requête. OLLAMA_KEEP_ALIVE=24h force le maintien en VRAM — crucial pour un serveur partagé.

#Pour aller plus loin

Le serveur Ollama partagé est la brique de base d'un setup multi-utilisateurs. Trois directions naturelles ensuite :

Ajouter une interface chat partagée
Le guide Open WebUI avec Ollama : guide complet détaille la mise en place d'un front ChatGPT-like multi-utilisateurs qui se branche sur ce serveur.
Déployer en production avec Docker
Le guide Déployer un LLM en production avec Docker Compose montre la même architecture en containerisé avec Traefik et HTTPS.
Étendre à un chatbot intranet
Le guide Déployer un chatbot IA pour son équipe sur intranet ajoute auth SSO, monitoring et sauvegarde des conversations.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.