[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-khoj-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},18,"heberger-khoj-vps","How to host Khoj on a VPS","Deploy Khoj on a VPS: an AI assistant that indexes notes, docs and emails for private semantic search accessible anywhere.",7,266,false,"2026-06-02T00: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-khoj-vps-poster.svg",{"categorySlug":20,"appSlug":27},"khoj","Khoj is a personal AI assistant that indexes your notes, documents and messages to make them semantically searchable, from your browser, Obsidian or Emacs. Hosting it on a VPS turns it into a knowledge copilot accessible anywhere, without giving up your data. Here is how to deploy it.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Why self-host Khoj on a VPS","Khoj stands out for its ability to sync with your sources (Markdown files, PDFs, Obsidian notes, Notion, GitHub) and to offer semantic search plus conversational answers. It also provides agents and web search. On a workstation, the index stays local to the machine; on a VPS, the Khoj server becomes a central access point that can be synced from several devices and plugins (Obsidian, Emacs, browser). You keep control of the vector index, you choose between a local LLM via Ollama or an API, and your personal or professional notes are never entrusted to the vendor's public cloud.",{"type":35,"title":36,"items":37},"ul","Concrete benefits of self-hosting",[38,39,40,41,42,43],"Centralized semantic index, syncable from several workstations and devices","Native Obsidian, Emacs and browser-extension integrations pointing to your server","Choice of LLM backend: local Ollama for privacy, or an external API if needed","Syncing of Markdown notes, PDFs, org-mode and repositories without exposing them to the cloud","Semantic search and conversational chat over your own personal corpus","Secure remote access to your knowledge base from anywhere",{"type":31,"title":45,"body":46},"Hardware and software prerequisites","Khoj relies on a Django backend, a PostgreSQL database with pgvector and an embeddings model for indexing. Relying on an external API for chat, 2 vCPUs and 4 GB of RAM are amply sufficient, with 10 to 15 GB of disk depending on the size of your indexed corpus. If you add a local LLM via Ollama on the same VPS, raise this to 8 GB of RAM minimum. On the software side: Docker and Docker Compose, a domain pointing to the VPS, and optionally an LLM API key if you don't want a local model. The embeddings model is downloaded on first startup.",{"type":48,"title":49,"steps":50},"steps","Deploying Khoj with Docker Compose",[51,54,57,60,63,66],{"title":52,"body":53},"Grab the official compose","On the VPS, download the `docker-compose.yml` provided by Khoj. It declares the `server`, `database` (Postgres + pgvector) services and the configuration volume. Create a `\u002Fopt\u002Fkhoj` folder to host the whole thing.",{"title":55,"body":56},"Configure the environment variables","Fill in `KHOJ_DJANGO_SECRET_KEY`, the Postgres credentials and, if you use an API, the provider's key. Set `KHOJ_ADMIN_EMAIL` and `KHOJ_ADMIN_PASSWORD` to create the administrator account at startup.",{"title":58,"body":59},"Start the services","Run `docker compose up -d`. On first startup, Khoj downloads the embeddings model, which can take a few minutes. Follow `docker compose logs -f server` until you see the server listening on port 42110.",{"title":61,"body":62},"Index your sources","Log in to the admin interface, configure the content paths or install the Obsidian\u002Fbrowser plugin, pointing its server URL to your VPS. Trigger a first sync and check that the index populates.",{"title":64,"body":65},"Reverse proxy and SSL","Place Caddy in front of port 42110: `khoj.yourdomain.com { reverse_proxy localhost:42110 }`. The Let's Encrypt certificate is generated automatically and all traffic goes over HTTPS.",{"title":67,"body":68},"Secure and connect the clients","Close port 42110 at the firewall, then configure the Obsidian, Emacs and browser extensions with the URL `https:\u002F\u002Fkhoj.yourdomain.com` and an API token generated in the settings for authenticated access.",{"type":70,"body":71},"tip","Khoj can switch between several chat providers from its admin interface. Configure a local Ollama as the default backend for privacy, and declare an external API as a fallback only for complex queries: you get the best of both worlds, everyday privacy and occasional quality, without paying for every interaction.","Centralize your knowledge with Khoj","The ServOrbit Cloud VPS provides the Docker, PostgreSQL and fast SSD that Khoj needs to index and serve your knowledge base, accessible from all your devices.","Deploy on 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",1785628439454]