mirror of
https://ceregatti.org/git/daniel/dayzdockerserver.git
synced 2025-05-06 14:21:18 +00:00

Add command line xml merge tool for when that time comes. Add Red Falcon Heliz mod as the work-in-progress for getting a turnkey system that merges many different XML files that a full server mod installation will require. Fix finding a mod by index and use that for all mod operations. Start re-working how mods are added/removed/activated/deactivated. Split the script up into separate files with distinct functionality. WIP. Add a template system for handling mod XML files. Add an express web server to be the provisioning container frontend. Add lots of comments. Add TL;DR for turnkey release server install.
56 lines
1.5 KiB
Docker
56 lines
1.5 KiB
Docker
FROM debian:bullseye
|
|
|
|
# Set debconf to run non-interactively and agree to the SteamCMD EULA
|
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
|
|
|
# Add contrib and backports
|
|
RUN sed -i /etc/apt/sources.list -e 's/main/main contrib non-free/'
|
|
|
|
RUN echo 'deb http://deb.debian.org/debian bullseye-backports main non-free' >> /etc/apt/sources.list
|
|
|
|
# Install _only_ the necessary packages
|
|
RUN apt-get update && apt-get -y upgrade && apt-get -y install --no-install-recommends \
|
|
curl \
|
|
ca-certificates \
|
|
gdb \
|
|
git \
|
|
gwenhywfar-tools \
|
|
jq \
|
|
libsdl2-2.0-0 \
|
|
libcap2 \
|
|
libxml2-utils \
|
|
locales \
|
|
nano \
|
|
procps \
|
|
python3-pip \
|
|
wget
|
|
|
|
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
|
|
RUN update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
|
|
|
|
# Set the locale
|
|
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US:en
|
|
ENV LC_ALL en_US.UTF-8
|
|
|
|
# Add our scripts directory to PATH
|
|
ENV PATH /files:${PATH}
|
|
|
|
# Add py3rcon
|
|
RUN cd /usr/local && git clone https://github.com/indepth666/py3rcon.git
|
|
|
|
# Setup a non-privileged user
|
|
RUN groupadd user && \
|
|
useradd -l -g user user && \
|
|
mkdir -p /home/user /serverfiles/mpmissions /serverfiles/steamapps/workshop/content /profiles /mods && \
|
|
chown -R user:user /home/user /serverfiles /profiles /mods
|
|
|
|
# Use our non-privileged user
|
|
USER user
|
|
|
|
# The dayzserver script expects a home directory to itself.
|
|
WORKDIR /home/user
|
|
|
|
# Run the server.
|
|
CMD ["server.sh"]
|