O Jan Server é uma plataforma multi-serviço em vez de uma aplicação única, e os seus requisitos refletem isso. O README do projeto define o mínimo em 8 GB de RAM, com 12 GB recomendados, o que exclui os planos de 4 GB que dominam as comparações de VPS económicos.
O que se segue detalha esse valor e mostra que partes mudam consoante a sua configuração.
Para onde vai a memória
Uma implementação predefinida arranca cerca de nove contentores. Nenhum é individualmente enorme, mas somam-se:
- Microsserviços Go — a LLM API, a Response API, a Media API, as ferramentas MCP e um modelo de serviço
- PostgreSQL — persistência de conversas e mensagens
- Keycloak — autenticação OIDC, a correr a partir de
quay.io/keycloak/keycloak:24.0.5, uma aplicação JVM com uma pegada de memória real - Kong v3.5 — a gateway de API que valida todos os pedidos
- Web chat UI — uma app React na porta 3001
O Keycloak e o Postgres são os dois que tornam 4 GB desconfortável. Num servidor de 8 GB, a stack corre com folga; abaixo disso, os contentores são mortos por falta de memória (OOM) durante o arranque, e a falha parece um crash aleatório em vez de um problema de memória.
A recomendação de 12 GB aplica-se quando ativa tudo, incluindo a Media API e a stack de observabilidade opcional composta por OpenTelemetry, Prometheus, Jaeger e Grafana.
CPU
Os serviços Go não são limitados pelo CPU. Passam o tempo à espera da base de dados e do endpoint de modelo que configurou, por isso 4 vCPU é confortável para a stack inteira e 2 vCPU funciona para uma instalação de um único utilizador.
Isso muda por completo se correr a inferência na mesma máquina. O perfil de CPU do vLLM existe exatamente para isso, e vai usar todos os núcleos que lhe der, produzindo tokens muito mais devagar do que uma GPU. Trate a inferência por CPU como uma forma de verificar que a implementação funciona, não como a configuração a partir da qual serve utilizadores.
Disco
Reserve 40 GB no mínimo com inferência remota. Três coisas consomem esse espaço:
- Imagens de contentores — vários gigabytes entre os serviços, o Keycloak, o Kong e o Postgres
- Dados do PostgreSQL — cresce com o histórico de conversas e mensagens
- Armazenamento de media — só se ativar a Media API e mantiver os ficheiros localmente em vez de no S3
Os pesos de modelos locais são a variável imprevisível. O modelo predefinido para os perfis vLLM é o janhq/Jan-v1-4B, que é modesto, mas um volume de cache de modelo continua a ser a forma mais rápida de encher um disco pequeno. Se a inferência local estiver nos seus planos, comece com 100 GB.
GPU
Só é necessária para o perfil de GPU do vLLM, que reserva um dispositivo NVIDIA através do bloco deploy.resources do Compose e recusa-se a arrancar sem ele. Os planos VPS normais dos fornecedores abaixo não incluem GPU, por isso as opções práticas são um endpoint remoto compatível com OpenAI, o perfil de CPU lento, ou um anfitrião de GPU separado que o Jan Server chama externamente.
Planos de entrada dos fornecedores face a estes requisitos
| Fornecedor | Plano de entrada | RAM | CPU | Disco | Cumpre o mínimo de 8 GB? |
|---|---|---|---|---|---|
| Contabo | Cloud VPS 4 — 5,50 EUR/mês sem IVA | 8 GB | 4 vCPU | 100 GB SSD | Sim |
| Hetzner | CX23 — 5,49 EUR/mês sem IVA | 4 GB | 2 vCPU | 40 GB NVMe | Não, suba para o CX33 |
| DigitalOcean | Droplet básico — 6 USD/mês | 1 GB | 1 vCPU | 25 GB SSD | Não |
| Vultr | Cloud Compute — 5 USD/mês | 1 GB | 1 vCPU | 25 GB SSD | Não |
| Linode | Nanode — 5 USD/mês | 1 GB | 1 vCPU | 25 GB SSD | Não |
Só um plano de entrada nesta lista cumpre o requisito. O nível mais barato da Contabo é 8 GB desde que a gama foi renomeada, o que é invulgar a este preço e torna-o a recomendação predefinida para o Jan Server. A Hetzner chega aos mesmos 8 GB com o CX33 a 8,49 EUR/mês sem IVA, em 80 GB de NVMe em vez de 100 GB de SSD SATA.
Todos os fornecedores dos EUA começam em 1 GB, por isso alojar o Jan Server aí implica subir vários níveis em vez de comprar o plano de entrada.
Resumo de dimensionamento
| Configuração | RAM | vCPU | Disco |
|---|---|---|---|
| Utilizador único, inferência remota | 8 GB | 2 | 40 GB |
| Uso em equipa, todos os serviços ativos | 12 GB | 4 | 80 GB |
| Inferência local por CPU, apenas testes | 12 GB+ | 4+ | 100 GB |
| Inferência local por GPU | Depende do modelo | Depende do modelo | 100 GB+ e uma GPU NVIDIA |
Escolha a linha que corresponde à forma como pretende correr a inferência, e lembre-se de que o valor de 8 GB é um mínimo documentado, não um objetivo confortável. Para planos e preços atuais entre fornecedores, veja a nossa comparação de VPS.
Frequently asked questions
Qual é a RAM mínima para correr o Jan Server num VPS?
Oito gigabytes. Esse valor vem do README do próprio projeto, que também recomenda 12 GB para correr confortavelmente o conjunto completo de serviços. Cobre os microsserviços Go, o Postgres, o Keycloak e a gateway Kong, e assume que a inferência acontece noutro lugar em vez de na mesma máquina.
Quanto espaço em disco devo reservar para o Jan Server?
Comece com 40 GB se usar um endpoint de inferência remoto. Só as imagens de contentores já somam vários gigabytes entre os serviços, o Postgres, o Keycloak e o Kong, e o Postgres depois cresce com o histórico de conversas. Ativar a Media API com armazenamento local ou colocar em cache os pesos de modelos muda bastante esse número.
O Jan Server precisa de uma GPU NVIDIA?
Só se correr a inferência localmente através do perfil de GPU do vLLM, que reserva uma placa NVIDIA e não arranca sem ela. Apontar o Jan Server para um endpoint remoto compatível com OpenAI elimina por completo esse requisito, e é essa a configuração normal num VPS.