From 8477a5dea89c8e120ee5a88280523bbfdd2b78fe Mon Sep 17 00:00:00 2001 From: STAM Date: Tue, 29 Jul 2025 17:51:30 +0300 Subject: [PATCH] [dev] steamcmd update --- .../epicmorg.ecosystem.images.misc.yml | 55 ++++++++++++++++++- linux/ecosystem/steamcmd/Dockerfile | 47 ++++++++++------ 2 files changed, 84 insertions(+), 18 deletions(-) diff --git a/.github/workflows/epicmorg.ecosystem.images.misc.yml b/.github/workflows/epicmorg.ecosystem.images.misc.yml index 31ecb3ee0..60e5f3616 100644 --- a/.github/workflows/epicmorg.ecosystem.images.misc.yml +++ b/.github/workflows/epicmorg.ecosystem.images.misc.yml @@ -547,7 +547,7 @@ jobs: max_attempts: 15 command: make pip - - name: Build and Deploy ninjam + - name: Build and Deploy TelegrabBot Quotes uses: nick-fields/retry@v3 with: retry_wait_seconds: 45 @@ -555,6 +555,59 @@ jobs: max_attempts: 15 command: cd linux/ecosystem/telegram/bot/quotes && make build && make deploy +################################################################################## + + build-steamcmd-image: + name: EpicMorg EcoSystem SteamCMD Image + runs-on: [ ubuntu-24.04 ] + + steps: + - uses: actions/checkout@v4 + with: + clean: true + show-progress: true + submodules: true + + - name: Log into docker registry + uses: nick-fields/retry@v3 + with: + retry_wait_seconds: 45 + timeout_minutes: 600 + max_attempts: 15 + command: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Log into Quay.IO registry + uses: nick-fields/retry@v3 + with: + retry_wait_seconds: 45 + timeout_minutes: 600 + max_attempts: 15 + command: echo "${{ secrets.QUAY_SERVER_KEY }}" | docker login -u "${{ secrets.QUAY_SERVER_LOGIN }}" --password-stdin "${{ secrets.QUAY_SERVER_URL }}" + + - name: Check buildah + uses: nick-fields/retry@v3 + with: + retry_wait_seconds: 45 + timeout_minutes: 600 + max_attempts: 15 + command: buildah --version + + - name: Test Make + uses: nick-fields/retry@v3 + with: + retry_wait_seconds: 45 + timeout_minutes: 600 + max_attempts: 15 + command: make + + - name: Build and Deploy SteamCMD + uses: nick-fields/retry@v3 + with: + retry_wait_seconds: 45 + timeout_minutes: 600 + max_attempts: 15 + command: cd linux/ecosystem/steamcmd && make build && make deploy + ################################################################################## - name: Cleanup diff --git a/linux/ecosystem/steamcmd/Dockerfile b/linux/ecosystem/steamcmd/Dockerfile index 905cdf702..e046cd537 100644 --- a/linux/ecosystem/steamcmd/Dockerfile +++ b/linux/ecosystem/steamcmd/Dockerfile @@ -2,16 +2,18 @@ FROM epicmorg/debian:bookworm LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive -ARG DOWNLOAD_URL=http://media.steampowered.com/installer/steamcmd_linux.tar.gz +#ARG DOWNLOAD_URL=http://media.steampowered.com/installer/steamcmd_linux.tar.gz +ARG DOWNLOAD_URL=http://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz -ENV LD_LIBRARY_PATH=/steamcmd/linux64 -ENV VALVE_FOLDER=/valve -ENV VALVE_STEAMCMD_FOLDER=${VALVE_FOLDER}/steamcmd +ENV VALVE_FOLDER=${EMG_LOCAL_BASE_DIR}/valve ENV VALVE_GAME_FOLDER=${VALVE_FOLDER}/game ENV VALVE_VOLUME_FOLDER=${VALVE_FOLDER}/volume -ENV PATH="${VALVE_STEAMCMD_FOLDER}:${PATH}" +ENV VALVE_STEAMCMD_FOLDER=${VALVE_FOLDER}/steamcmd +ENV VALVE_STEAMCMD_LOGS=${VALVE_STEAMCMD_FOLDER}/logs +ARG VALVE_STEAMCMD_TEMP=/tmp/steamcmd_linux.tar.gz -WORKDIR ${VALVE_STEAMCMD_FOLDER} +ENV PATH="${VALVE_STEAMCMD_FOLDER}:${PATH}" +ENV LD_LIBRARY_PATH=/${VALVE_STEAMCMD_FOLDER}/linux64 ################################################################## # installing steamcmd @@ -29,24 +31,35 @@ RUN wget -c \ --read-timeout=20 \ --progress=dot:giga \ --no-clobber \ - -O /${VALVE_STEAMCMD_FOLDER}/$(basename "${DOWNLOAD_URL}") \ + -O ${VALVE_STEAMCMD_TEMP} \ "${DOWNLOAD_URL}" RUN dpkg --add-architecture i386 && \ apt-get update && \ - apt-get autoremove -y && \ - apt-get install -y --allow-unauthenticated gcc-multilib lib32stdc++6 lib32gcc1 && \ - tar -xvf $VALVE_STEAMCMD_FOLDER/steamcmd_linux.tar.gz -C $VALVE_STEAMCMD_FOLDER && \ - ln -s $VALVE_STEAMCMD_FOLDER/steamcmd.sh $VALVE_STEAMCMD_FOLDER/steamcmd && \ - ln -s $VALVE_STEAMCMD_FOLDER/steam.sh $VALVE_STEAMCMD_FOLDER/steam && \ + apt-get install -y --allow-unauthenticated \ + gcc-multilib \ + lib32stdc++6 \ + lib32gcc-s1 \ + curl && \ + tar -xvf ${VALVE_STEAMCMD_TEMP} -C ${VALVE_STEAMCMD_FOLDER} && \ + ln -sfv ${VALVE_STEAMCMD_FOLDER} /root/Steam && \ + ln -sfv ${VALVE_STEAMCMD_FOLDER}/steamcmd.sh ${VALVE_STEAMCMD_FOLDER}/steamcmd && \ + ln -sfv ${VALVE_STEAMCMD_FOLDER}/steam.sh ${VALVE_STEAMCMD_FOLDER}/steam && \ steamcmd +quit ################################################################## # cleaninig up ################################################################## -RUN apt clean -y && \ - apt autoclean -y && \ - rm -rfv $VALVE_STEAMCMD_FOLDER/steamcmd_linux.tar.gz && \ - rm -rfv /tmp/ && \ +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ rm -rfv /var/lib/apt/lists/* && \ - rm -rfv /var/cache/apt/archives/*.deb + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* + + +WORKDIR ${VALVE_STEAMCMD_FOLDER} +VOLUME ${VALVE_STEAMCMD_LOGS} ${VALVE_VOLUME_FOLDER} + +RUN updatedb