diff --git a/Dockerfile b/Dockerfile index f151e2a..d89467c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,59 +15,62 @@ USER root ## Install Base LinuxGSM Requirements RUN echo "**** Install Base LinuxGSM Requirements ****" \ - && apt-get update \ - && apt-get install -y software-properties-common \ - && add-apt-repository multiverse \ - && apt-get update \ - && apt-get install -y \ - cron \ - bc \ - binutils \ - bsdmainutils \ - bzip2 \ - ca-certificates \ - cpio \ - curl \ - distro-info \ - file \ - git \ - gzip \ - hostname \ - jq \ - lib32gcc-s1 \ - lib32stdc++6 \ - netcat \ - python3 \ - sudo \ - tar \ - tini \ - tmux \ - unzip \ - util-linux \ - wget \ - xz-utils \ - # Docker Extras - iproute2 \ - iputils-ping \ - nano \ - vim + && apt-get update \ + && apt-get install -y software-properties-common \ + && add-apt-repository multiverse \ + && apt-get update \ + && apt-get install -y \ + cron \ + bc \ + binutils \ + bsdmainutils \ + bzip2 \ + ca-certificates \ + cpio \ + curl \ + distro-info \ + file \ + git \ + gzip \ + hostname \ + jq \ + lib32gcc-s1 \ + lib32stdc++6 \ + netcat \ + python3 \ + sudo \ + tar \ + tini \ + tmux \ + unzip \ + util-linux \ + wget \ + xz-utils \ + # Docker Extras + iproute2 \ + iputils-ping \ + nano \ + vim \ + && apt-get -y autoremove \ + && apt-get -y clean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/* \ + && rm -rf /var/tmp/* # Install NodeJS RUN echo "**** Install NodeJS ****" \ - && curl -sL https://deb.nodesource.com/setup_16.x | bash - \ - && apt-get update && apt-get install -y nodejs + && curl -sL https://deb.nodesource.com/setup_16.x | bash - \ + && apt-get update \ + && apt-get install -y nodejs \ + && apt-get -y autoremove \ + && apt-get -y clean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/* \ + && rm -rf /var/tmp/* # Install GameDig https://docs.linuxgsm.com/requirements/gamedig RUN echo "**** Install GameDig ****" \ - && npm install -g gamedig - -# Install Cleanup -RUN echo "**** Cleanup ****" \ - && apt-get -y autoremove \ - && apt-get -y clean \ - && rm -rf /var/lib/apt/lists/* \ - && rm -rf /tmp/* \ - && rm -rf /var/tmp/* + && npm install -g gamedig ##Need use xterm for LinuxGSM## @@ -79,20 +82,20 @@ ARG USER_GID=$USER_UID ## Add linuxgsm user RUN echo "**** Add linuxgsm user ****" \ -# Create the user - && groupadd --gid $USER_GID $USERNAME \ - && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ - # - # [Optional] Add sudo support. Omit if you don't need to install software after connecting. - && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ - && chmod 0440 /etc/sudoers.d/$USERNAME \ - && chown $USERNAME:$USERNAME /home/$USERNAME + # Create the user + && groupadd --gid $USER_GID $USERNAME \ + && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ + # + # [Optional] Add sudo support. Omit if you don't need to install software after connecting. + && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ + && chmod 0440 /etc/sudoers.d/$USERNAME \ + && chown $USERNAME:$USERNAME /home/$USERNAME ## Download linuxgsm.sh RUN echo "**** Download linuxgsm.sh ****" \ - && set -ex \ - && wget -O linuxgsm.sh https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/linuxgsm.sh \ - && chmod +x /linuxgsm.sh + && set -ex \ + && wget -O linuxgsm.sh https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/linuxgsm.sh \ + && chmod +x /linuxgsm.sh WORKDIR /home/linuxgsm ENV PATH=$PATH:/home/linuxgsm @@ -102,13 +105,13 @@ USER linuxgsm RUN steamcmd +quit RUN git clone --filter=blob:none --no-checkout --depth 1 --sparse https://github.com/GameServerManagers/LinuxGSM.git; \ - cd LinuxGSM; \ - git sparse-checkout set lgsm/functions; \ - git checkout; \ - mkdir -p /home/linuxgsm/lgsm/functions; \ - mv lgsm/functions/* /home/linuxgsm/lgsm/functions; \ - chmod +x /home/linuxgsm/lgsm/functions/*; \ - rm -rf /home/linuxgsm/LinuxGSM + cd LinuxGSM; \ + git sparse-checkout set lgsm/functions; \ + git checkout; \ + mkdir -p /home/linuxgsm/lgsm/functions; \ + mv lgsm/functions/* /home/linuxgsm/lgsm/functions; \ + chmod +x /home/linuxgsm/lgsm/functions/*; \ + rm -rf /home/linuxgsm/LinuxGSM # Add LinuxGSM cronjobs RUN (crontab -l 2>/dev/null; echo "*/1 * * * * /home/linuxgsm/*server monitor > /dev/null 2>&1") | crontab -