Files
DayZServer/docker-compose.yml
2025-12-07 17:58:17 +02:00

61 lines
1.6 KiB
YAML

services:
server:
build:
context: .
dockerfile_inline: |
FROM steamcmd/steamcmd:ubuntu-18
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y libcap-dev rsync && \
rm -rf /var/lib/apt/lists/*
RUN addgroup --gid 1000 admin && \
adduser --no-create-home --uid 1000 --gid 1000 admin
ENV SERVER_DIR=/server
RUN mkdir -p $${SERVER_DIR}
RUN chown -R admin:admin /root/
USER admin
RUN steamcmd +quit
ports:
- "2306-2309:2306-2309/udp"
- "27017:27017/udp"
volumes:
- steam_persist:/root/.steam/
- ./server:/server
- ./scripts:/scripts:ro
user: "1000:1000"
env_file: ".env"
entrypoint: ["/bin/sh", "-c"]
command:
- |
set -e
cd "$${SERVER_DIR}/"
echo "Updating DayZ Server..."
steamcmd \
+force_install_dir "$${SERVER_DIR}" \
+login "$${STEAM_CMD_USER}" "$${STEAM_CMD_PASSWORD}" \
+app_update 223350 \
+quit
echo "Installing mods..."
/scripts/install_mods.sh "$${MOD_IDS}" "$${SERVER_DIR}"
echo "Copying keys..."
/scripts/install_keys.sh "$${SERVER_DIR}" "$${SERVER_DIR}/keys"
echo "Starting server..."
./DayZServer \
-config="$${SERVER_DIR}/serverDZ.cfg" \
-mod="$${MOD_IDS}" \
-port=2306 \
-steamQueryPort=27017 \
-profiles="$${SERVER_DIR}/profiles"
volumes:
# Persistent steam folder to skip 2FA after first login and preserve downloaded content
steam_persist: {}