Jan Server è una piattaforma multi-servizio e non un’applicazione singola, e i suoi requisiti lo riflettono. Il README del progetto fissa la soglia a 8 GB di RAM minimo, 12 GB consigliati, il che esclude i piani da 4 GB che dominano i confronti tra VPS economici.
Quanto segue scompone questa cifra e mostra quali parti cambiano al variare della configurazione.
Dove va la memoria
Un deployment predefinito avvia circa nove container. Nessuno è enorme di per sé, ma insieme si sommano:
- Microservizi Go — LLM API, Response API, Media API, strumenti MCP e un service template
- PostgreSQL — persistenza di conversazioni e messaggi
- Keycloak — autenticazione OIDC, eseguito da
quay.io/keycloak/keycloak:24.0.5, un’applicazione JVM con un consumo di memoria reale - Kong v3.5 — il gateway API che convalida ogni richiesta
- Web chat UI — un’app React sulla porta 3001
Keycloak e Postgres sono i due servizi che rendono scomodi i 4 GB. Su un server da 8 GB lo stack gira con margine; al di sotto, i container vengono uccisi per OOM durante l’avvio e il guasto sembra un crash casuale più che un problema di memoria.
La raccomandazione di 12 GB vale quando attivi tutto, inclusa la Media API e lo stack di osservabilità opzionale composto da OpenTelemetry, Prometheus, Jaeger e Grafana.
CPU
I servizi Go non sono CPU-bound. Passano il tempo in attesa del database e dell’endpoint del modello configurato, quindi 4 vCPU sono comode per l’intero stack e 2 vCPU bastano per un’installazione a utente singolo.
Il quadro cambia completamente se esegui l’inferenza sulla stessa macchina. Il profilo CPU di vLLM esiste proprio per questo, e userà ogni core che gli dai producendo token molto più lentamente di una GPU. Considera l’inferenza su CPU come un modo per verificare che il deployment funzioni, non come la configurazione da cui servire gli utenti.
Disco
Preventiva almeno 40 GB con inferenza remota. Tre cose lo consumano:
- Immagini dei container — diversi gigabyte tra i servizi, Keycloak, Kong e Postgres
- Dati PostgreSQL — crescono con la cronologia di conversazioni e messaggi
- Storage media — solo se attivi la Media API e mantieni i file in locale invece che su S3
I pesi dei modelli locali sono l’incognita. Il modello predefinito per i profili vLLM è janhq/Jan-v1-4B, che è modesto, ma un volume di cache dei modelli resta il modo più rapido per riempire un disco piccolo. Se l’inferenza locale rientra anche solo lontanamente nei tuoi piani, parti da 100 GB.
GPU
Richiesta solo per il profilo GPU di vLLM, che riserva un dispositivo NVIDIA tramite il blocco deploy.resources di Compose e rifiuta di avviarsi senza. I piani VPS standard dei provider elencati sotto non includono una GPU, quindi le opzioni praticabili sono un endpoint remoto compatibile OpenAI, il lento profilo CPU, oppure un host GPU separato che Jan Server contatta esternamente.
Piani d’ingresso dei provider rispetto a questi requisiti
| Provider | Piano d’ingresso | RAM | CPU | Disco | Supera la soglia di 8 GB? |
|---|---|---|---|---|---|
| Contabo | Cloud VPS 4 — 5.50 EUR/mese IVA esclusa | 8 GB | 4 vCPU | 100 GB SSD | Sì |
| Hetzner | CX23 — 5.49 EUR/mese IVA esclusa | 4 GB | 2 vCPU | 40 GB NVMe | No, sali a CX33 |
| DigitalOcean | Basic droplet — 6 USD/mese | 1 GB | 1 vCPU | 25 GB SSD | No |
| Vultr | Cloud Compute — 5 USD/mese | 1 GB | 1 vCPU | 25 GB SSD | No |
| Linode | Nanode — 5 USD/mese | 1 GB | 1 vCPU | 25 GB SSD | No |
Un solo piano d’ingresso di questo elenco è idoneo. Il livello più economico di Contabo è da 8 GB fin da quando la gamma è stata rinominata, il che è insolito a questo prezzo e lo rende la raccomandazione predefinita per Jan Server. Hetzner raggiunge gli stessi 8 GB con CX33 a 8.49 EUR/mese IVA esclusa, su 80 GB di NVMe anziché 100 GB di SSD SATA.
I provider statunitensi partono tutti da 1 GB, quindi ospitare Jan Server lì significa salire diversi livelli invece di acquistare il piano d’ingresso.
Riepilogo del dimensionamento
| Configurazione | RAM | vCPU | Disco |
|---|---|---|---|
| Utente singolo, inferenza remota | 8 GB | 2 | 40 GB |
| Uso in team, tutti i servizi attivi | 12 GB | 4 | 80 GB |
| Inferenza locale su CPU, solo test | 12 GB+ | 4+ | 100 GB |
| Inferenza locale su GPU | Dipende dal modello | Dipende dal modello | 100 GB+ e una GPU NVIDIA |
Scegli la riga che corrisponde a come intendi eseguire l’inferenza, e ricorda che la cifra di 8 GB è un minimo documentato e non un obiettivo comodo. Per i piani e i prezzi aggiornati tra i vari provider, consulta il nostro confronto VPS.
Frequently asked questions
Qual è la RAM minima per far girare Jan Server su un VPS?
Otto gigabyte. Il dato viene dal README del progetto, che consiglia anche 12 GB per eseguire comodamente l'insieme completo dei servizi. Copre i microservizi Go, Postgres, Keycloak e il gateway Kong, e presuppone che l'inferenza avvenga altrove e non sulla stessa macchina.
Quanto spazio disco bisogna riservare a Jan Server?
Parti da 40 GB se usi un endpoint di inferenza remoto. Le sole immagini dei container occupano diversi gigabyte tra i servizi, Postgres, Keycloak e Kong, e Postgres cresce poi con la cronologia delle conversazioni. Attivare la Media API con storage locale o mettere in cache i pesi dei modelli cambia sensibilmente questo numero.
Jan Server ha bisogno di una GPU NVIDIA?
Solo se esegui l'inferenza in locale tramite il profilo GPU di vLLM, che riserva un dispositivo NVIDIA e non si avvia senza. Puntare Jan Server verso un endpoint remoto compatibile OpenAI elimina del tutto il requisito, ed è la configurazione normale su un VPS.