bragi-docker/Dockerfile
q 2d4869d814
All checks were successful
Build & push Docker image / build (push) Successful in 2m14s
npm tsc
2026-03-16 15:18:02 -04:00

45 lines
1.2 KiB
Docker

FROM python:3.13-slim
RUN apt-get update && apt-get install -y \
git \
ffmpeg \
libopus0 \
libmagic1 \
openssl \
build-essential \
curl \
unzip \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://github.com/denoland/deno/releases/latest/download/deno-x86_64-unknown-linux-gnu.zip \
-o /tmp/deno.zip && \
unzip /tmp/deno.zip -d /usr/local/bin && \
rm /tmp/deno.zip
WORKDIR /app
RUN git clone --branch master https://git.stormux.org/storm/bragi .
RUN pip install --no-cache-dir -r requirements.txt audioop-lts protobuf && \
pip install --no-cache-dir --upgrade yt-dlp bgutil-ytdlp-pot-provider
# Clone bgutil server so bgutil:script-deno POT provider works in-process
# (avoids HTTP server URL config issues; deno is already installed above)
RUN git clone --depth 1 https://github.com/Brainicism/bgutil-ytdlp-pot-provider \
/root/bgutil-ytdlp-pot-provider && \
cd /root/bgutil-ytdlp-pot-provider/server && \
npm install && \
npx tsc
RUN mkdir -p /data /music
COPY run_bragi.py /app/run_bragi.py
COPY configure.py /configure.py
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
VOLUME ["/data", "/music"]
ENTRYPOINT ["/entrypoint.sh"]