Offre Durée limitée : -10% sur tout le site* avec le code WELCOME10

Installer Ollama sur un VPS Linux : faire tourner un LLM en local sur son serveur

Mis à jour le 25 octobre 2026 7 min de lecture 11 sections

Ollama : exécuter un LLM sur votre VPS Linux

Ollama est un moteur d'inférence open source qui permet d'exécuter des modèles de langage (LLM) directement sur un serveur Linux, sans dépendre d'une API cloud externe. Là où les services comme ChatGPT ou Claude traitent vos requêtes sur des serveurs tiers, Ollama fait tourner le modèle en local : vos données restent sur votre infrastructure, la latence dépend uniquement de votre matériel, et il n'y a aucun coût par requête.

Ollama expose une API REST compatible OpenAI sur le port TCP 11434. N'importe quel outil compatible (Open WebUI, scripts Python, extensions VS Code) peut s'y connecter pour interroger le modèle. Ce guide couvre l'installation sur un VPS Linux, le choix du modèle adapté à vos ressources (RAM, CPU), la configuration en service systemd et l'exposition sécurisée de l'API derrière un reverse proxy NGINX avec authentification.

Prérequis

  • Un VPS Linux sous Ubuntu 22.04/24.04 LTS ou Debian 12 avec un accès root ou sudo ;
  • Au minimum 4 Go de RAM pour les modèles les plus légers (8 Go recommandés) ;
  • Un accès SSH configuré sur le serveur (sécuriser SSH sur VPS Linux) ;
  • NGINX installé si vous souhaitez exposer l'API (guide NGINX reverse proxy) ;
  • Un nom de domaine pointé vers le VPS (optionnel, pour l'accès HTTPS).

Installer Ollama

Le script d'installation officiel détecte votre architecture (AMD64 ou ARM64), télécharge le binaire, crée l'utilisateur système ollama et enregistre le service systemd automatiquement :

curl -fsSL https://ollama.com/install.sh | sh

Vérifiez que le service est actif :

sudo systemctl status ollama

Le service écoute par défaut sur 127.0.0.1:11434. Testez la connexion locale :

curl http://localhost:11434

La réponse Ollama is running confirme que l'installation a réussi. Pour mettre à jour Ollama ultérieurement, relancez la même commande d'installation : le script détecte l'installation existante et la met à niveau.

Choisir un modèle adapté à votre VPS

Les modèles de langage varient considérablement en taille et en consommation de mémoire. La règle pratique : un modèle quantifié en Q4 consomme environ 0,6 Go de RAM par milliard de paramètres. Sans GPU, le processeur effectue l'inférence : c'est plus lent, mais fonctionnel. Voici les modèles les plus courants et leur consommation mémoire indicative :

ModèleParamètresRAM minimale (Q4)Usage type
Phi-4 Mini3,8B~3 GoAssistant léger, tests rapides
Llama 3.23B~2,5 GoRésumé, classification de texte
Mistral7B~4,5 GoUsage général, rédaction, code
Llama 3.18B~5 GoChatbot polyvalent, assistant technique
Gemma 312B~8 GoRaisonnement avancé, analyse
Qwen 314B~10 GoMultilingue, code, raisonnement
Qwen 330B~19 GoTâches complexes, gros contexte
Llama 3.370B~43 GoPerformance maximale

Sur un VPS avec 4 Go de RAM, limitez-vous aux modèles 3B. Avec 8 Go, les modèles 7-8B fonctionnent confortablement. Les modèles 12B et au-delà nécessitent un VPS avec davantage de mémoire. Surveillez la consommation avec htop ou btop (surveiller les ressources d'un VPS Linux) pour vérifier que le système ne sature pas la RAM disponible.

Si la mémoire est insuffisante, le noyau Linux déclenche l'OOM Killer qui arrête le processus le plus gourmand (comprendre l'OOM Killer). Choisissez un modèle qui laisse au moins 1 Go de marge pour le système d'exploitation.

Télécharger et tester un modèle

Ollama télécharge les modèles depuis sa bibliothèque publique. Pour récupérer un modèle et démarrer une conversation interactive dans le terminal :

ollama pull llama3.1
ollama run llama3.1

La commande pull télécharge les poids du modèle dans /usr/share/ollama/.ollama/models. La commande run charge le modèle en mémoire et ouvre un prompt interactif. Tapez /bye pour quitter.

Commandes utiles pour gérer vos modèles :

ollama list              # lister les modèles installés
ollama show llama3.1     # afficher les métadonnées du modèle
ollama rm llama3.1       # supprimer un modèle pour libérer de l'espace disque

Configurer le service systemd

Le script d'installation crée automatiquement le fichier /etc/systemd/system/ollama.service. Pour personnaliser la configuration sans modifier le fichier d'origine (qui serait écrasé lors d'une mise à jour), utilisez un fichier de surcharge :

sudo systemctl edit ollama.service

Cette commande ouvre un éditeur et crée le fichier /etc/systemd/system/ollama.service.d/override.conf. Ajoutez vos variables d'environnement dans la section [Service] :

[Service]
Environment="OLLAMA_HOST=127.0.0.1:11434"
Environment="OLLAMA_KEEP_ALIVE=5m"

OLLAMA_HOST contrôle l'adresse et le port d'écoute. OLLAMA_KEEP_ALIVE définit combien de temps un modèle reste chargé en mémoire après la dernière requête (par défaut 5 minutes). Sur un VPS avec peu de RAM, réduire cette valeur libère la mémoire plus rapidement entre les sessions.

Appliquez les modifications :

sudo systemctl daemon-reload
sudo systemctl restart ollama

Activez le démarrage automatique au boot :

sudo systemctl enable ollama

Consultez les journaux du service avec journalctl pour diagnostiquer un éventuel problème de lancement :

journalctl -u ollama -f

Pour mieux comprendre les unités systemd et la création de services personnalisés, consultez notre guide créer un service systemd sur Linux.

Exposer l'API derrière NGINX avec authentification

Par défaut, Ollama n'écoute que sur 127.0.0.1 : l'API n'est pas accessible depuis l'extérieur. Pour y accéder à distance (depuis un poste de travail, une application ou Open WebUI sur un autre serveur), placez un reverse proxy NGINX devant l'API avec une authentification HTTP Basic et un certificat TLS.

Créez le fichier de mots de passe :

sudo apt install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd ollama-user

Créez la configuration NGINX :

sudo nano /etc/nginx/sites-available/ollama.conf

Contenu du fichier :

server {
    listen 80;
    server_name ollama.example.com;

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

        proxy_pass http://127.0.0.1:11434;
        proxy_set_header Host localhost:11434;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }
}

Activez la configuration et rechargez NGINX :

sudo ln -s /etc/nginx/sites-available/ollama.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Pour le certificat TLS avec Let's Encrypt, suivez le guide Certbot et Let's Encrypt sur VPS Linux. Certbot modifiera automatiquement la configuration pour écouter sur le port 443 en HTTPS.

Le délai proxy_read_timeout est réglé à 300 secondes : les modèles de grande taille peuvent mettre plusieurs secondes à générer une réponse complète, surtout en inférence CPU. Adaptez cette valeur si vos requêtes dépassent régulièrement ce seuil.

Sécuriser l'accès à l'API

L'authentification HTTP Basic protège l'API contre les accès non autorisés, mais ne remplace pas les bonnes pratiques de sécurité réseau :

  • Ne modifiez pas OLLAMA_HOST pour écouter sur 0.0.0.0 : gardez l'écoute sur 127.0.0.1 et laissez NGINX gérer l'accès externe ;
  • Vérifiez que seuls les ports TCP 22, 80 et 443 sont ouverts dans votre pare-feu (configurer UFW sur VPS Linux) ;
  • Utilisez Fail2ban pour bloquer les tentatives de connexion répétées sur le reverse proxy (protéger SSH et les services avec Fail2ban) ;
  • Si l'API ne doit être accessible que depuis un réseau privé ou un VPN, restreignez les adresses source dans la directive allow de NGINX.

Testez l'accès authentifié depuis un poste distant :

curl -u ollama-user:VOTRE_MOT_DE_PASSE https://ollama.example.com/api/tags

La réponse JSON liste les modèles installés sur le serveur.

Utiliser l'API Ollama

L'API REST d'Ollama écoute sur le port TCP 11434 et expose plusieurs endpoints. Depuis le serveur ou via le reverse proxy, envoyez des requêtes pour générer du texte, discuter en mode conversation ou lister les modèles disponibles :

# Générer une réponse (mode completion)
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt": "Explique le fonctionnement de systemd en trois phrases.",
  "stream": false
}'

# Mode conversation (compatible OpenAI)
curl http://localhost:11434/v1/chat/completions -d '{
  "model": "llama3.1",
  "messages": [{"role": "user", "content": "Bonjour"}]
}'

L'endpoint /v1/chat/completions est compatible avec le format de l'API OpenAI : les bibliothèques et outils qui supportent OpenAI fonctionnent avec Ollama en changeant simplement l'URL de base.

Connecter Open WebUI à Ollama

Open WebUI est une interface web qui se connecte à l'API Ollama pour offrir une expérience de chat comparable à ChatGPT, entièrement auto-hébergée. Si Ollama tourne sur le même serveur, Open WebUI s'y connecte automatiquement via http://localhost:11434.

Pour un déploiement complet avec Docker, reverse proxy et gestion multi-utilisateurs, consultez notre guide dédié : installer Open WebUI sur un VPS Linux avec Docker.

Conclusion

Ollama permet d'exécuter des modèles de langage directement sur un VPS Linux, sans dépendance à un service cloud externe. L'installation prend une commande, le service systemd assure le redémarrage automatique, et un reverse proxy NGINX avec authentification sécurise l'accès distant à l'API. Choisissez un modèle adapté à la RAM de votre VPS, surveillez la consommation mémoire, et connectez une interface comme Open WebUI pour disposer d'un assistant IA privé sur votre infrastructure.

FAQ

Combien de RAM faut-il pour faire tourner Ollama sur un VPS ?

Cela depend du modele choisi. Un modele 3B comme Phi-4 Mini ou Llama 3.2 fonctionne avec 4 Go de RAM. Pour un modele 7-8B comme Mistral ou Llama 3.1, prevoyez au moins 8 Go. Les modeles 14B et au-dela necessitent 16 Go ou plus. Gardez toujours 1 Go de marge pour le systeme d'exploitation.

Ollama fonctionne-t-il sans GPU sur un VPS ?

Oui. Ollama effectue l'inference sur le processeur (CPU) si aucun GPU n'est detecte. La generation de texte est plus lente qu'avec un GPU, mais reste fonctionnelle pour un usage personnel ou un petit nombre d'utilisateurs simultanement. Les VPS standards sans GPU conviennent pour les modeles jusqu'a 8B parametres.

Comment mettre a jour Ollama ?

Relancez la commande d'installation : curl -fsSL https://ollama.com/install.sh | sh. Le script detecte l'installation existante et met a jour le binaire. Les modeles deja telecharges sont conserves. Redemarrez ensuite le service avec sudo systemctl restart ollama.

Peut-on changer le port par defaut d'Ollama ?

Oui. Modifiez la variable d'environnement OLLAMA_HOST dans la configuration systemd avec sudo systemctl edit ollama.service. Par exemple, Environment="OLLAMA_HOST=127.0.0.1:8080" pour ecouter sur le port 8080. Relancez ensuite sudo systemctl daemon-reload et sudo systemctl restart ollama.

Ollama est-il compatible avec l'API OpenAI ?

Oui. Ollama expose un endpoint /v1/chat/completions compatible avec le format de l'API OpenAI. Les bibliotheques clientes Python ou JavaScript qui supportent OpenAI fonctionnent avec Ollama en changeant simplement l'URL de base vers http://localhost:11434 ou l'adresse de votre reverse proxy.

Comment connecter Open WebUI a Ollama ?

Si Ollama et Open WebUI tournent sur le meme serveur, Open WebUI se connecte automatiquement via http://localhost:11434. Pour un Ollama sur un autre serveur, configurez la variable OLLAMA_BASE_URL dans le conteneur Docker d'Open WebUI avec l'adresse du serveur Ollama.

Les donnees envoyees a Ollama restent-elles sur le serveur ?

Oui. Ollama execute le modele localement sur votre VPS. Aucune donnee n'est transmise a un service externe. Les conversations ne sont pas stockees par Ollama lui-meme. Si vous utilisez Open WebUI, l'historique est conserve dans sa base de donnees locale.

Comment limiter la consommation memoire d'Ollama ?

Utilisez la variable OLLAMA_KEEP_ALIVE pour reduire le temps pendant lequel le modele reste charge en memoire apres la derniere requete. Par defaut, le modele reste 5 minutes en memoire. Definissez OLLAMA_KEEP_ALIVE=1m pour le dechargement apres 1 minute. Choisissez aussi un modele plus petit (3B au lieu de 7B) pour reduire l'empreinte memoire.