cs1.6-docker

cs1.6 docker container
Log | Files | Refs | README

Dockerfile (2682B)


      1 ############################################################
      2 # Counter-Strike dedicated server
      3 ############################################################
      4 FROM debian:bookworm-slim
      5 
      6 LABEL maintainer="admin@based.pt"
      7 
      8 ARG PUID=1000
      9 ENV USER=steam \
     10     HOMEDIR=/home/steam \
     11     STEAMCMDDIR=/home/steam/steamcmd \
     12     PORT=27015 \
     13     DATADIR=/data \
     14     MAP=de_dust2
     15 
     16 RUN set -x \
     17     && apt-get update \
     18     && apt-get install -y --no-install-recommends --no-install-suggests \
     19         lib32stdc++6=12.2.0-14+deb12u1 \
     20         lib32gcc-s1=12.2.0-14+deb12u1 \
     21         ca-certificates=20230311+deb12u1 \
     22         nano=7.2-1+deb12u1 \
     23         curl=7.88.1-10+deb12u14 \
     24         locales=2.36-9+deb12u13 \
     25     && sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
     26     && dpkg-reconfigure --frontend=noninteractive locales \
     27     && useradd -u "${PUID}" -m "${USER}" \
     28     && mkdir -p "${STEAMCMDDIR}" "${DATADIR}" \
     29     && chown -R "${USER}:${USER}" "${HOMEDIR}" "${DATADIR}" \
     30     && su "${USER}" -c "\
     31         mkdir -p \"${STEAMCMDDIR}\" \
     32         && curl -fsSL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar xvzf - -C \"${STEAMCMDDIR}\" \
     33         && \"${STEAMCMDDIR}/steamcmd.sh\" +quit \
     34         && ln -s \"${STEAMCMDDIR}/linux32/steamclient.so\" \"${STEAMCMDDIR}/steamservice.so\" \
     35         && mkdir -p \"${HOMEDIR}/.steam/sdk32\" \
     36         && ln -s \"${STEAMCMDDIR}/linux32/steamclient.so\" \"${HOMEDIR}/.steam/sdk32/steamclient.so\" \
     37         && mkdir -p \"${HOMEDIR}/.steam/sdk64\" \
     38         && ln -s \"${STEAMCMDDIR}/linux64/steamclient.so\" \"${HOMEDIR}/.steam/sdk64/steamclient.so\" \
     39         && ln -s \"${STEAMCMDDIR}/steamcmd.sh\" \"${STEAMCMDDIR}/steam.sh\"" \
     40     && ln -s "${STEAMCMDDIR}/linux64/steamclient.so" "/usr/lib/x86_64-linux-gnu/steamclient.so" \
     41     && rm -rf /var/lib/apt/lists/*
     42 
     43 USER ${USER}
     44 WORKDIR ${HOMEDIR}
     45 
     46 EXPOSE ${PORT}/udp
     47 VOLUME ["/data"]
     48 
     49 ENTRYPOINT ["/bin/bash", "-c", "\
     50 if [ ! -f ${DATADIR}/hlds_run ]; then \
     51     echo 'Installing Counter-Strike server...'; \
     52     ${STEAMCMDDIR}/steamcmd.sh +force_install_dir ${DATADIR} +login anonymous \
     53         +app_set_config 90 mod cstrike \
     54         +app_update 90 -beta steam_legacy validate \
     55         +quit; \
     56 else \
     57     if [ \"$UPDATE\" = \"1\" ]; then \
     58         echo 'Updating Counter-Strike server...'; \
     59         ${STEAMCMDDIR}/steamcmd.sh +force_install_dir ${DATADIR} +login anonymous \
     60             +app_update 90 -beta steam_legacy validate \
     61             +quit; \
     62     else \
     63         echo 'Skipping update, starting server...'; \
     64     fi; \
     65 fi; \
     66 cd ${DATADIR} && \
     67 exec bash hlds_run -game cstrike -console +ip 0.0.0.0 -port ${PORT} +map ${MAP}"]