Guide de déploiement

Whisper on premise sur VPS : guide complet 2026

Déployer sur un VPS Cloud →

Tutoriel

Whisper on premise sur VPS : guide complet 2026

Intelligence Artificielle6 min de lecture8 étapes

Whisper est le modèle de transcription audio open source d'OpenAI. L'héberger on premise sur votre VPS vous garantit que vos enregistrements ne quittent jamais votre infrastructure : confidentialité absolue, latence maîtrisée et coût prévisible. Ce guide couvre le déploiement Docker pas à pas, le choix du modèle selon votre RAM, l'alternative CPU-only Whisper.cpp, l'intégration avec n8n, les benchmarks sur VPS typiques et les indispensables mesures de sécurité.

Sommaire· Pourquoi auto-héberger Whisper on premise sur un VPS1/14
  1. 01Pourquoi auto-héberger Whisper on premise sur un VPS
  2. 02Les bénéfices concrets de l'auto-hébergement
  3. 03Prérequis matériels et logiciels
  4. 04Choisir son modèle Whisper : comparatif RAM, vitesse et précision
  5. 05Modèles Whisper disponibles
  6. 06Whisper.cpp : l'alternative CPU-only sans CUDA
  7. 07Déploiement Docker pas à pas (openai-whisper-asr-webservice v1.10.0)
  8. 08Intégration réelle : brancher Whisper à n8n ou Nextcloud Talk
  9. 09Benchmarks CPU vs GPU sur VPS typique ServOrbit
  10. 10Sécurité : ne jamais exposer l'API Whisper sans authentification
  11. 11Règles de sécurité indispensables
  12. 12Dépannage : erreurs fréquentes
  13. 13Problèmes courants et solutions
  14. 14Déployer Whisper depuis la Marketplace ServOrbit

Pourquoi auto-héberger Whisper on premise sur un VPS

Les bénéfices concrets de l'auto-hébergement

  • Confidentialité totale : vos fichiers audio ne transitent jamais par un tiers
  • Coût maîtrisé : une transcription de 60 min coûte quelques centimes de CPU, pas de facturation à la minute
  • API privée exposée uniquement derrière votre reverse proxy, protégée par clé ou JWT
  • Disponibilité 24/7 sans dépendance à la politique tarifaire d'OpenAI
  • Choix du modèle selon vos contraintes RAM : de 1 Go (tiny) à 10 Go (large-v3)
  • Conformité RGPD facilitée : traitement dans votre datacenter, pas chez un sous-traitant américain

Prérequis matériels et logiciels

Pour un déploiement CPU (modèle small ou base) : 2 vCPU, 4 Go RAM, 20 Go de disque. Pour le modèle medium : 8 Go RAM recommandés. Pour large-v3 avec GPU : 10 Go VRAM minimum (carte NVIDIA avec pilotes CUDA 12+). Côté logiciel, seuls Docker Engine 24+ et Docker Compose v2 sont nécessaires — aucun Python ni PyTorch à installer sur l'hôte.

Choisir son modèle Whisper : comparatif RAM, vitesse et précision

Modèles Whisper disponibles

Faites défiler le tableau

ModèleParamètresRAM requiseWER anglaisVitesse (temps réel)
tiny39 M~1 Go~7,6 %~10×
base74 M~1 Go~5,0 %~7×
small244 M~2 Go~3,4 %~4×
medium769 M~5 Go~2,9 %~2×
large-v31 550 M~10 Go~2,4 %~1×
large-v3-turbo809 M~6 Go~2,5 %~5×

Le modèle small est l'idéal compromis pour un VPS 4 Go sans GPU. large-v3-turbo offre une qualité proche de large-v3 à 5× la vitesse, pour un VPS 8 Go.

Whisper.cpp : l'alternative CPU-only sans CUDA

Si votre VPS ne dispose pas de GPU NVIDIA, Whisper.cpp (github.com/ggerganov/whisper.cpp) est l'alternative idéale. C'est un portage en C/C++ pur du modèle Whisper, qui tourne sur CPU sans Python, PyTorch ni CUDA. Il utilise les instructions SIMD AVX2 (x86) ou NEON (ARM) pour accélérer l'inférence. Sur un VPS 4 vCPU, le modèle small transcrit environ 3× plus vite que la version Python équivalente. L'image Docker officielle whisper.cpp est disponible et ne pèse que ~150 Mo contre ~2 Go pour l'image Python. C'est le choix recommandé pour les VPS entrée de gamme (2–4 Go RAM).

Déploiement Docker pas à pas (openai-whisper-asr-webservice v1.10.0)

  1. Préparer le serveur

    Installez Docker Engine et Docker Compose : curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker $USER. Ouvrez le port 9000 en local uniquement : ufw deny 9000/tcp (l'API sera accessible via reverse proxy).

  2. Créer le répertoire de travail

    mkdir -p ~/whisper && cd ~/whisper
  3. Rédiger le docker-compose.yml

    services:
      whisper:
        image: onerahmet/openai-whisper-asr-webservice:latest
        restart: unless-stopped
        ports:
          - "127.0.0.1:9000:9000"
        environment:
          - ASR_MODEL=small          # tiny | base | small | medium | large-v3
          - ASR_ENGINE=faster_whisper
          - ASR_MODEL_PATH=/data/models
        volumes:
          - ./models:/data/models
        # Pour GPU : remplacez l'image par :latest-gpu et ajoutez :
        # deploy:
        #   resources:
        #     reservations:
        #       devices:
        #         - capabilities: [gpu]
  4. Choisir le modèle et lancer

    Remplacez ASR_MODEL=small par le modèle correspondant à votre RAM (voir tableau ci-dessus). Puis : docker compose up -d. Au premier démarrage, Whisper télécharge automatiquement les poids du modèle dans le volume ./models (~250 Mo pour small, ~3 Go pour large-v3).

  5. Vérifier que l'API est opérationnelle

    curl http://127.0.0.1:9000/docs
    # → interface Swagger ; ou tester une transcription :
    curl -F "[email protected]" http://127.0.0.1:9000/asr?encode=true&task=transcribe&language=fr
  6. Configurer le reverse proxy Nginx

    location /whisper/ {
        proxy_pass http://127.0.0.1:9000/;
        proxy_set_header Authorization $http_authorization;
        # Bloquer l'accès sans clé API
        if ($http_x_api_key != "VOTRE_CLE_SECRETE") {
            return 403;
        }
    }
  7. Protéger l'API par clé secrète

    N'exposez jamais l'API Whisper sans authentification (voir section sécurité). Générez une clé : openssl rand -hex 32. Ajoutez-la dans votre proxy et dans vos clients.

  8. Tester une transcription via l'API sécurisée

    curl -H "X-Api-Key: VOTRE_CLE_SECRETE" \
      -F "[email protected]" \
      https://votre-domaine.com/whisper/asr?task=transcribe&language=fr

Intégration réelle : brancher Whisper à n8n ou Nextcloud Talk

Une fois l'API opérationnelle, vous pouvez l'intégrer dans vos workflows existants. Dans n8n, ajoutez un nœud HTTP Request pointant sur https://votre-domaine.com/whisper/asr avec le header X-Api-Key et attachez votre fichier audio en multipart/form-data. La transcription retournée (JSON avec segments et timestamps) peut ensuite alimenter un nœud Notion, Google Sheets ou votre propre base de données. Pour Nextcloud Talk, le plugin talk_recording permet d'enregistrer les appels et d'envoyer automatiquement le fichier résultant à votre endpoint Whisper — la transcription revient dans le fil de discussion en quelques secondes.

Benchmarks CPU vs GPU sur VPS typique ServOrbit

Sur un VPS 4 vCPU / 8 Go RAM (moteur faster-whisper, modèle small) : une minute d'audio est transcrite en environ 18 secondes, soit un rapport temps réel de 3,3×. Sur un VPS 8 vCPU / 16 Go RAM avec le modèle medium : ~25 secondes par minute d'audio (2,4×). Avec un GPU NVIDIA RTX 4090 et large-v3 : ~4 secondes par minute d'audio (15×). Pour un usage batch (podcast, réunions quotidiennes), un VPS CPU 8 Go avec le modèle small offre le rapport performance/coût optimal. Pour de la transcription temps réel (< 5 s de latence), un VPS GPU avec large-v3-turbo est nécessaire.

Sécurité : ne jamais exposer l'API Whisper sans authentification

Règles de sécurité indispensables

  • Liez le port Docker à 127.0.0.1 uniquement (127.0.0.1:9000:9000) — jamais 0.0.0.0:9000
  • Protégez l'accès externe par une clé API dans le reverse proxy (header X-Api-Key)
  • Ajoutez un rate-limit Nginx : limit_req_zone $binary_remote_addr zone=whisper:10m rate=10r/m pour éviter les abus
  • Activez TLS sur votre domaine (Let's Encrypt) — ne transmettez jamais d'audio en clair sur le réseau
  • Ne stockez pas les fichiers audio sur disque plus longtemps que nécessaire : configurez --tmpfs /tmp dans Docker
  • Réservez l'endpoint à vos IPs internes si le service n'est accessible qu'en interne

Dépannage : erreurs fréquentes

Problèmes courants et solutions

  • CUDA not found / RuntimeError: CUDA error : utilisez l'image :latest (CPU) au lieu de :latest-gpu, ou vérifiez que nvidia-container-toolkit est installé et que les pilotes CUDA ≥ 12 sont présents (nvidia-smi).
  • Model not downloaded / FileNotFoundError : le volume ./models n'est pas monté correctement, ou le téléchargement initial a été interrompu. Supprimez le contenu de ./models et relancez docker compose up -d — Whisper re-télécharge automatiquement.
  • OOMKilled / Out of memory : le modèle choisi dépasse la RAM disponible. Passez au modèle inférieur (medium → small, small → base) ou augmentez la RAM de votre VPS.
  • 422 Unprocessable Entity sur /asr : le fichier audio doit être envoyé en multipart/form-data avec le champ nommé audio_file. Vérifiez aussi que encode=true est présent en query string pour les formats MP3/MP4.

Pour les VPS sans GPU, combinez Whisper.cpp (CPU-only, ~150 Mo d'image) avec le modèle small quantifié en 4 bits (-m models/ggml-small-q5_1.bin) : vous divisez la consommation RAM par ~2,5 tout en conservant une précision proche du modèle float16.

Déployer Whisper depuis la Marketplace ServOrbit

ServOrbit propose une application Whisper pré-configurée dans sa Marketplace IA. En un clic, votre VPS est prêt : Docker installé, image onerahmet/openai-whisper-asr-webservice:latest déployée, Nginx configuré avec TLS et clé API générée automatiquement. Vous choisissez le modèle (tiny à large-v3) lors de l'installation et bénéficiez des mises à jour one-click.

Déployez Whisper sur un VPS ServOrbit en 1 clic

Whisper est disponible sur la Marketplace ServOrbit : Docker, ffmpeg et la configuration réseau sont gérés automatiquement. Vos transcriptions restent sur votre VPS — aucune donnée n'est envoyée à un service tiers.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet