33 lines
1.0 KiB
Docker
33 lines
1.0 KiB
Docker
|
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"]
|