cs1.6-docker/Dockerfile

51 lines
2.3 KiB
Docker

############################################################
# Counter-Strike dedicated server
############################################################
FROM debian:bookworm-slim
LABEL maintainer="admin@based.pt"
ARG PUID=1000
ENV USER=steam \
HOMEDIR=/home/steam \
STEAMCMDDIR=/home/steam/steamcmd \
PORT=27015 \
DATADIR=/data
RUN set -x \
&& apt-get update \
&& apt-get install -y --no-install-recommends --no-install-suggests \
lib32stdc++6=12.2.0-14+deb12u1 \
lib32gcc-s1=12.2.0-14+deb12u1 \
ca-certificates=20230311+deb12u1 \
nano=7.2-1+deb12u1 \
curl=7.88.1-10+deb12u14 \
locales=2.36-9+deb12u13 \
&& sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
&& dpkg-reconfigure --frontend=noninteractive locales \
&& useradd -u "${PUID}" -m "${USER}" \
&& mkdir -p "${STEAMCMDDIR}" "${DATADIR}" \
&& chown -R "${USER}:${USER}" "${HOMEDIR}" "${DATADIR}" \
&& su "${USER}" -c \
"mkdir -p \"${STEAMCMDDIR}\" \
&& curl -fsSL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar xvzf - -C \"${STEAMCMDDIR}\" \
&& \"./${STEAMCMDDIR}/steamcmd.sh\" +quit \
&& ln -s \"${STEAMCMDDIR}/linux32/steamclient.so\" \"${STEAMCMDDIR}/steamservice.so\" \
&& mkdir -p \"${HOMEDIR}/.steam/sdk32\" \
&& ln -s \"${STEAMCMDDIR}/linux32/steamclient.so\" \"${HOMEDIR}/.steam/sdk32/steamclient.so\" \
&& ln -s \"${STEAMCMDDIR}/linux32/steamcmd\" \"${STEAMCMDDIR}/linux32/steam\" \
&& mkdir -p \"${HOMEDIR}/.steam/sdk64\" \
&& ln -s \"${STEAMCMDDIR}/linux64/steamclient.so\" \"${HOMEDIR}/.steam/sdk64/steamclient.so\" \
&& ln -s \"${STEAMCMDDIR}/linux64/steamcmd\" \"${STEAMCMDDIR}/linux64/steam\" \
&& ln -s \"${STEAMCMDDIR}/steamcmd.sh\" \"${STEAMCMDDIR}/steam.sh\"" \
&& ln -s "${STEAMCMDDIR}/linux64/steamclient.so" "/usr/lib/x86_64-linux-gnu/steamclient.so" \
&& rm -rf /var/lib/apt/lists/*
USER ${USER}
WORKDIR ${HOMEDIR}
EXPOSE ${PORT}/udp
VOLUME ["/data"]
ENTRYPOINT ["/bin/bash", "-c", "/home/steam/steamcmd/steamcmd.sh +force_install_dir /data +login anonymous +app_set_config 90 mod cstrike +app_update 90 validate +quit && cd /data && exec bash hlds_run -game cstrike -console +ip 0.0.0.0 -port ${PORT}"]