# Installing whisper & piper selfhosted help

**URL:** <https://community.livekit.io/t/installing-whisper-piper-selfhosted-help/1672>\
**Category:** Self Hosting\
**Created:** [July 17, 2026, 6:32pm UTC](https://community.livekit.io/t/installing-whisper-piper-selfhosted-help/1672 "2026-07-17T18:32:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![DoC\_DiD\_iT](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/doc_did_it/32/1150_2.png) [@DoC\_DiD\_iT](https://community.livekit.io/u/DoC_DiD_iT)\
**Post date:** [July 17, 2026, 6:32pm UTC](https://community.livekit.io/t/installing-whisper-piper-selfhosted-help/1672/1 "2026-07-17T18:32:14Z")

</div>

I notice these pip packages have changed. Is it now recommended to run them in docker containers?

I’m making the step toward adding an Ai Avatar agent, who assists my guest, in their green room, and helps prep, and make them comfortable.

I tried to pull pip LiveKit-plugins-whisper and piper and got errors. Dug into it, and noticed you guys pulled support, and running differently.

So, do you have other packages, or was this move for security, and to insure it runs smoothly. And, as I said, should I pull them in with docker?

Once this one is down, I am moving to a coaching and athlete assistant. That will go along with my Ai video analysis app. Which is already reading video.

Please point me to the proper documentation. Or, is this on GitHub? Thanks !

---

<div class="post-metadata">

**Author:** ![CWilson](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/cwilson/32/135_2.png) [@CWilson](https://community.livekit.io/u/CWilson)\
**Post date:** [July 17, 2026, 8:33pm UTC](https://community.livekit.io/t/installing-whisper-piper-selfhosted-help/1672/2 "2026-07-17T20:33:57Z")

</div>

There actually never were official `livekit-plugins-whisper` or `livekit-plugins-piper` packages from LiveKit, which is why pip can’t find them. Any package by those names would have been a community project, not something we removed.

The recommended way to use Whisper and Piper with Agents is to run them as inference servers (Docker works well for this) and connect through the OpenAI plugin. Both have server options that expose an OpenAI-compatible API, and the plugin lets you point at any endpoint:

**Whisper (STT):**

```python
from livekit.plugins import openai

whisper_stt = openai.STT(
    base_url="http://localhost:8000/v1", # your local Whisper server
    api_key="not-needed",
    model="whisper-1",
)

```

One important detail: Whisper isn’t a streaming model, so wrap it with VAD via `StreamAdapter` — the [STT docs](https://docs.livekit.io/agents/models/stt/) cover this pattern.

**Piper (TTS):** Same idea — run Piper behind an OpenAI-compatible endpoint and use `openai.TTS(base_url=...)`.

Docs to bookmark: [STT models](https://docs.livekit.io/agents/models/stt/), [TTS models](https://docs.livekit.io/agents/models/tts/), [OpenAI STT plugin guide](https://docs.livekit.io/agents/integrations/stt/openai/), and the [livekit/agents repo](https://github.com/livekit/agents) on GitHub — if you end up building a solid integration, plugin contributions are welcome there too.

Your avatar green-room agent sounds great — this stack is a well-trodden path for fully self-hosted agents. Good luck with the coaching assistant!

---

<div class="post-metadata">

**Author:** ![DoC\_DiD\_iT](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/doc_did_it/32/1150_2.png) [@DoC\_DiD\_iT](https://community.livekit.io/u/DoC_DiD_iT)\
**Post date:** [July 18, 2026, 7:28am UTC](https://community.livekit.io/t/installing-whisper-piper-selfhosted-help/1672/3 "2026-07-18T07:28:48Z")

</div>

Thank you for the reply. I used docker-compose.yml And the proper pip packages. Spun up both with Ollama, and just got things wired up and working. I’m using **Qwen3-VL-2B** series, since it’s light weight, and saving to my db, so the model can be familiar with my guest. Added the admin panel to pass more info in, and set mood. Took me all day to finically get a clean build, and no pm2 restarts. But docker spun up clean, and was the easiest part. My agent.py was the doozy.

I found out that they are not LiveKit dependencies. The main thing is I finally have a talking avatar, and tickled it works.

Thank you for the great info, and reply. It did share more insight, and was helpful. Most of all, thank you for your time, and good wishes.

the docker file i used. I’ve added cpu and ram limits, and a few others settings. but, this will get you up, in docker. For those who are selfhosting, and need a quick startup.

docker-compose.yml

services:

# The Ollama Engine

ollama-service:

```
image: ollama/ollama:latest

container_name: ollama-service

ports:

  - "11434:11434"

dns:

  - 1.1.1.1

  - 8.8.8.8

volumes:

  - ./ollama-data:/root/.ollama

restart: unless-stopped

```

# Local Whisper API for Speech-to-Text

whisper-api:

```
image: onerahmet/openai-whisper-asr-webservice:latest

container_name: whisper-api

restart: unless-stopped

ports:

  - "9000:9000"

volumes:

  - ./whisper_models:/root/.cache/whisper

environment:

  - ASR_MODEL=base

  - ASR_ENGINE=openai_whisper

```

# Local Piper service for Text-to-Speech

piper-tts:

```
image: rhasspy/wyoming-piper:latest

container_name: piper-tts

restart: unless-stopped

ports:

  - "5000:5000"

command: --model en_US-lessac-medium.onnx

```

## pip installs

pip install livekit-agents livekit-plugins-openai livekit-plugins-silero livekit-plugins-piper-tts requests

---

<div class="post-metadata">

**Author:** ![system](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/system/32/26_2.png) [@system](https://community.livekit.io/u/system)\
**Post date:** [July 20, 2026, 7:28am UTC](https://community.livekit.io/t/installing-whisper-piper-selfhosted-help/1672/4 "2026-07-20T07:28:49Z")

</div>

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.
