doom-docker/Dockerfile
2023-11-13 09:45:11 -05:00

57 lines
1.6 KiB
Docker

# Cause fuck Ubuntu
FROM debian:bookworm-slim
# Default environment variables
ENV DEBIAN_FRONTEND noninteractive
ENV IWAD doom1.wad
ENV CONFIG default.cfg
ENV SERVER_NAME Docker-Doom
ENV START_MAP E1M1
# Update the OS
RUN apt-get update --yes
RUN apt-get upgrade --yes
# Helper libraries for adding repo
RUN apt-get install --yes dialog apt-utils wget
# Adding Zandronum repo and installing the application
RUN wget -O /etc/apt/trusted.gpg.d/drdteam.gpg https://debian.drdteam.org/drdteam.gpg
RUN echo "deb https://debian.drdteam.org stable multiverse" >> /etc/apt/sources.list
RUN apt-get update --yes
RUN apt-get upgrade --yes
RUN apt-get install --yes --quiet libsdl-image1.2 zandronum
# Create a non-privileged user
RUN useradd -ms /bin/bash server
# Build the app directory and add files
RUN mkdir /home/server/config && \
mkdir /home/server/wad/ && \
mkdir /home/server/iwad/ && \
mkdir /home/server/bin/ && \
mkdir /home/server/player/ && \
mkdir /home/server/logs/
COPY /config/ /home/server/config/
COPY /bin/ /home/server/bin/
COPY /player/ /home/server/player/
COPY /iwad/ /home/server/iwad/
COPY /wad/ /home/server/wad/
# RUN wget -O /home/server/config/masterbanlist.txt https://zandronum.com/banlist && \
# cat masterbanlist.txt >> /home/server/player/banlist.txt
# Zandronum has a config 'sv_enforcemasterlist'
# so this isnt needed unless you want a local static copy
USER root
RUN chown -R server:server /home/server
USER server
WORKDIR /home/server
RUN chmod +x /home/server/bin/start.bash
CMD ["/home/server/bin/start.bash"]
ENTRYPOINT [ "/home/server/bin/start.bash" ]
EXPOSE 10666