- Add rubberband package to container for pitch-shifting FX - Split FX chain: rubberband CLI for pitch, ffmpeg for filters - Configurable voice profile (voice, fx, piper params) in [voice] - Extra bots inherit voice config (minus trigger) for own TTS - Greeting is voice-only, spoken directly by the greeting bot - Per-bot only_plugins/except_plugins filtering on Mumble - Alias plugin, core plugin tests Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
18 lines
507 B
Docker
18 lines
507 B
Docker
FROM python:3.13-alpine
|
|
|
|
RUN apk add --no-cache opus ffmpeg yt-dlp rubberband && \
|
|
ln -s /usr/lib/libopus.so.0 /usr/lib/libopus.so
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Patch pymumble for Python 3.13 (ssl.wrap_socket was removed)
|
|
COPY patches/apply_pymumble_ssl.py /tmp/apply_pymumble_ssl.py
|
|
RUN python3 /tmp/apply_pymumble_ssl.py && rm /tmp/apply_pymumble_ssl.py
|
|
|
|
ENV PYTHONPATH=/app/src
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENTRYPOINT ["python", "-m", "derp"]
|