Whisper lässt sich auf einem eigenen VPS betreiben. faster-whisper ist laut Projekt bis zu 4-mal schneller als OpenAIs Whisper, bei gleicher Genauigkeit und mit weniger Speicher (laut faster-whisper-README, Stand: 08.11.2026). Abgerechnet wird der Server-Tarif, nicht die Menge an Audio.
Danach hast du eine Web-Oberfläche für Uploads, den Export als TXT, JSON, VTT oder SRT und eine CLI für Stapelverarbeitung. Aufnahmen und Transkripte liegen auf deinem Server und gehen nicht an einen Transkriptionsdienst.
Bedarf für Whisper schätzen
Der Whisper-Rechner schätzt aus Modell und Audio-Menge den Bedarf und zeigt passende Server.
Zum Whisper VPS-RechnerWas ist Whisper / faster-whisper?
Whisper ist OpenAIs Modell für mehrsprachige Spracherkennung, Übersetzung gesprochener Sprache und Erkennung der gesprochenen Sprache; Code und Modellgewichte stehen unter der MIT-Lizenz (laut OpenAI-Whisper-README, Stand: 08.11.2026).
faster-whisper ist eine Neuimplementierung von OpenAIs Whisper mit CTranslate2, einer Inferenz-Engine für Transformer-Modelle (laut faster-whisper-README, Stand: 08.11.2026).
Projekt-Benchmark: Small-Modell, 13 Minuten Audio, Intel Core i7-12700K mit 8 Threads, Beam Size 5 (laut faster-whisper-README, Stand: 08.11.2026):
| Implementierung | Präzision | Dauer | Speicher |
|---|---|---|---|
| openai/whisper | fp32 | 6 Min. 58 s | 2335 MB |
| faster-whisper | fp32 | 2 Min. 37 s | 2257 MB |
| faster-whisper | int8 | 1 Min. 42 s | 1477 MB |
Das sind Werte des Projekts, keine Messung von RackDiff; auf einem VPS hängen sie von CPU und Threads ab.
Warum Whisper selbst hosten?
- Kosten: Abgerechnet wird der Server-Tarif, nicht die Audiomenge; aktuelle Preise inkl. USt im VPS-Vergleich.
- Datenschutz: Aufnahmen und Transkripte liegen auf deinem Server statt bei einem Transkriptionsdienst. Beziehen sie sich auf Personen, sind es personenbezogene Daten (Art. 4 Nummer 1 DSGVO). Verarbeitest du sie nicht ausschließlich privat, brauchst du mit dem Hoster einen Vertrag zur Auftragsverarbeitung (Art. 28 Abs. 3 DSGVO), und die Absicherung des Servers liegt bei dir (Art. 32 Abs. 1 DSGVO) (laut DSGVO, Stand: 08.11.2026).
- Auslastung: Wie viel Audio du verarbeitest, begrenzen CPU und RAM deines Servers.
- Modelle: Whishper lädt die Modelle beim ersten Start herunter (laut Whishper-Doku, Stand: 08.11.2026), faster-whisper bezieht sie vom Hugging Face Hub (laut faster-whisper-README, Stand: 08.11.2026); danach läuft die Transkription auf deinem Server.
Voraussetzungen
Bevor wir starten, brauchst du:
- Einen VPS mit Docker. Whishper nennt keine Mindestwerte für RAM und CPU; auf kleinen Maschinen dauert die Transkription länger, und ohne AVX-Unterstützung der CPU sind Zusatzschritte nötig (laut Whishper-Doku, Stand: 08.11.2026). Neben der Transkription laufen MongoDB und LibreTranslate (laut Whishper-README, Stand: 08.11.2026). Tarife im VPS-Vergleich.
- Ein von Docker unterstütztes Ubuntu (22.04, 24.04, 26.04 LTS) (laut Docker-Doku, Stand: 08.11.2026)
- SSH-Zugang zum Server
- Eine Domain, die auf den Server zeigt, für HTTPS in Schritt 3
Whisper-Modelle
| Modell | Parameter | VRAM (GPU, Original-Whisper) | relative Geschwindigkeit |
|---|---|---|---|
| tiny | 39 M | ~1 GB | ~10x |
| base | 74 M | ~1 GB | ~7x |
| small | 244 M | ~2 GB | ~4x |
| medium | 769 M | ~5 GB | ~2x |
| large | 1550 M | ~10 GB | 1x |
| turbo | 809 M | ~6 GB | ~8x |
Die Geschwindigkeit hat OpenAI auf einer A100 mit englischer Sprache gemessen, turbo ist eine optimierte Fassung von large-v3 (laut OpenAI-Whisper-README, Stand: 08.11.2026). RAM-Werte für die CPU nennt OpenAI nicht; der faster-whisper-Benchmark nennt für Small mit int8 1477 MB (laut faster-whisper-README, Stand: 08.11.2026). RackDiff listet derzeit keine GPU-Server.
Für Deutsch kommen die mehrsprachigen Modelle infrage, nicht die .en-Varianten; größere Modelle brauchen mehr Speicher und Zeit, und large-v3 zeigt in vielen Sprachen verbesserte Ergebnisse (laut Whishper-Doku, Stand: 08.11.2026).
Server für Whisper vergleichen
Aktuelle VPS-Tarife mit RAM, CPU und Preisen inkl. USt.
Zum VPS-VergleichSchritt 1: Server vorbereiten
Verbinde dich per SSH und aktualisiere das System:
ssh root@deine-server-ip
apt update && apt upgrade -y
Installiere Docker Engine mit dem Compose-Plugin über das apt-Repository von Docker, wie in der Docker-Doku beschrieben; das Convenience-Skript ist laut Docker nicht für Produktivsysteme gedacht (laut Docker-Doku, Stand: 08.11.2026). Der letzte Befehl lautet apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin.
Schritt 2: Whishper als Web-Oberfläche einrichten
Als Web-Oberfläche nutzt diese Anleitung Whishper: Upload oder Link, Transkription mit faster-whisper, Übersetzung mit LibreTranslate, Untertitel-Editor, Export als TXT, JSON, VTT oder SRT. Der Autor arbeitet an einer Neufassung; der aktuelle Stand bekommt laut README keine neuen Releases oder Updates mehr (laut Whishper-README, Stand: 08.11.2026).
2.1 Dateien laden
Lade die Dateien des Projekts herunter (laut Whishper-Doku, Stand: 08.11.2026):
mkdir -p /opt/whishper && cd /opt/whishper
curl -o docker-compose.yml https://raw.githubusercontent.com/pluja/whishper/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/pluja/whishper/main/example.env
curl -o nginx.conf https://raw.githubusercontent.com/pluja/whishper/main/nginx.conf
mkdir -p ./whishper_data/libretranslate/{data,cache}
chown -R 1032:1032 whishper_data/libretranslate
2.2 Konfigurieren
Setze in .env vor dem ersten Start (laut Whishper-Doku, Stand: 08.11.2026):
WHISPER_MODELS=tiny,small
WHISHPER_HOST=whisper.deine-domain.de
DB_USER=whishper
DB_PASS=<eigenes-passwort>
LT_LOAD_ONLY=de,en
WHISPER_MODELS legt die Modelle fest, WHISHPER_HOST ist die Adresse im Browser ohne Protokoll, LT_LOAD_ONLY die Sprachen für LibreTranslate.
Ersetze in docker-compose.yml beim Dienst whishper die Portzeile - 8082:80 vor dem ersten Start, damit nur der Reverse Proxy den Port erreicht. Veröffentlichte Docker-Ports umgehen ufw (laut Docker-Doku, Stand: 08.11.2026), mit 127.0.0.1 ist der Port nur vom Server selbst erreichbar (laut Docker-Doku, Stand: 08.11.2026):
ports:
- "127.0.0.1:8082:80"
2.3 Starten
docker compose up -d
docker compose logs -f
Der erste Start lädt Transkriptions- und Übersetzungsmodelle und kann eine Weile dauern; den Fortschritt zeigt docker compose logs -f (laut Whishper-Doku, Stand: 08.11.2026). Das version: "3.9" der Upstream-Datei löst nur eine Warnung aus (laut Docker-Doku, Stand: 08.11.2026).
Schritt 3: Reverse Proxy mit HTTPS und Passwortschutz
Für den Zugriff per HTTPS setzt du Caddy als Reverse Proxy davor. Die Whishper-Doku beschreibt keine Benutzeranmeldung (laut Whishper-Doku, Stand: 08.11.2026); deshalb schützt Caddy die Seite mit Benutzername und Passwort.
Caddy installierst du als root über das Paket-Repository des Projekts (laut Caddy-Doku, Stand: 08.11.2026):
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
chmod o+r /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy
Erzeuge den Passwort-Hash mit caddy hash-password. Die Direktive heißt seit Caddy v2.8.0 basic_auth, vorher basicauth (laut Caddy-Doku, Stand: 08.11.2026). reverse_proxy leitet an den lokal gebundenen Port weiter (laut Caddy-Doku, Stand: 08.11.2026).
/etc/caddy/Caddyfile:
whisper.deine-domain.de {
basic_auth {
dein-name <hash-aus-caddy-hash-password>
}
reverse_proxy 127.0.0.1:8082
}
systemctl reload caddy
Caddy holt das Zertifikat automatisch bei Let's Encrypt oder ZeroSSL, wenn der A/AAAA-Eintrag auf den Server zeigt und die Ports 80 und 443 von außen erreichbar sind (laut Caddy-Doku, Stand: 08.11.2026).
Aufruf prüfen
Öffne https://whisper.deine-domain.de, melde dich mit dem Caddy-Passwort an. Dann:
- Datei hochladen oder Link angeben
- Sprache und Modell wählen
- Transkription starten
- Export als TXT, JSON, VTT oder SRT (laut Whishper-README, Stand: 08.11.2026)
Hinweis: Die Dauer hängt von Modell, CPU und Threads ab; Werte des Projekts stehen im Abschnitt „Was ist Whisper / faster-whisper?“.
Alternative: CLI für Automatisierung
Für Stapelverarbeitung ohne Web-Oberfläche nutzt du einen Kommandozeilen-Client.
whisper-ctranslate2 in einer Python-Umgebung
whisper-ctranslate2 ist ein mit OpenAIs Client kompatibler Kommandozeilen-Client auf Basis von CTranslate2 und kann Sprecher mit pyannote.audio unterscheiden; dafür brauchst du ein Hugging-Face-Zugangstoken (laut whisper-ctranslate2-README, Stand: 08.11.2026).
Unter Ubuntu 24.04 kommt das Modul venv mit dem Paket python3-venv (laut Ubuntu-Paketarchiv, Stand: 08.11.2026); python3 -m venv legt eine eigene Python-Umgebung an (laut Python-Doku, Stand: 08.11.2026). faster-whisper braucht Python ab 3.9 und kein installiertes FFmpeg (laut faster-whisper-README, Stand: 08.11.2026).
apt install -y python3-venv
python3 -m venv /opt/whisper-cli
/opt/whisper-cli/bin/pip install whisper-ctranslate2
/opt/whisper-cli/bin/whisper-ctranslate2 podcast.mp3 \
--model small --language de --compute_type int8 \
--output_format srt --output_dir .
# Ergebnis im aktuellen Ordner
Batch-Skript
Für mehrere Dateien:
#!/bin/bash
# transcribe-all.sh
set -euo pipefail
INPUT_DIR="/data/audio"
OUTPUT_DIR="/data/transcripts"
mkdir -p "$OUTPUT_DIR"
for file in "$INPUT_DIR"/*.mp3; do
[ -e "$file" ] || continue
/opt/whisper-cli/bin/whisper-ctranslate2 "$file" \
--model small --language de --compute_type int8 \
--output_format srt --output_dir "$OUTPUT_DIR"
echo "Fertig: $(basename "$file" .mp3)"
done
Performance-Optimierung
compute_type einstellen
faster-whisper nennt für die CPU int8, für die GPU float16 oder int8_float16. Im Projekt-Benchmark (Small, CPU) braucht int8 1 Min. 42 s und 1477 MB, fp32 2 Min. 37 s und 2257 MB (laut faster-whisper-README, Stand: 08.11.2026). In der CLI setzt du das mit --compute_type int8 (laut whisper-ctranslate2-Quellcode, Stand: 08.11.2026); Whishper dokumentiert dafür keine Einstellung (laut Whishper-Doku, Stand: 08.11.2026).
CPU-Threads
Whishper nutzt standardmäßig 4 CPU-Threads (CPU_THREADS, ab Version 3.1.2) (laut Whishper-Doku, Stand: 08.11.2026); in der Upstream-docker-compose.yml steht der Wert unter environment des Dienstes whishper. Die CLI setzt Threads mit --threads (laut whisper-ctranslate2-Quellcode, Stand: 08.11.2026). deploy.resources.limits begrenzt nur, was ein Container nutzen darf (laut Docker-Doku, Stand: 08.11.2026).
VAD (Voice Activity Detection)
faster-whisper bringt Silero VAD mit; in der Standardeinstellung entfernt vad_filter nur Stille über 2 Sekunden (laut faster-whisper-README, Stand: 08.11.2026). In der CLI: --vad_filter True (laut whisper-ctranslate2-Quellcode, Stand: 08.11.2026). Whishper dokumentiert dafür keine Einstellung (laut Whishper-Doku, Stand: 08.11.2026).
Automatisierung mit n8n
Mit n8n bindest du Transkription in Workflows ein. Der folgende Ablauf ist eine ungeprüfte Skizze:
Workflow: Audio per E-Mail → Transkript zurück
- Email Trigger (IMAP): E-Mail mit Audio-Anhang empfangen, mit der Option „Download Attachments“ (laut n8n-Doku, Stand: 08.11.2026)
- HTTP Request: Audio mit Body Content Type „Form-Data“ und Parameter Type „n8n Binary File“ an Whishper senden (laut n8n-Doku, Stand: 08.11.2026)
- Send Email: Ergebnis über „Attachments“ zurücksenden; ob die Antwort von Whishper das Transkript schon enthält oder du es später abholst, prüfst du selbst, weil die API das nicht dokumentiert (laut n8n-Doku, Stand: 08.11.2026)
In n8n:
[Email Trigger (IMAP)] → [HTTP Request an Whishper] → [Send Email mit Transkript]
Whishper hat eine REST-Schnittstelle POST /api/transcriptions mit den Formularfeldern file, language und modelSize. Laut Backend-README verbindet sie ASR-Dienst, Datenbank und Oberfläche; Antwortformat und Authentifizierung sind nicht dokumentiert (laut Whishper-Backend-README, Stand: 08.11.2026). Aus n8n rufst du https://whisper.deine-domain.de/api/transcriptions mit Basic-Auth-Zugangsdaten auf (HTTP Request, generische Zugangsdaten) (laut n8n-Doku, Stand: 08.11.2026):
POST https://whisper.deine-domain.de/api/transcriptions
Content-Type: multipart/form-data
file: [audio-file]
language: de
modelSize: small
Mehr zu n8n Self-Hosting: n8n Self-Hosting Guide →
Whisper kombinieren mit anderen Tools
Whisper + Ollama = Voice-to-LLM
Kombiniere Transkription mit KI-Analyse:
- Audio mit Whisper transkribieren
- Transkript an Ollama senden
- Zusammenfassung, Analyse oder Antwort generieren
Anwendungsfall: Meeting aufnehmen → Transkribieren → Action Items extrahieren lassen
Whisper + Paperless = Audio-Archiv
Transkribiere Voice Memos und archiviere sie in Paperless-ngx:
- Sprachnachricht aufnehmen
- Mit Whisper transkribieren
- Transkript als Textdatei an Paperless-ngx übergeben; Textdokumente übernimmt Paperless unverändert (laut Paperless-ngx-FAQ, Stand: 08.11.2026)
Eigener Server oder Transkriptionsdienst
Transkriptionsdienste rechnen nach ihren eigenen Bedingungen ab. Beim eigenen Server zahlst du den Tarif des Hosters; aktuelle Preise inkl. USt im VPS-Vergleich, den Bedarf schätzt der Whisper-Rechner.
Häufige Probleme
Transkription ist sehr langsam
- Prüfe compute_type: Nutze
int8stattfloat32 - Modell verkleinern:
smallstattmedium - VAD aktivieren (CLI
--vad_filter True): filtert Abschnitte ohne Sprache heraus (laut whisper-ctranslate2-README, Stand: 08.11.2026)
Out of Memory Fehler
Das Modell ist zu groß für deinen RAM:
Killed (OOM)
Lösung: Kleineres Modell wählen oder einen Server mit mehr RAM, siehe VPS-Vergleich.
Schlechte Qualität bei deutschen Texten
- Sprache explizit setzen:
--language destatt Auto-Detect - Größeres Modell:
smallstatttiny - Prompt nutzen: Bei Fachvokabular in der CLI einen Prompt für das erste Fenster setzen:
--initial_prompt "…"(laut whisper-ctranslate2-Quellcode, Stand: 08.11.2026)
Docker-Container startet nicht
# Logs prüfen
docker compose logs -f
# Neustart
docker compose down && docker compose up -d
Fazit
Du hast jetzt einen eigenen Transkriptions-Server mit faster-whisper. Aufnahmen und Transkripte liegen auf deinem Server; die Auslastung begrenzen CPU und RAM.
Für Podcasts: Transkript und Untertitel je Episode.
Für Videos: Untertitel als SRT oder VTT, im Whishper-Editor nachbearbeitet.
Für Gespräche mit Personenbezug: Aufnahmen bleiben auf deinem Server; was die DSGVO dafür verlangt, steht unter „Warum Whisper selbst hosten?“.
Nächster Schritt: Kombiniere Whisper mit Ollama für KI-Analyse oder n8n für Automatisierung.
Häufig gestellte Fragen
Wie lange dauert die Transkription auf CPU?
Welches Whisper-Modell passt für deutsche Podcasts?
Kann Whisper Sprecher unterscheiden?
Brauche ich eine GPU für Whisper?
Wie viel Speicherplatz brauche ich?
Weitere Self-Hosting Guides
Passenden VPS für Whisper finden
Der Whisper-Rechner schätzt aus Modell und Audio-Menge den Bedarf und zeigt passende Server.
Zum Whisper VPS-Rechner




