34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
FROM ubuntu
|
|
RUN echo steam steam/question select "I AGREE" | debconf-set-selections \
|
|
&& echo steam steam/license note '' | debconf-set-selections
|
|
RUN dpkg --add-architecture i386 \
|
|
&& apt-get update -y \
|
|
&& apt-get install -y steamcmd locales ca-certificates
|
|
|
|
# Add unicode support
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
RUN locale-gen en_US.UTF-8
|
|
ENV LANG 'en_US.UTF-8'
|
|
ENV LANGUAGE 'en_US:en'
|
|
|
|
# Create symlink for executable
|
|
RUN ln -s /usr/games/steamcmd /usr/bin/steamcmd
|
|
RUN mkdir -p /opt/server
|
|
|
|
RUN useradd garrysmod
|
|
RUN mkdir -p /home/garrysmod/.steam && chown -R garrysmod:garrysmod /home/garrysmod /opt/server
|
|
|
|
USER garrysmod
|
|
|
|
WORKDIR /opt/server
|
|
RUN steamcmd +force_install_dir /opt/server +login anonymous +force_install_dir /opt/server +app_update 4020 validate +quit
|
|
EXPOSE 27015/udp
|
|
|
|
RUN ln -s $HOME/.local/share/Steam/steamcmd/linux32 /home/garrysmod/.steam/sdk32 \
|
|
&& ln -s $HOME/.local/share/Steam/steamcmd/linux64 /home/garrysmod/.steam/sdk64 \
|
|
&& ln -s $HOME/.steam/sdk32/steamclient.so /home/garrysmod/.steam/sdk32/steamservice.so \
|
|
&& ln -s $HOME/.steam/sdk64/steamclient.so /home/garrysmod/.steam/sdk64/steamservice.so
|
|
ENTRYPOINT [ "/opt/server/srcds_run", "-console", "-game", "garrysmod" ]
|
|
CMD [ "+gamemode", "sandbox", "+map" ,"gm_construct" ,"+maxplayers", "16" ]
|
|
LABEL type=GAME
|