[{"data":1,"prerenderedAt":195},["ShallowReactive",2],{"seo-verification":3,"blog-hosting-an-open-source-ai-application-on-your-vps-ma-en":6,"promo-bar-likely":19},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-hosting-an-open-source-ai-application-on-your-vps-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":20,"publishedAt":21,"updatedAt":22,"category":23,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":133,"ctaBody":134,"ctaButton":135,"ctaUrl":136,"relatedPosts":137},7,"hosting-an-open-source-ai-application-on-your-vps",{"fr":12,"en":10,"ar":13,"es":14},"heberger-application-ia","استضافة-تطبيق-ذكاء-اصطناعي-مفتوح-المصدر-على-vps","alojar-una-aplicacion-de-ia-open-source-en-su-vps","Hosting an open source AI application on your VPS","2026 guide: choose and deploy Open WebUI, Dify, n8n or LangFlow on a VPS. RAM\u002FCPU requirements, multi-tool Docker Compose, troubleshooting.",10,1,true,false,"2026-06-13T00:00:00+00:00","2026-11-09T20:55:12+00:00",{"id":18,"name":24,"slug":25,"color":26,"icon":27},"Artificial Intelligence","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":18,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-application-ia-poster.svg",{"categorySlug":34,"appSlug":35},"artificial-intelligence","open-webui","The open source AI tooling ecosystem has exploded over the past two years. Open WebUI, Dify, Flowise, AnythingLLM, n8n with AI nodes, OpenClaw… Each tool meets a specific need. But they all share one common requirement: they run better, more securely, and at a lower cost on your own infrastructure.",[38,42,52,55,95,98,102,121,124,127,130],{"type":39,"title":40,"body":41},"h2","Why a VPS beats AWS or GCP for your AI tools","Managed cloud services (AWS, GCP, Azure) are powerful, but their pay-per-resource billing model becomes expensive quickly once a container runs continuously. A simple Open WebUI Docker container running full time on AWS EC2 (t3.large, 2 vCPU \u002F 8 GB) costs roughly 60–80 € per month before storage and data transfer. A VPS with the same resources costs a fraction of that, with a fixed and predictable monthly price.\n\nThree other advantages matter more than cost for AI tools:\n\n**Local API latency.** When Open WebUI calls Ollama, both services are on the same machine: latency is in the millisecond range. On a distributed cloud architecture, each exchange crosses the internal network — measurable friction for token-by-token generation.\n\n**Data sovereignty.** Your prompts, RAG documents and conversation logs never leave your infrastructure. Non-negotiable for professional use cases involving sensitive data.\n\n**Environment control.** Full root access: you choose the GPU driver, CUDA versions, and network configuration. Managed cloud services abstract this layer — convenient to start, limiting for AI stacks that require fine-tuned adjustments.",{"type":43,"title":44,"items":45},"ul","6 concrete advantages of a VPS for hosting your AI tools",[46,47,48,49,50,51],"Fixed and predictable cost — no surprise billing based on model activity","Data that stays on your infrastructure — no transfer to third parties","Full root access — configure the environment exactly as you want","Docker internal network — Open WebUI and Ollama on the same machine share the Docker bridge network, without crossing the public network","Ability to run multiple tools on a single server with Docker Compose","No restrictions on number of requests, users or generated tokens",{"type":39,"title":53,"body":54},"Choosing your AI tool by use case — 2026 updated guide","The choice depends on what you want to accomplish. Open WebUI (v0.11.x) has established itself as the reference chat interface for Ollama and OpenAI-compatible APIs: it supports tools, documents, pipelines and user management. Dify (v1.15.x) stands out for building LLM applications with a complete visual interface — workflow, RAG, agents and integrated monitoring. n8n (v1.123.x) remains the reference for hybrid workflow automation combining AI nodes and classic business integrations. LangFlow (v1.11.x) and Flowise (v3.1.x) target the same niche — visual LLM pipelines based on LangChain — with different philosophies: LangFlow focuses on Python customization, Flowise on simplicity. LangFuse (v3.x) is not a generation tool but an **observability** tool: it traces LLM calls, measures latency and response quality, and integrates in a few lines with the other tools on this list.",{"type":56,"title":57,"headers":58,"rows":62},"comparison","Expanded selection guide — 2026 state",[59,60,61],"Need","Recommended tool","Min. VPS resources",[63,67,71,74,78,82,85,88,91],[64,65,66],"Chat interface with an LLM (Ollama or OpenAI API)","Open WebUI v0.11.x","2 GB RAM, 2 vCPU",[68,69,70],"Build LLM applications visually (RAG, agents)","Dify v1.15.x","4 GB RAM, 2 vCPU",[72,73,66],"Automate workflows mixing AI and business tools","n8n v1.123.x + AI nodes",[75,76,77],"RAG pipelines and no-code chatbots with LangChain","Flowise v3.1.x","2 GB RAM, 1 vCPU",[79,80,81],"Python-customizable LLM pipelines","LangFlow v1.11.x","3 GB RAM, 2 vCPU",[83,84,77],"LLM call observability and traceability","LangFuse v3.x",[86,87,77],"Personal knowledge base (PKM) with AI","Karakeep or Anytype self-hosted",[89,90,66],"Local chat interface without web UI (CLI)","Jan.ai (server mode)",[92,93,94],"Multiple tools on a single VPS","Coolify or Dokploy","8 GB RAM, 4 vCPU",{"type":39,"title":96,"body":97},"VPS requirements per AI tool — RAM, CPU and GPU","Needs vary significantly from one tool to another. Here are the resources to plan for by use case:\n\n**Interfaces and orchestrators (without local model).** Open WebUI alone uses less than 500 MB of RAM: it is stateless and delegates inference to Ollama or an external API. Dify is more resource-intensive — its Docker Compose stack includes multiple services (worker, API, web, vector database, Redis, PostgreSQL) and uses approximately 3.5–4 GB at idle. n8n and Flowise are lightweight: plan 256–512 MB per service.\n\n**Ollama with local models.** This is where resources really matter. The baseline rule applies to default Q4 quantization (what Ollama downloads if you don't specify): a 7B model requires 4–5 GB RAM (8 GB recommended to leave headroom for the OS), a 13B around 8–9 GB (16 GB recommended), and a 70B between 38 and 48 GB depending on context length. Without a dedicated GPU, inference runs on CPU — functional for testing, but generating 100 tokens can take 30 to 60 seconds on a 7B CPU-only.\n\n**Dedicated GPU.** For daily use with 13B+ models, or for handling multiple simultaneous requests, a GPU server is necessary. VPS instances with NVIDIA GPU allow storing the model entirely in VRAM and reduce generation to 1–3 seconds per 100 tokens.",{"type":99,"title":100,"body":101},"tip","Choosing the Ollama quantization","Ollama downloads the **Q4_K_M** variant of a model by default — a quality\u002Fmemory tradeoff suited to most uses. If your VPS has exactly 8 GB RAM for a 7B, prefer **Q4_K_S** (slightly less precise, ~200 MB less) to leave headroom. The command `ollama run llama3.2:7b-instruct-q4_K_S` explicitly selects this variant.",{"type":103,"title":104,"steps":105},"steps","Deploy a multi-tool AI stack with Docker Compose",[106,109,112,115,118],{"title":107,"body":108},"Prepare the VPS","Connect via SSH and install Docker Engine and the Compose plugin:\n```bash\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\nsystemctl enable --now docker\n```\nVerify Docker works: `docker run --rm hello-world`.",{"title":110,"body":111},"Create the project structure","Create a folder for your AI stack:\n```bash\nmkdir -p \u002Fopt\u002Fai-stack && cd \u002Fopt\u002Fai-stack\n```\nThis folder will contain your `docker-compose.yml` and data volumes.",{"title":113,"body":114},"Write the docker-compose.yml file","Here is an example stack combining Open WebUI, Ollama and n8n:\n```bash\nservices:\n  ollama:\n    image: ollama\u002Follama:latest\n    volumes:\n      - ollama_data:\u002Froot\u002F.ollama\n    restart: unless-stopped\n\n  open-webui:\n    image: ghcr.io\u002Fopen-webui\u002Fopen-webui:main\n    ports:\n      - \"3000:8080\"\n    environment:\n      - OLLAMA_BASE_URL=http:\u002F\u002Follama:11434\n    volumes:\n      - open_webui_data:\u002Fapp\u002Fbackend\u002Fdata\n    depends_on:\n      - ollama\n    restart: unless-stopped\n\n  n8n:\n    image: n8nio\u002Fn8n:latest\n    ports:\n      - \"5678:5678\"\n    environment:\n      - N8N_HOST=n8n.yourdomain.com\n      - N8N_PROTOCOL=https\n      - WEBHOOK_URL=https:\u002F\u002Fn8n.yourdomain.com\u002F\n    volumes:\n      - n8n_data:\u002Fhome\u002Fnode\u002F.n8n\n    restart: unless-stopped\n\nvolumes:\n  ollama_data:\n  open_webui_data:\n  n8n_data:\n```\nNote that services on the same Docker network communicate using their service name: `ollama:11434` is accessible from `open-webui` without exposing the port on the host.",{"title":116,"body":117},"Start the stack","Launch all services:\n```bash\ndocker compose up -d\n```\nCheck that containers are starting:\n```bash\ndocker compose ps\n```\nThen download a first Ollama model:\n```bash\ndocker compose exec ollama ollama pull llama3.2:latest\n```",{"title":119,"body":120},"Configure the Nginx reverse proxy","Install Nginx on the host and create a vhost for each tool. Example for Open WebUI:\n```bash\nserver {\n    server_name chat.yourdomain.com;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n    }\n}\n```\nEnable HTTPS with Certbot: `certbot --nginx -d chat.yourdomain.com`.",{"type":39,"title":122,"body":123},"Configuring reverse proxies to access each tool","With multiple tools on the same VPS, the recommended practice is to assign a subdomain to each service and let a reverse proxy (Nginx or Caddy) route HTTPS traffic to the right port.\n\nRecommended structure:\n- `chat.yourdomain.com` → Open WebUI (port 3000)\n- `n8n.yourdomain.com` → n8n (port 5678)\n- `dify.yourdomain.com` → Dify (port 80 of the web container)\n- `langfuse.yourdomain.com` → LangFuse (port 3000)\n\n**Never expose** Ollama's port 11434 on the public interface — it has no native authentication. Keep it accessible only from the Docker internal network (`OLLAMA_HOST=127.0.0.1` or via Docker bridge network).\n\n**Caddy** simplifies TLS configuration: it automatically obtains and renews Let's Encrypt certificates. A minimal `Caddyfile`:\n```bash\nchat.yourdomain.com {\n    reverse_proxy localhost:3000\n}\nn8n.yourdomain.com {\n    reverse_proxy localhost:5678\n}\n```\n`caddy run --config \u002Fetc\u002Fcaddy\u002FCaddyfile` — and certificates are managed without intervention.",{"type":99,"title":125,"body":126},"Securing access to your AI tools","Before exposing an AI tool on a public subdomain, check three things:\n\n1. **Authentication enabled.** Open WebUI creates an admin account on first access — do it immediately. Dify and n8n also require initial setup: do not leave these interfaces open without a password.\n2. **Port 11434 (Ollama) not exposed.** This port has no auth — do not open a firewall rule on it. Check with `ss -tlnp | grep 11434`: the bind should be on `127.0.0.1` or a Docker interface, not `0.0.0.0`.\n3. **HTTPS mandatory.** A valid TLS certificate prevents interception of prompts and authentication tokens in transit. Certbot and Caddy automate renewal.",{"type":39,"title":128,"body":129},"Troubleshooting — common errors","**Ollama: out of memory.** The model exceeds available RAM. Check free memory with `free -h`, then choose a lighter quantization (`q4_K_S` or `q3_K_M`) or a smaller model. If the error occurs on a VPS with GPU, VRAM is saturated — check with `nvidia-smi`.\n\n**Open WebUI cannot find Ollama.** The configured URL is incorrect or the Docker network does not allow communication. If Open WebUI and Ollama are in the same `docker-compose.yml`, the correct URL is `http:\u002F\u002Follama:11434` (service name, not `localhost` or the host IP). If Ollama is on the host (outside Docker), use `http:\u002F\u002Fhost.docker.internal:11434` (Linux) or the Docker bridge IP (`172.17.0.1` by default).\n\n**Port 11434 not accessible from another container.** Ollama may be configured to listen only on `127.0.0.1`. Add `OLLAMA_HOST=0.0.0.0` to the Ollama service environment variables in your Compose file — this exposes it on all **container** interfaces only, not the public host.\n\n**n8n: incorrect webhook URL.** n8n builds its webhook URLs from `N8N_HOST` and `WEBHOOK_URL`. If these variables don't match your HTTPS subdomain, incoming webhooks will fail. Verify and restart the container after modification: `docker compose restart n8n`.\n\n**Dify: services not starting.** Dify uses several interdependent services (PostgreSQL, Redis, worker service). Inspect logs: `docker compose logs --tail=50 worker api`. The issue is often a pending database migration or an improperly initialized volume.",{"type":39,"title":131,"body":132},"Going further — related articles","This guide covers setting up a general AI stack. To go deeper on each tool:\n\n- **Open WebUI**: complete deployment with user management, pipelines and API integrations — see \u003Ca href=\"\u002Fblog\u002Fheberger-open-webui\">Hosting Open WebUI on a VPS\u003C\u002Fa>.\n- **Dify**: Docker Compose installation, offline plugin configuration and reverse proxy — see \u003Ca href=\"\u002Fblog\u002Fdeployer-dify-vps\">Deploying Dify on a VPS\u003C\u002Fa>.\n- **LangFlow**: advanced deployment with custom Python backend — see the dedicated article.\n- **LangFuse**: self-hosted LLM observability — see the dedicated LangFuse article.\n- **Coolify \u002F Dokploy**: if you prefer a graphical interface to manage your containers rather than editing Compose files — see \u003Ca href=\"\u002Fblog\u002Fcoolify-vs-dokploy\">Coolify vs Dokploy\u003C\u002Fa>.","Your AI lab ready in just a few minutes.","Order a ServOrbit Cloud VPS and choose your template from our AI catalog. Automatic installation, root access, dedicated IPv4.","Explore the VPS plans","\u002Fvps-cloud",[138,154,172],{"id":18,"slug":139,"slugs":140,"title":144,"excerpt":145,"readTime":146,"views":18,"isPinned":20,"noindex":20,"publishedAt":147,"updatedAt":148,"category":149,"categories":150,"featuredImage":30,"bgImage":31,"posterImage":152,"relatedSolution":153},"how-to-host-open-webui-on-a-vps",{"fr":141,"en":139,"ar":142,"es":143},"heberger-open-webui","كيفية-استضافة-open-webui-على-خادم-vps","como-alojar-open-webui-en-un-vps","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.",9,"2026-06-01T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":18,"name":24,"slug":25,"color":26,"icon":27},[151],{"id":18,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-open-webui-poster.svg",{"categorySlug":34,"appSlug":35},{"id":155,"slug":156,"slugs":157,"title":161,"excerpt":162,"readTime":163,"views":18,"isPinned":20,"noindex":20,"publishedAt":164,"updatedAt":165,"category":166,"categories":167,"featuredImage":30,"bgImage":31,"posterImage":169,"relatedSolution":170},2,"deploying-dify-on-a-vps-ai-workflows-under-control",{"fr":158,"en":156,"ar":159,"es":160},"deployer-dify-vps","نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة","desplegar-dify-en-un-vps","Deploy Dify on a VPS: Complete Guide from Installation to Plugins","Install Dify on a ServOrbit VPS: requirements, Docker Compose, offline plugins, known Docker limits, backup before upgrading, and troubleshooting.",15,"2026-02-11T00:00:00+00:00","2026-10-29T03:10:23+00:00",{"id":18,"name":24,"slug":25,"color":26,"icon":27},[168],{"id":18,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":25,"appSlug":171},"dify",{"id":173,"slug":174,"slugs":175,"title":179,"excerpt":180,"readTime":9,"views":181,"isPinned":20,"noindex":20,"publishedAt":182,"updatedAt":183,"category":184,"categories":189,"featuredImage":30,"bgImage":31,"posterImage":191,"relatedSolution":192},4,"coolify-vs-dokploy-which-tool-to-deploy-on-a-vps",{"fr":176,"en":174,"ar":177,"es":178},"coolify-vs-dokploy","coolify-مقابل-dokploy-أي-أداة-للنشر-على-vps","coolify-vs-dokploy-que-herramienta-elegir-para-su-vps","Coolify vs Dokploy: which tool to deploy on a VPS?","Coolify or Dokploy for your VPS? A binary comparison on idle RAM, license, templates and multi-node support to make the right choice once and for all.",3,"2026-06-07T00:00:00+00:00","2026-09-18T02:05:20+00:00",{"id":185,"name":186,"slug":187,"color":188,"icon":187},5,"Comparison","comparatif","bg-info\u002F10 text-info",[190],{"id":185,"name":186,"slug":187,"color":188,"icon":187},"\u002Fblog\u002Fcovers\u002Fcoolify-vs-dokploy-poster.svg",{"categorySlug":193,"appSlug":194},"application-deployment-devops","coolify",1794270415398]