[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-jan-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},15,"heberger-jan-vps","How to Host Jan on a VPS","Host Jan on a VPS for a 100% private, OpenAI-compatible local AI, accessible remotely via a self-managed inference server.",7,755,false,"2026-06-05T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},1,"Artificial Intelligence","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-jan-vps-poster.svg",{"categorySlug":20,"appSlug":27},"jan","Jan is an open source alternative to ChatGPT that runs models locally, without cloud. By deploying it on a VPS, you transform a private workstation into an inference server accessible to your whole team via an OpenAI-compatible API. Here is the procedure for a clean headless deployment.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Why self-host Jan on a VPS","Jan works with a local inference engine (Cortex\u002Fllama.cpp) that loads GGUF models directly on the machine. On a personal workstation, it is single-user; on a VPS, you expose the Jan inference server via its OpenAI-compatible API on port 1337, which allows your applications, scripts and colleagues to consume the same private model. No data goes to a third-party provider: prompts and completions stay in the VPS memory. It is the ideal option when confidentiality is non-negotiable or when you want to eliminate any API bill by leveraging open-weights models.",{"type":35,"title":36,"items":37},"ul","Concrete benefits of self-hosting",[38,39,40,41,42,43],"100% local inference: no prompt is sent to an external service","OpenAI-compatible API on port 1337, connectable from any existing client","Zero API cost: only the VPS resources matter, not a token quota","Centralization of GGUF models on a shared server rather than one download per workstation","Control of model versions and reproducibility of responses for your tests","Ability to serve several internal applications behind a single instance",{"type":31,"title":45,"body":46},"Hardware and software requirements","Jan runs models on the CPU by default, and RAM is the determining factor. A quantized 7B model in Q4 requires about 6 to 8 GB of RAM to run comfortably; so aim for a VPS with 8 GB of RAM and 4 vCPU for acceptable response times, plus 20 to 40 GB of disk depending on the number of GGUF models stored. For 13B or larger models, go up to 16 GB. On the software side: Docker and Docker Compose, a domain pointing to the VPS, and a reverse proxy with authentication, because the Jan API does not enforce a key by default.",{"type":48,"title":49,"steps":50},"steps","Headless deployment of Jan",[51,54,57,60,63,66],{"title":52,"body":53},"Provision the VPS","Choose an offer with enough RAM for your models. Install Docker, create `\u002Fopt\u002Fjan\u002Fmodels` which will serve as a persistent volume for the GGUF files so as not to re-download them at each update.",{"title":55,"body":56},"Launch the Jan server in a container","Start the Jan server image by mounting the models volume and exposing port 1337 only on the local interface: `docker run -d -p 127.0.0.1:1337:1337 -v \u002Fopt\u002Fjan\u002Fmodels:\u002Froot\u002Fjan\u002Fmodels --name jan menloltd\u002Fcortex`. Restricting to 127.0.0.1 avoids any direct exposure.",{"title":58,"body":59},"Download a model","Via the API or the Cortex CLI, retrieve a model, for example `cortex pull llama3.1:8b-gguf`. Check that it loads correctly with a test request on `http:\u002F\u002F127.0.0.1:1337\u002Fv1\u002Fmodels`.",{"title":61,"body":62},"Test the OpenAI-compatible API","Send a test completion: `curl http:\u002F\u002F127.0.0.1:1337\u002Fv1\u002Fchat\u002Fcompletions -H 'Content-Type: application\u002Fjson' -d '{\"model\":\"llama3.1:8b\",\"messages\":[{\"role\":\"user\",\"content\":\"Bonjour\"}]}'` and confirm the response.",{"title":64,"body":65},"Secure with a reverse proxy and a key","Place Caddy or Nginx in front of port 1337, enable Let's Encrypt HTTPS and add an authentication layer (basic auth or a verified `Authorization` header) to prohibit any anonymous access to your inference server.",{"title":67,"body":68},"Expose the domain","Publish `https:\u002F\u002Fia.yourdomain.com\u002Fv1` and reconfigure your clients by pointing their `base_url` to this address. Your applications now consume Jan as if it were OpenAI.",{"type":70,"body":71},"tip","Without a GPU, throughput in tokens\u002Fsecond depends heavily on the number of CPU threads. Explicitly set `--n-threads` to the number of real vCPU of the VPS and favor Q4_K_M quantizations: the quality\u002Fspeed trade-off is optimal for a CPU server and halves the memory footprint compared to a non-quantized model.","Run Jan on your own server","The ServOrbit Cloud VPS offers generous RAM configurations suited to local GGUF inference, with ready-to-use Docker to deploy the Jan server in headless mode.","Choose a Cloud VPS","\u002Fvps-cloud",[77,90,103],{"id":16,"slug":78,"title":79,"excerpt":80,"readTime":81,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":23,"bgImage":24,"posterImage":87,"relatedSolution":88},"heberger-open-webui","How to Host Open WebUI on a VPS","A complete guide to deploying Open WebUI on your own VPS. Keep control of your data, avoid cloud API costs, and access your LLMs from a clean web interface.",6,3200,"2026-06-01T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-open-webui-poster.svg",{"categorySlug":20,"appSlug":89},"open-webui",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":11,"views":95,"isPinned":13,"publishedAt":96,"category":97,"categories":98,"featuredImage":23,"bgImage":24,"posterImage":100,"relatedSolution":101},2,"deployer-dify-vps","Deploying Dify on a VPS: AI Workflows Under Control","Install Dify on a ServOrbit VPS to build agents, chatflows and AI apps without losing control of your data.",2480,"2026-02-11T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[99],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":20,"appSlug":102},"dify",{"id":81,"slug":104,"title":105,"excerpt":106,"readTime":107,"views":108,"isPinned":13,"publishedAt":109,"category":110,"categories":111,"featuredImage":23,"bgImage":24,"posterImage":113,"relatedSolution":114},"openclaw-vps","Deploying OpenClaw on a VPS","A guide to deploying OpenClaw on your own VPS. Keep control of your AI agents and your data within your own infrastructure.",5,422,"2026-06-11T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[112],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fopenclaw-vps-poster.svg",{"categorySlug":20,"appSlug":115},"openclaw",1785628438643]