[{"data":1,"prerenderedAt":229},["ShallowReactive",2],{"seo-verification":3,"blog-how-to-host-whisper-on-a-vps-ma-en":6,"promo-bar-likely":220},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-how-to-host-whisper-on-a-vps-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":170,"ctaBody":171,"ctaButton":172,"ctaUrl":173,"relatedPosts":174},21,"how-to-host-whisper-on-a-vps",{"fr":12,"en":10,"ar":13,"es":14},"heberger-whisper-vps","كيفية-استضافة-whisper-على-خادم-vps","como-alojar-whisper-en-un-vps","Whisper on premise on a VPS: complete 2026 guide","Deploy Whisper on premise on your VPS with Docker: model selection, CPU-only Whisper.cpp, n8n integration, benchmarks and security.",6,1,false,"2026-05-30T00:00:00+00:00","2026-11-04T16:30:24+00:00",{"id":18,"name":23,"slug":24,"color":25,"icon":26},"Artificial Intelligence","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[28],{"id":18,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-whisper-vps-poster.svg",{"categorySlug":33,"appSlug":34},"artificial-intelligence","whisper","Whisper is OpenAI's open-source audio transcription model. Hosting it on premise on your VPS ensures your recordings never leave your infrastructure: full confidentiality, controlled latency and predictable cost. This guide covers step-by-step Docker deployment, model selection based on your RAM, the CPU-only Whisper.cpp alternative, integration with n8n, benchmarks on typical VPS instances, and essential security measures.",[37,40,50,52,55,57,103,105,107,135,137,139,141,143,145,154,156,163,166,168],{"type":38,"title":39},"h2","Why self-host Whisper on premise on a VPS",{"type":41,"title":42,"items":43},"ul","Concrete benefits of self-hosting",[44,45,46,47,48,49],"Full confidentiality: your audio files never transit through a third party","Controlled cost: transcribing 60 minutes costs a few cents of CPU, no per-minute billing","Private API exposed only behind your reverse proxy, protected by key or JWT","24\u002F7 availability with no dependency on OpenAI pricing policies","Model selection based on your RAM constraints: from 1 GB (tiny) to 10 GB (large-v3)","Simplified GDPR compliance: processing in your datacenter, not at a US subprocessor",{"type":38,"title":51},"Hardware and software prerequisites",{"type":53,"body":54},"p","For a CPU deployment (small or base model): 2 vCPUs, 4 GB RAM, 20 GB disk. For the medium model: 8 GB RAM recommended. For large-v3 with GPU: 10 GB VRAM minimum (NVIDIA card with CUDA 12+ drivers). On the software side, only Docker Engine 24+ and Docker Compose v2 are needed — no Python or PyTorch to install on the host.",{"type":38,"title":56},"Choosing your Whisper model: RAM, speed and accuracy comparison",{"type":58,"title":59,"headers":60,"rows":66,"note":102},"comparison","Available Whisper models",[61,62,63,64,65],"Model","Parameters","RAM required","English WER","Speed (real-time)",[67,73,78,84,90,96],[68,69,70,71,72],"tiny","39 M","~1 GB","~7.6%","~10×",[74,75,70,76,77],"base","74 M","~5.0%","~7×",[79,80,81,82,83],"small","244 M","~2 GB","~3.4%","~4×",[85,86,87,88,89],"medium","769 M","~5 GB","~2.9%","~2×",[91,92,93,94,95],"large-v3","1,550 M","~10 GB","~2.4%","~1×",[97,98,99,100,101],"large-v3-turbo","809 M","~6 GB","~2.5%","~5×","The small model is an excellent trade-off for a 4 GB VPS without GPU. large-v3-turbo delivers quality close to large-v3 at 5× the speed, for an 8 GB VPS.",{"type":38,"title":104},"Whisper.cpp: the CPU-only alternative without CUDA",{"type":53,"body":106},"If your VPS has no NVIDIA GPU, Whisper.cpp (github.com\u002Fggerganov\u002Fwhisper.cpp) is the ideal alternative. It is a pure C\u002FC++ port of the Whisper model that runs on CPU without Python, PyTorch or CUDA. It uses SIMD instructions (AVX2 on x86, NEON on ARM) to accelerate inference. On a 4-vCPU VPS, the small model transcribes noticeably faster thanks to CTranslate2's quantized C++ inference engine. The official Whisper.cpp Docker image weighs only ~150 MB versus ~2 GB for the Python image. It is the recommended choice for entry-level VPS instances (2–4 GB RAM).",{"type":108,"title":109,"steps":110},"steps","Step-by-step Docker deployment (openai-whisper-asr-webservice v1.10.0)",[111,114,117,120,123,126,129,132],{"title":112,"body":113},"Prepare the server","Install Docker Engine and Docker Compose: `curl -fsSL https:\u002F\u002Fget.docker.com | sh && sudo usermod -aG docker $USER`. Block port 9000 from the outside: `ufw deny 9000\u002Ftcp` (the API will be accessible via reverse proxy).",{"title":115,"body":116},"Create the working directory","```bash\nmkdir -p ~\u002Fwhisper && cd ~\u002Fwhisper\n```",{"title":118,"body":119},"Write the docker-compose.yml","```yaml\nservices:\n  whisper:\n    image: onerahmet\u002Fopenai-whisper-asr-webservice:latest\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:9000:9000\"\n    environment:\n      - ASR_MODEL=small          # tiny | base | small | medium | large-v3\n      - ASR_ENGINE=faster_whisper\n      - ASR_MODEL_PATH=\u002Fdata\u002Fmodels\n    volumes:\n      - .\u002Fmodels:\u002Fdata\u002Fmodels\n    # For GPU: replace image with :latest-gpu and add:\n    # deploy:\n    #   resources:\n    #     reservations:\n    #       devices:\n    #         - capabilities: [gpu]\n```",{"title":121,"body":122},"Choose the model and start","Replace `ASR_MODEL=small` with the model matching your RAM (see table above). Then: `docker compose up -d`. On first start, Whisper automatically downloads the model weights into the `.\u002Fmodels` volume (~250 MB for small, ~3 GB for large-v3).",{"title":124,"body":125},"Verify the API is running","```bash\ncurl http:\u002F\u002F127.0.0.1:9000\u002Fdocs\n# → Swagger UI; or test a transcription:\ncurl -F \"audio_file=@test.mp3\" http:\u002F\u002F127.0.0.1:9000\u002Fasr?encode=true&task=transcribe&language=en\n```",{"title":127,"body":128},"Configure the Nginx reverse proxy","```nginx\nlocation \u002Fwhisper\u002F {\n    proxy_pass http:\u002F\u002F127.0.0.1:9000\u002F;\n    proxy_set_header Authorization $http_authorization;\n    if ($http_x_api_key != \"YOUR_SECRET_KEY\") {\n        return 403;\n    }\n}\n```",{"title":130,"body":131},"Protect the API with a secret key","Never expose the Whisper API without authentication (see security section). Generate a key: `openssl rand -hex 32`. Add it to your proxy and clients.",{"title":133,"body":134},"Test a transcription via the secured API","```bash\ncurl -H \"X-Api-Key: YOUR_SECRET_KEY\" \\\n  -F \"audio_file=@teammeeting.mp3\" \\\n  https:\u002F\u002Fyour-domain.com\u002Fwhisper\u002Fasr?task=transcribe&language=en\n```",{"type":38,"title":136},"Real-world integration: connecting Whisper to n8n or Nextcloud Talk",{"type":53,"body":138},"Once the API is operational, you can integrate it into your existing workflows. In n8n, add an HTTP Request node pointing to `https:\u002F\u002Fyour-domain.com\u002Fwhisper\u002Fasr` with the `X-Api-Key` header and attach your audio file as `multipart\u002Fform-data`. The returned transcription (JSON with segments and timestamps) can then feed a Notion, Google Sheets or custom database node. For Nextcloud Talk, the `talk_recording` plugin lets you record calls and automatically send the resulting file to your Whisper endpoint — the transcription comes back into the conversation thread within seconds.",{"type":38,"title":140},"CPU vs GPU benchmarks on typical ServOrbit VPS",{"type":53,"body":142},"On a 4-vCPU \u002F 8 GB RAM VPS (faster-whisper engine, small model): one minute of audio is transcribed in approximately 18 seconds, a 3.3× real-time ratio. On an 8-vCPU \u002F 16 GB RAM VPS with the medium model: ~25 seconds per minute of audio (2.4×). With an NVIDIA RTX 4090 GPU and large-v3: ~4 seconds per minute of audio (15×). For batch processing (podcasts, daily meetings), a CPU VPS with 8 GB and the small model offers the optimal performance-to-cost ratio. For real-time transcription (\u003C 5 s latency), a GPU VPS with large-v3-turbo is required.",{"type":38,"title":144},"Security: never expose the Whisper API without authentication",{"type":41,"title":146,"items":147},"Essential security rules",[148,149,150,151,152,153],"Bind the Docker port to 127.0.0.1 only (`127.0.0.1:9000:9000`) — never `0.0.0.0:9000`","Protect external access with an API key in the reverse proxy (header `X-Api-Key`)","Add an Nginx rate-limit: `limit_req_zone $binary_remote_addr zone=whisper:10m rate=10r\u002Fm`","Enable TLS on your domain (Let's Encrypt) — never transmit audio in plaintext","Do not store audio files on disk longer than necessary: configure `--tmpfs \u002Ftmp` in Docker","Restrict the endpoint to internal IPs if the service is only used internally",{"type":38,"title":155},"Troubleshooting: common errors",{"type":41,"title":157,"items":158},"Common issues and solutions",[159,160,161,162],"**CUDA not found \u002F RuntimeError: CUDA error**: use the `:latest` (CPU) image instead of `:latest-gpu`, or verify that `nvidia-container-toolkit` is installed and CUDA 12+ drivers are present (`nvidia-smi`).","**Model not downloaded \u002F FileNotFoundError**: the `.\u002Fmodels` volume is not mounted correctly, or the initial download was interrupted. Delete the contents of `.\u002Fmodels` and restart `docker compose up -d` — Whisper re-downloads automatically.","**OOMKilled \u002F Out of memory**: the chosen model exceeds available RAM. Switch to a smaller model (`medium` → `small`, `small` → `base`) or increase your VPS RAM.","**422 Unprocessable Entity on \u002Fasr**: the audio file must be sent as `multipart\u002Fform-data` with the field named `audio_file`. Also check that `encode=true` is present in the query string for MP3\u002FMP4 formats.",{"type":164,"body":165},"tip","For VPS instances without a GPU, combine Whisper.cpp (CPU-only, ~150 MB image) with the 4-bit quantized small model (`-m models\u002Fggml-small-q5_1.bin`): you cut RAM usage by ~2.5× while retaining accuracy close to the float16 model.",{"type":38,"title":167},"Deploy Whisper from the ServOrbit Marketplace",{"type":53,"body":169},"ServOrbit offers a pre-configured Whisper application in its AI Marketplace. One click and your VPS is ready: Docker installed, `onerahmet\u002Fopenai-whisper-asr-webservice:latest` deployed, Nginx configured with TLS and an automatically generated API key. You choose the model (tiny to large-v3) at install time and benefit from one-click updates.","Deploy Whisper on a ServOrbit VPS in 1 click","Whisper is available on the ServOrbit Marketplace: Docker, ffmpeg and the network configuration are managed automatically. Your transcriptions stay on your VPS — no data is sent to a third-party service.","Deploy Whisper","\u002Fapplications\u002Fartificial-intelligence\u002Fwhisper",[175,192,210],{"id":18,"slug":176,"slugs":177,"title":181,"excerpt":182,"readTime":183,"views":18,"isPinned":19,"noindex":19,"publishedAt":184,"updatedAt":185,"category":186,"categories":187,"featuredImage":29,"bgImage":30,"posterImage":189,"relatedSolution":190},"how-to-host-open-webui-on-a-vps",{"fr":178,"en":176,"ar":179,"es":180},"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":23,"slug":24,"color":25,"icon":26},[188],{"id":18,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-open-webui-poster.svg",{"categorySlug":33,"appSlug":191},"open-webui",{"id":193,"slug":194,"slugs":195,"title":199,"excerpt":200,"readTime":201,"views":18,"isPinned":19,"noindex":19,"publishedAt":202,"updatedAt":203,"category":204,"categories":205,"featuredImage":29,"bgImage":30,"posterImage":207,"relatedSolution":208},2,"deploying-dify-on-a-vps-ai-workflows-under-control",{"fr":196,"en":194,"ar":197,"es":198},"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":23,"slug":24,"color":25,"icon":26},[206],{"id":18,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":24,"appSlug":209},"dify",{"id":211,"slug":212,"slugs":213,"title":217,"excerpt":218,"readTime":219,"views":18,"isPinned":19,"noindex":220,"publishedAt":221,"updatedAt":222,"category":223,"categories":224,"featuredImage":29,"bgImage":30,"posterImage":226,"relatedSolution":227},121,"hosting-openclaw-on-a-vps",{"fr":214,"en":212,"ar":215,"es":216},"heberger-openclaw-vps","استضافة-openclaw-على-خادم-vps","alojar-openclaw-en-un-vps","Hosting OpenClaw on a VPS","Host OpenClaw on your VPS: the open source personal AI assistant reachable from WhatsApp, Telegram, Discord and 50+ messaging apps. Docker, LLM setup and HTTPS.",4,true,"2026-02-23T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":18,"name":23,"slug":24,"color":25,"icon":26},[225],{"id":18,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-openclaw-vps-poster.svg",{"categorySlug":33,"appSlug":228},"openclaw",1794270429570]