Jan Server est une plateforme multi-services plutôt qu’une application unique, et ses exigences le reflètent. Le README du projet fixe le plancher à 8 Go de RAM minimum, 12 Go recommandés, ce qui exclut les offres à 4 Go qui dominent les comparatifs de VPS économiques.
Ce qui suit détaille ce chiffre et montre quelles parties bougent selon votre configuration.
Où va la mémoire
Un déploiement par défaut démarre environ neuf conteneurs. Aucun n’est énorme à lui seul, mais ils s’additionnent :
- Microservices Go — LLM API, Response API, Media API, outils MCP et un modèle de service
- PostgreSQL — persistance des conversations et des messages
- Keycloak — authentification OIDC, exécuté depuis
quay.io/keycloak/keycloak:24.0.5, une application JVM avec une empreinte mémoire réelle - Kong v3.5 — la passerelle API qui valide chaque requête
- Web chat UI — une application React sur le port 3001
Keycloak et Postgres sont les deux qui rendent 4 Go inconfortables. Sur un serveur à 8 Go, la stack tourne avec de la marge ; en dessous, les conteneurs sont tués par OOM au démarrage, et l’échec ressemble à un plantage aléatoire plutôt qu’à un problème de mémoire.
La recommandation de 12 Go s’applique quand vous activez tout, y compris la Media API et la stack d’observabilité optionnelle composée d’OpenTelemetry, Prometheus, Jaeger et Grafana.
CPU
Les services Go ne sont pas limités par le CPU. Ils passent leur temps à attendre la base de données et le point de terminaison de modèle configuré, donc 4 vCPU sont confortables pour toute la stack et 2 vCPU suffisent pour une installation mono-utilisateur.
Cela change complètement si vous faites tourner l’inférence sur la même machine. Le profil CPU de vLLM existe précisément pour cela, et il utilisera chaque cœur disponible tout en produisant des tokens bien plus lentement qu’un GPU. Considérez l’inférence CPU comme un moyen de vérifier que le déploiement fonctionne, pas comme la configuration depuis laquelle vous servez des utilisateurs.
Disque
Prévoyez 40 Go minimum avec de l’inférence distante. Trois éléments le consomment :
- Images de conteneurs — plusieurs gigaoctets entre les services, Keycloak, Kong et Postgres
- Données PostgreSQL — grossissent avec l’historique des conversations et des messages
- Stockage média — seulement si vous activez la Media API et gardez les fichiers en local plutôt que sur S3
Les poids de modèles en local sont l’inconnue. Le modèle par défaut pour les profils vLLM est janhq/Jan-v1-4B, plutôt modeste, mais un volume de cache de modèles reste le moyen le plus rapide de remplir un petit disque. Si l’inférence locale fait partie de vos plans, même lointains, partez sur 100 Go.
GPU
Nécessaire uniquement pour le profil GPU de vLLM, qui réserve un périphérique NVIDIA via le bloc deploy.resources de Compose et refuse de démarrer sans lui. Les offres VPS standard des hébergeurs ci-dessous n’incluent pas de GPU, donc les options concrètes sont un point de terminaison distant compatible OpenAI, le profil CPU (lent), ou un hôte GPU séparé que Jan Server appelle à distance.
Offres d’entrée des hébergeurs face à ces exigences
| Hébergeur | Offre d’entrée | RAM | CPU | Disque | Franchit le plancher de 8 Go ? |
|---|---|---|---|---|---|
| Contabo | Cloud VPS 4 — 5,50 EUR/mois HT | 8 Go | 4 vCPU | 100 Go SSD | Oui |
| Hetzner | CX23 — 5,49 EUR/mois HT | 4 Go | 2 vCPU | 40 Go NVMe | Non, passer au CX33 |
| DigitalOcean | Droplet Basic — 6 USD/mois | 1 Go | 1 vCPU | 25 Go SSD | Non |
| Vultr | Cloud Compute — 5 USD/mois | 1 Go | 1 vCPU | 25 Go SSD | Non |
| Linode | Nanode — 5 USD/mois | 1 Go | 1 vCPU | 25 Go SSD | Non |
Une seule offre d’entrée de cette liste convient. Le palier le moins cher de Contabo est à 8 Go depuis le renommage de la gamme, ce qui est inhabituel à ce prix et en fait la recommandation par défaut pour Jan Server. Hetzner atteint les mêmes 8 Go avec le CX33 à 8,49 EUR/mois HT, sur 80 Go de NVMe plutôt que 100 Go de SSD SATA.
Les hébergeurs américains démarrent tous à 1 Go, donc héberger Jan Server chez eux implique de monter plusieurs paliers plutôt que d’acheter l’offre d’entrée.
Résumé du dimensionnement
| Configuration | RAM | vCPU | Disque |
|---|---|---|---|
| Utilisateur unique, inférence distante | 8 Go | 2 | 40 Go |
| Usage en équipe, tous les services activés | 12 Go | 4 | 80 Go |
| Inférence CPU locale, tests uniquement | 12 Go+ | 4+ | 100 Go |
| Inférence GPU locale | Selon le modèle | Selon le modèle | 100 Go+ et un GPU NVIDIA |
Choisissez la ligne qui correspond à votre façon de faire tourner l’inférence, et gardez à l’esprit que le chiffre de 8 Go est un minimum documenté, pas une cible confortable. Pour les offres et tarifs actuels des différents hébergeurs, consultez notre comparatif VPS.
Frequently asked questions
Quelle est la RAM minimale pour faire tourner Jan Server sur un VPS ?
Huit gigaoctets. Ce chiffre vient du README du projet, qui recommande aussi 12 Go pour faire tourner confortablement l'ensemble des services. Il couvre les microservices Go, Postgres, Keycloak et la passerelle Kong, et suppose que l'inférence se déroule ailleurs plutôt que sur la même machine.
Quel espace disque faut-il prévoir pour Jan Server ?
Comptez au moins 40 Go avec un point de terminaison d'inférence distant. Les seules images de conteneurs représentent déjà plusieurs gigaoctets entre les services, Postgres, Keycloak et Kong, et Postgres grossit ensuite avec l'historique des conversations. Activer la Media API avec un stockage local ou mettre en cache les poids d'un modèle change nettement ce chiffre.
Jan Server a-t-il besoin d'un GPU NVIDIA ?
Seulement si vous faites tourner l'inférence en local via le profil GPU de vLLM, qui réserve un périphérique NVIDIA et ne démarre pas sans lui. Pointer Jan Server vers un point de terminaison distant compatible OpenAI supprime totalement cette exigence, et c'est l'arrangement habituel sur un VPS.