gametube/docker/Dockerfile

33 lines
1.0 KiB
Docker
Raw Permalink Normal View History

2025-01-03 05:01:31 +01:00
FROM golang:1 AS build
WORKDIR /server
COPY ./server/ /server
RUN go build -o gametube ./cmd/gametube/
FROM ubuntu:noble
ENV DEBIAN_FRONTEND=noninteractive \
DISPLAY=:99 \
PULSE_SERVER=unix:/tmp/pulse/native
RUN apt-get update && apt-get install -y --no-install-recommends \
xvfb \
openbox \
pulseaudio \
ffmpeg \
dbus-x11 \
x11-utils \
wget \
ca-certificates \
x11-xkb-utils xkb-data \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /etc/xdg/openbox && \
echo "<openbox_menu>\n</openbox_menu>" > /etc/xdg/openbox/menu.xml
RUN mkdir -p /tmp/.X11-unix && chmod 1777 /tmp/.X11-unix
RUN useradd -m -s /bin/bash gametube
RUN mkdir -p /etc/pulse /var/run/pulse /tmp/pulse /run/user/1000 && \
chown -R gametube:gametube /etc/pulse /var/run/pulse /tmp/pulse /run/user/1000
COPY ./docker/pulse-client.conf /etc/pulse/client.conf
COPY --from=build /server/gametube /home/gametube/bin/gametube
RUN chmod 777 /home/gametube/bin/gametube
USER gametube
WORKDIR /home/gametube
ENTRYPOINT ["/home/gametube/bin/gametube"]