AI_Diplomacy/twitch-streamer/Dockerfile
2025-06-05 07:29:43 +00:00

46 lines
1.4 KiB
Docker

# chrome-twitch/Dockerfile
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
xvfb \
ffmpeg \
x11vnc \
wget \
gnupg \
ca-certificates \
fonts-liberation \
pulseaudio \
fluxbox \
dbus dbus-x11 \
xdotool \
&& rm -rf /var/lib/apt/lists/*
# Install Google Chrome
RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" \
> /etc/apt/sources.list.d/google-chrome.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
google-chrome-stable \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user and group (chrome:chrome)
# and add user to audio/video groups if needed
RUN groupadd --system chrome \
&& useradd --system --create-home --gid chrome --groups audio,video chrome
# Environment variables for the virtual display
ENV DISPLAY=:1
ENV SCREEN_GEOMETRY=1920x1080x24
# Copy PulseAudio and entrypoint scripts
RUN mkdir /twitch-streamer/
COPY pulse-virtual-audio.sh /twitch-streamer/pulse-virtual-audio.sh
COPY entrypoint.sh /twitch-streamer/entrypoint.sh
COPY chrome-launcher.sh /twitch-streamer/chrome-launcher.sh
RUN chmod +x /twitch-streamer/pulse-virtual-audio.sh /twitch-streamer/entrypoint.sh /twitch-streamer/chrome-launcher.sh
WORKDIR /twitch-streamer/
ENTRYPOINT ["/twitch-streamer/entrypoint.sh"]