From 9c98c8ad60616ed22e7125baea8fa8a5d964142f Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Sun, 12 May 2024 21:47:12 -0700 Subject: [PATCH 01/19] rewrite --- .gitignore | 3 ++ Dockerfile.alpine | 101 +++++++++++++++++++++++++++++++++++++++++ docker-compose-dev.yml | 12 +++-- entrypoint.alpine.sh | 81 +++++++++++++++++++++++++++++++++ 4 files changed, 194 insertions(+), 3 deletions(-) create mode 100644 Dockerfile.alpine create mode 100644 entrypoint.alpine.sh diff --git a/.gitignore b/.gitignore index 617f925..354bfa3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ ### Linux template *~ +# Exclude any file inside the server and server-dev directory +server/* +server-dev/* # temporary files which can be created if a process still has a handle open of a deleted file .fuse_hidden* diff --git a/Dockerfile.alpine b/Dockerfile.alpine new file mode 100644 index 0000000..4dfda2b --- /dev/null +++ b/Dockerfile.alpine @@ -0,0 +1,101 @@ +## +## StayInTarkov LINUX Container +## + +ARG NODE=20.11.1 + +FROM alpine as git +RUN apk add git git-lfs + +ARG SIT_COMMIT +ARG SIT_BRANCH=development +ARG SIT_PR +ARG SPT_COMMIT +ARG SPT_BRANCH=master +ARG SPT_PR + + +FROM git as spt +WORKDIR /opt +# invalidate cache and repull if upstream is different. +ADD https://dev.sp-tarkov.com/api/v1/repos/SPT-AKI/Server/git/refs/heads/${SPT_BRANCH} /opt/spt_version.json +# pull pr if provided, pull commit if provided, else single branch. +RUN if [ -n "$SPT_PR" ] && echo "$SPT_PR" | grep -Eq "^[0-9]+$"; then \ + git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git spt && \ + cd spt && \ + git fetch origin pull/$SPT_PR/head:pr_$SPT_PR && \ + git checkout pr_$SPT_PR && \ + git-lfs pull; \ + elif [ -n "$SPT_COMMIT" ]; then \ + git clone --single-branch --branch $SPT_BRANCH https://dev.sp-tarkov.com/SPT-AKI/Server.git spt && \ + cd spt && \ + git checkout $SPT_COMMIT && \ + git-lfs pull; \ + else \ + git clone --single-branch --branch $SPT_BRANCH https://dev.sp-tarkov.com/SPT-AKI/Server.git spt && \ + cd spt && \ + git-lfs pull; \ + fi + +FROM git as sit +WORKDIR /opt +# invalidate cache and repull if upstream is different. +ADD https://api.github.com/repos/stayintarkov/SIT.Aki-Server-Mod/git/refs/heads/development /opt/sit_version.json +# pull pr if provided, pull commit if provided, else single branch. +RUN if [ -n "$SIT_PR" ] && echo "$SIT_PR" | grep -Eq "^[0-9]+$"; then \ + git clone https://github.com/stayintarkov/SIT.Aki-Server-Mod.git sit && \ + cd sit && \ + git fetch origin pull/$SIT_PR/head:pr_$SIT_PR && \ + git checkout pr_$SIT_PR && \ + echo "pr_${SIT_PR}" > /opt/sit/version; \ + elif [ -n "$SIT_COMMIT" ]; then \ + git clone --single-branch --branch $SIT_BRANCH https://github.com/stayintarkov/SIT.Aki-Server-Mod.git sit && \ + cd sit && \ + git checkout $SIT_COMMIT && \ + echo "$SIT_COMMIT" > /opt/sit/version; \ + else \ + git clone --single-branch --branch $SIT_BRANCH https://github.com/stayintarkov/SIT.Aki-Server-Mod.git sit && \ + cat /opt/sit_version.json | sed -n 's/.*"sha":"\([^"]*\)".*/\1/p' > /opt/sit/version; \ + fi +RUN echo "SIT version: $(cat /opt/sit/version)" + +FROM node:${NODE}-alpine as builder +# spt needs git to build:release +RUN apk add git +COPY --from=spt /opt/spt /opt/builder +WORKDIR /opt/builder/project +RUN npm install +RUN npm run build:release +RUN mv build/ /opt/server/ +COPY --from=sit /opt/sit /opt/server/user/mods/SITCoop +WORKDIR /opt/server/user/mods/SITCoop +RUN npm install +RUN rm -rf .git +RUN rm -rf /opt/builder + +FROM alpine as server +RUN apk update +RUN apk --no-cache add libgcc libstdc++ libc6-compat screen dos2unix +RUN rm -rf /var/cache/apk/* + +FROM server +WORKDIR /opt +COPY --from=builder /opt/server /opt/srv +COPY ./entrypoint.alpine.sh /opt/entrypoint.sh +# Fix for Windows +RUN dos2unix /opt/entrypoint.sh +# Set permissions +#RUN chmod o+rwx /opt -R +RUN chmod +x /opt/entrypoint.sh + +# Exposing ports +EXPOSE 6969 +EXPOSE 6970 +EXPOSE 6971 + +VOLUME ["/opt/server"] + +WORKDIR /opt/server +ENTRYPOINT ["/opt/entrypoint.sh"] +# Specify the default command to run when the container starts +CMD ["/opt/server/Aki.Server.exe"] \ No newline at end of file diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index ded516c..41172de 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -2,12 +2,18 @@ services: tarkov-sitcoop-dev: build: context: . + dockerfile: Dockerfile.alpine args: SIT_BRANCH: "development" - SIT: "HEAD^" - SPT_BRANCH: "3.8.1-DEV" - SPT: "HEAD^" + SIT_COMMIT: + SIT_PR: + SPT_BRANCH: "master" + SPT_COMMIT: + SPT_PR: container_name: sitcoop-dev + environment: + - BACKEND_IP=CHAGEME + #- SERVER_NAME=SIT volumes: - ./server-dev:/opt/server ports: diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh new file mode 100644 index 0000000..7a00f35 --- /dev/null +++ b/entrypoint.alpine.sh @@ -0,0 +1,81 @@ +#!/bin/ash + +# Read the existing version from the version file (if it exists) +EXISTING_VERSION=$(cat /opt/server/version 2>/dev/null) +SIT_VERSION=$(cat /opt/srv/user/mods/SITCoop/version 2>/dev/null) + +# Grab container IP and user ENV input if exists else default +SPT_IP=${CONTAINER_IP:-0.0.0.0} +SPT_BACKEND_IP=${BACKEND_IP:-127.0.0.1} +NEW_SERVER_NAME=${SERVER_NAME:-$SIT_VERSION} + + +echo "Stay In Tarkov Docker" +echo "github.com/StayInTarkov" + +sit_setup() { +if [ -d "/opt/srv" ]; then + start=$(date +%s) + echo "Started copying files to your volume/directory.. Please wait." + cp -r /opt/srv/* /opt/server/ + rm -r /opt/srv + end=$(date +%s) + + echo "Files copied to your machine in $(($end-$start)) seconds." + echo "Starting the server to generate all the required files" + cd /opt/server + chown $(id -u):$(id -g) ./* -Rf + echo "set SPT_IP to CONTAINER_IP: $SPT_IP, updating http.json" + sed -ir 's/"ip": .*,/"ip": "'$SPT_IP'",/' /opt/server/Aki_Data/Server/configs/http.json + + echo "BACKEND_IP: $SPT_BACKEND_IP, updating http.json" + sed -ir 's/"backendIp": .*,/"backendIp": "'$SPT_BACKEND_IP'",/' /opt/server/Aki_Data/Server/configs/http.json + + sed -i "s/\"serverName\": \".*\"/\"serverName\": \"SIT $NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json + MODIFIED_NAME=$(sed -n 's/.*"serverName": "\([^"]*\)".*/\1/p' /opt/server/Aki_Data/Server/configs/core.json) + echo "Server Name: $MODIFIED_NAME, updating core.json" + # boot server once in bg to generate files. + screen -L -Logfile "install.log" -d -m -S AkiServer ./Aki.Server.exe + while [ ! -f "/opt/server/user/mods/SITCoop/config/coopConfig.json" ]; do + sleep 10 # sleep till coopConfig.json is generated + done + screen -S AkiServer -X "^C" # kill Aki.Server + echo "Follow the instructions to proceed!" +fi +} + +# perform one-time server setup if no version file is found +if [ ! -e "/opt/server/version" ]; then + echo "No version file found, running first-time setup..." + + sit_setup + + # will prevent setup from running again + echo "saving $SIT_VERSION to /opt/server/version" + printf "%s" "$SIT_VERSION" > /opt/server/version + echo "SIT Version installed: $(cat /opt/server/version)" + exit 0 +# existing version out of date run setup again. +elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ] && [ -d "/opt/srv" ]; then + echo "new SIT version: $SIT_VERSION found" + echo "existing SIT version: $EXISTING_VERSION outdated, regenerating files." + + sit_setup + + # will prevent setup from running again + echo "saving $SIT_VERSION to /opt/server/version" + printf "%s" "$SIT_VERSION" > /opt/server/version + echo "SIT Version updated: $(cat /opt/server/version)" + exit 0 +else + echo "existing SIT version: $EXISTING_VERSION" + echo "no update found, starting SIT..." +fi + +# delete js n js.map files from existing mods (ignore SITCoop) and make sure server generates them fresh to prevent errors from copying windows artifact files. +find /opt/server/user/mods -type d -name "SITCoop" -prune -o \ +-type f \( -name "*.js" -o -name "*.js.map" \) \ +-exec sh -c 'for x; do ts="${x%.*}.ts"; [ -f "$ts" ] && rm "$x"; done' _ {} + + +# continue to run whichever command was passed in (typically running Aki.Server.exe) +exec "$@" From 1d6b24c702822d56e56b521dbdbe259e8763f46d Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Sun, 12 May 2024 21:56:15 -0700 Subject: [PATCH 02/19] clean up --- Dockerfile.alpine | 2 +- entrypoint.alpine.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 4dfda2b..9d6157a 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -40,7 +40,7 @@ RUN if [ -n "$SPT_PR" ] && echo "$SPT_PR" | grep -Eq "^[0-9]+$"; then \ FROM git as sit WORKDIR /opt # invalidate cache and repull if upstream is different. -ADD https://api.github.com/repos/stayintarkov/SIT.Aki-Server-Mod/git/refs/heads/development /opt/sit_version.json +ADD https://api.github.com/repos/stayintarkov/SIT.Aki-Server-Mod/git/refs/heads/${SIT_BRANCH} /opt/sit_version.json # pull pr if provided, pull commit if provided, else single branch. RUN if [ -n "$SIT_PR" ] && echo "$SIT_PR" | grep -Eq "^[0-9]+$"; then \ git clone https://github.com/stayintarkov/SIT.Aki-Server-Mod.git sit && \ diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 7a00f35..d8bb586 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -25,7 +25,7 @@ if [ -d "/opt/srv" ]; then echo "Starting the server to generate all the required files" cd /opt/server chown $(id -u):$(id -g) ./* -Rf - echo "set SPT_IP to CONTAINER_IP: $SPT_IP, updating http.json" + echo "set SPT_IP: $SPT_IP, updating http.json" sed -ir 's/"ip": .*,/"ip": "'$SPT_IP'",/' /opt/server/Aki_Data/Server/configs/http.json echo "BACKEND_IP: $SPT_BACKEND_IP, updating http.json" From 9790e0a89bfcbd9f0ce387b056a07eabe8e10c9a Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Sun, 12 May 2024 22:06:20 -0700 Subject: [PATCH 03/19] not needed --- entrypoint.alpine.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index d8bb586..8c5be57 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -4,8 +4,8 @@ EXISTING_VERSION=$(cat /opt/server/version 2>/dev/null) SIT_VERSION=$(cat /opt/srv/user/mods/SITCoop/version 2>/dev/null) -# Grab container IP and user ENV input if exists else default -SPT_IP=${CONTAINER_IP:-0.0.0.0} +# Grab user ENV input if exists else default +SPT_IP=-0.0.0.0 SPT_BACKEND_IP=${BACKEND_IP:-127.0.0.1} NEW_SERVER_NAME=${SERVER_NAME:-$SIT_VERSION} From 9c7303e19d2e80b790167174e86e2483a5395594 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Sun, 12 May 2024 22:11:55 -0700 Subject: [PATCH 04/19] typo --- entrypoint.alpine.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 8c5be57..02b604a 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -5,9 +5,9 @@ EXISTING_VERSION=$(cat /opt/server/version 2>/dev/null) SIT_VERSION=$(cat /opt/srv/user/mods/SITCoop/version 2>/dev/null) # Grab user ENV input if exists else default -SPT_IP=-0.0.0.0 +SPT_IP=0.0.0.0 SPT_BACKEND_IP=${BACKEND_IP:-127.0.0.1} -NEW_SERVER_NAME=${SERVER_NAME:-$SIT_VERSION} +NEW_SERVER_NAME=${SERVER_NAME:-SIT $SIT_VERSION} echo "Stay In Tarkov Docker" @@ -31,7 +31,7 @@ if [ -d "/opt/srv" ]; then echo "BACKEND_IP: $SPT_BACKEND_IP, updating http.json" sed -ir 's/"backendIp": .*,/"backendIp": "'$SPT_BACKEND_IP'",/' /opt/server/Aki_Data/Server/configs/http.json - sed -i "s/\"serverName\": \".*\"/\"serverName\": \"SIT $NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json + sed -i "s/\"serverName\": \".*\"/\"serverName\": \"$NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json MODIFIED_NAME=$(sed -n 's/.*"serverName": "\([^"]*\)".*/\1/p' /opt/server/Aki_Data/Server/configs/core.json) echo "Server Name: $MODIFIED_NAME, updating core.json" # boot server once in bg to generate files. From d8f197751ff02f958277431a61da224e19b17fad Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Sun, 12 May 2024 22:28:49 -0700 Subject: [PATCH 05/19] more typos --- docker-compose-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 41172de..cefede3 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -12,7 +12,7 @@ services: SPT_PR: container_name: sitcoop-dev environment: - - BACKEND_IP=CHAGEME + - BACKEND_IP=CHANGEME #- SERVER_NAME=SIT volumes: - ./server-dev:/opt/server From 490c496f1e41954241195f073f1302e5d4054bf9 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Mon, 13 May 2024 00:50:01 -0700 Subject: [PATCH 06/19] save 2.2mb --- Dockerfile.alpine | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 9d6157a..808381b 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -74,9 +74,9 @@ RUN rm -rf .git RUN rm -rf /opt/builder FROM alpine as server -RUN apk update -RUN apk --no-cache add libgcc libstdc++ libc6-compat screen dos2unix -RUN rm -rf /var/cache/apk/* +RUN apk update && \ +apk --no-cache add libgcc libstdc++ libc6-compat screen dos2unix && \ +rm -rf /var/cache/apk/* FROM server WORKDIR /opt From 0dff42425739035bc40036a9cde8396e93293a68 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Mon, 13 May 2024 01:08:06 -0700 Subject: [PATCH 07/19] Update docker-compose.yml forgot to update docker-compose --- docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 48547e8..ccac331 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,9 @@ services: tarkov-sitcoop: image: stayintarkov/stayintarkov:latest container_name: sitcoop + environment: + - BACKEND_IP=CHANGEME + #- SERVER_NAME=SIT volumes: - ./server:/opt/server ports: From 0bb6cce073d530dfb099edce028c8b476a6e1714 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Mon, 13 May 2024 20:09:19 -0700 Subject: [PATCH 08/19] HEADLESS and UPDATE flag support --- Dockerfile.alpine | 23 ++++++++---- docker-compose-dev.yml | 10 +++-- docker-compose.yml | 6 ++- entrypoint.alpine.sh | 83 +++++++++++++++++++++++++----------------- 4 files changed, 76 insertions(+), 46 deletions(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 808381b..8e5cdb0 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -1,6 +1,9 @@ -## -## StayInTarkov LINUX Container -## + +# StayInTarkov LINUX Container +# +# Copyright 2024 StayInTarkov +# Use of this source code is governed by an MIT +# license that can be found in the LICENSE file. ARG NODE=20.11.1 @@ -57,7 +60,7 @@ RUN if [ -n "$SIT_PR" ] && echo "$SIT_PR" | grep -Eq "^[0-9]+$"; then \ git clone --single-branch --branch $SIT_BRANCH https://github.com/stayintarkov/SIT.Aki-Server-Mod.git sit && \ cat /opt/sit_version.json | sed -n 's/.*"sha":"\([^"]*\)".*/\1/p' > /opt/sit/version; \ fi -RUN echo "SIT version: $(cat /opt/sit/version)" + FROM node:${NODE}-alpine as builder # spt needs git to build:release @@ -75,17 +78,17 @@ RUN rm -rf /opt/builder FROM alpine as server RUN apk update && \ -apk --no-cache add libgcc libstdc++ libc6-compat screen dos2unix && \ +apk --no-cache add libgcc libstdc++ libc6-compat curl screen dos2unix && \ rm -rf /var/cache/apk/* -FROM server +FROM server as development +ENV buildver "development" WORKDIR /opt COPY --from=builder /opt/server /opt/srv COPY ./entrypoint.alpine.sh /opt/entrypoint.sh # Fix for Windows RUN dos2unix /opt/entrypoint.sh # Set permissions -#RUN chmod o+rwx /opt -R RUN chmod +x /opt/entrypoint.sh # Exposing ports @@ -98,4 +101,8 @@ VOLUME ["/opt/server"] WORKDIR /opt/server ENTRYPOINT ["/opt/entrypoint.sh"] # Specify the default command to run when the container starts -CMD ["/opt/server/Aki.Server.exe"] \ No newline at end of file +CMD ["/opt/server/Aki.Server.exe"] + +FROM development as release +ENV buildver "release" +RUN sed -n 's/.*"version": "\(.*\)".*/\1/p' /opt/srv/user/mods/SITCoop/package.json > /opt/srv/user/mods/SITCoop/version diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index cefede3..7a7feea 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -3,17 +3,21 @@ services: build: context: . dockerfile: Dockerfile.alpine + target: release args: SIT_BRANCH: "development" SIT_COMMIT: - SIT_PR: + SIT_PR: 53 SPT_BRANCH: "master" SPT_COMMIT: SPT_PR: container_name: sitcoop-dev + # command: /bin/ash environment: - - BACKEND_IP=CHANGEME - #- SERVER_NAME=SIT + - BACKEND_IP= + - SERVER_NAME= + - HEADLESS=true + - UPDATE=false volumes: - ./server-dev:/opt/server ports: diff --git a/docker-compose.yml b/docker-compose.yml index ccac331..1f81baf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,10 @@ services: image: stayintarkov/stayintarkov:latest container_name: sitcoop environment: - - BACKEND_IP=CHANGEME - #- SERVER_NAME=SIT + - BACKEND_IP= + - SERVER_NAME= + - HEADLESS=true + - UPDATE=false volumes: - ./server:/opt/server ports: diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 02b604a..228d048 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -1,20 +1,27 @@ #!/bin/ash +# Copyright 2024 StayInTarkov +# Use of this source code is governed by an MIT +# license that can be found in the LICENSE file. + # Read the existing version from the version file (if it exists) EXISTING_VERSION=$(cat /opt/server/version 2>/dev/null) SIT_VERSION=$(cat /opt/srv/user/mods/SITCoop/version 2>/dev/null) # Grab user ENV input if exists else default -SPT_IP=0.0.0.0 -SPT_BACKEND_IP=${BACKEND_IP:-127.0.0.1} +HEADLESS=${HEADLESS:-true} +UPDATE=${UPDATE:-false} +SPT_IP=${SPT_IP:-0.0.0.0} +SPT_BACKEND_IP=${BACKEND_IP:-$(curl -s4 ipv4.icanhazip.com)} NEW_SERVER_NAME=${SERVER_NAME:-SIT $SIT_VERSION} +#DBUG +echo "DEBUG build: $buildver, HEADLESS: $HEADLESS, UPDATE: $UPDATE" echo "Stay In Tarkov Docker" -echo "github.com/StayInTarkov" +echo "github.com/StayInTarkov/SIT.Docker" sit_setup() { -if [ -d "/opt/srv" ]; then start=$(date +%s) echo "Started copying files to your volume/directory.. Please wait." cp -r /opt/srv/* /opt/server/ @@ -25,7 +32,8 @@ if [ -d "/opt/srv" ]; then echo "Starting the server to generate all the required files" cd /opt/server chown $(id -u):$(id -g) ./* -Rf - echo "set SPT_IP: $SPT_IP, updating http.json" + + echo "SPT_IP: $SPT_IP, updating http.json" sed -ir 's/"ip": .*,/"ip": "'$SPT_IP'",/' /opt/server/Aki_Data/Server/configs/http.json echo "BACKEND_IP: $SPT_BACKEND_IP, updating http.json" @@ -34,45 +42,54 @@ if [ -d "/opt/srv" ]; then sed -i "s/\"serverName\": \".*\"/\"serverName\": \"$NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json MODIFIED_NAME=$(sed -n 's/.*"serverName": "\([^"]*\)".*/\1/p' /opt/server/Aki_Data/Server/configs/core.json) echo "Server Name: $MODIFIED_NAME, updating core.json" - # boot server once in bg to generate files. + + # remove previous install.log n boot server once in bg to generate files. + rm /opt/server/install.log screen -L -Logfile "install.log" -d -m -S AkiServer ./Aki.Server.exe while [ ! -f "/opt/server/user/mods/SITCoop/config/coopConfig.json" ]; do sleep 10 # sleep till coopConfig.json is generated done screen -S AkiServer -X "^C" # kill Aki.Server - echo "Follow the instructions to proceed!" -fi } # perform one-time server setup if no version file is found -if [ ! -e "/opt/server/version" ]; then - echo "No version file found, running first-time setup..." - - sit_setup - - # will prevent setup from running again - echo "saving $SIT_VERSION to /opt/server/version" - printf "%s" "$SIT_VERSION" > /opt/server/version - echo "SIT Version installed: $(cat /opt/server/version)" - exit 0 -# existing version out of date run setup again. -elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ] && [ -d "/opt/srv" ]; then - echo "new SIT version: $SIT_VERSION found" - echo "existing SIT version: $EXISTING_VERSION outdated, regenerating files." - - sit_setup - - # will prevent setup from running again - echo "saving $SIT_VERSION to /opt/server/version" - printf "%s" "$SIT_VERSION" > /opt/server/version - echo "SIT Version updated: $(cat /opt/server/version)" - exit 0 -else - echo "existing SIT version: $EXISTING_VERSION" - echo "no update found, starting SIT..." +if [ -d "/opt/srv" ]; then + if [ ! -e "/opt/server/version" ]; then + echo "No version file found, running first-time setup..." + + sit_setup + + # will prevent setup from running again + echo "saving $SIT_VERSION to /opt/server/version" + printf "%s" "$SIT_VERSION" > /opt/server/version + echo "SIT Version installed: $(cat /opt/server/version)" + +# new SIT version found, reinstall if UPDATE flag present, else print version diff. + elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ]; then + echo "new SIT version: $SIT_VERSION" + echo "existing SIT version: $EXISTING_VERSION" + if [ "$UPDATE" = true ]; then + echo "UPDATE flag true, installing update..." + sit_setup + # will prevent setup from running again + echo "saving $SIT_VERSION to /opt/server/version" + printf "%s" "$SIT_VERSION" > /opt/server/version + echo "SIT Version updated: $(cat /opt/server/version)" + else + echo "UPDATE flag false, use -e UPPDATE=true if updating." + sleep 10 + fi + fi +# quit if not headless + if [ "$HEADLESS" = false ]; then + echo "SIT.Docker setup is now complete!" + echo "You can configure and start your container." + exit 0 + fi fi # delete js n js.map files from existing mods (ignore SITCoop) and make sure server generates them fresh to prevent errors from copying windows artifact files. +echo "clearing mod *.js *.js.map artifact cache..." find /opt/server/user/mods -type d -name "SITCoop" -prune -o \ -type f \( -name "*.js" -o -name "*.js.map" \) \ -exec sh -c 'for x; do ts="${x%.*}.ts"; [ -f "$ts" ] && rm "$x"; done' _ {} + From 24b0afbf7d88d97f1750ce77cccc75dda77b2066 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Mon, 13 May 2024 20:15:28 -0700 Subject: [PATCH 09/19] Update entrypoint.alpine.sh less delay and prompt user when terminal pause. --- entrypoint.alpine.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 228d048..a9729c5 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -77,7 +77,8 @@ if [ -d "/opt/srv" ]; then echo "SIT Version updated: $(cat /opt/server/version)" else echo "UPDATE flag false, use -e UPPDATE=true if updating." - sleep 10 + echo "Starting SIT Server in 5 seconds.." + sleep 5 fi fi # quit if not headless From 96b334d642c8b6d5789a82d4fb91b286b3385fbd Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Mon, 13 May 2024 20:15:46 -0700 Subject: [PATCH 10/19] typo --- entrypoint.alpine.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index a9729c5..dcbb6ca 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -76,7 +76,7 @@ if [ -d "/opt/srv" ]; then printf "%s" "$SIT_VERSION" > /opt/server/version echo "SIT Version updated: $(cat /opt/server/version)" else - echo "UPDATE flag false, use -e UPPDATE=true if updating." + echo "UPDATE flag false, use -e UPDATE=true if updating." echo "Starting SIT Server in 5 seconds.." sleep 5 fi From eb1d26fc0b214c9650d0c34ee87d392c6ccf7e42 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Tue, 14 May 2024 00:25:22 -0700 Subject: [PATCH 11/19] kill inital boot properly make sure the initial bg AkiServer is actually killed --- docker-compose-dev.yml | 4 ++-- entrypoint.alpine.sh | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 7a7feea..a190a67 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -3,11 +3,11 @@ services: build: context: . dockerfile: Dockerfile.alpine - target: release + # target: development args: SIT_BRANCH: "development" SIT_COMMIT: - SIT_PR: 53 + SIT_PR: SPT_BRANCH: "master" SPT_COMMIT: SPT_PR: diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index dcbb6ca..96e9d3d 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -25,7 +25,7 @@ sit_setup() { start=$(date +%s) echo "Started copying files to your volume/directory.. Please wait." cp -r /opt/srv/* /opt/server/ - rm -r /opt/srv + rm -rf /opt/srv end=$(date +%s) echo "Files copied to your machine in $(($end-$start)) seconds." @@ -49,7 +49,10 @@ sit_setup() { while [ ! -f "/opt/server/user/mods/SITCoop/config/coopConfig.json" ]; do sleep 10 # sleep till coopConfig.json is generated done - screen -S AkiServer -X "^C" # kill Aki.Server + # kill Aki.Server + pid=$(screen -ls | grep 'AkiServer' | awk '{print $1}' | cut -d '.' -f 1) + kill "$pid" + screen -S AkiServer -X "^C" } # perform one-time server setup if no version file is found From b856577958f9482464121ac77b7736a041c7e9db Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Tue, 14 May 2024 00:36:31 -0700 Subject: [PATCH 12/19] Update entrypoint.alpine.sh fix logic to print version diff regardless if update is true or not, and always update if update is true. --- entrypoint.alpine.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 96e9d3d..e532bbb 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -68,7 +68,7 @@ if [ -d "/opt/srv" ]; then echo "SIT Version installed: $(cat /opt/server/version)" # new SIT version found, reinstall if UPDATE flag present, else print version diff. - elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ]; then + elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ] || [ "$UPDATE" = true ]; then echo "new SIT version: $SIT_VERSION" echo "existing SIT version: $EXISTING_VERSION" if [ "$UPDATE" = true ]; then From 0c67c5681253f8025a8d66ba0eb5a645fed4b055 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Tue, 14 May 2024 00:50:26 -0700 Subject: [PATCH 13/19] add LOG_REQUEST & checks make sure the echo value after they are modified to ensure it's written properly and not before --- docker-compose-dev.yml | 1 + docker-compose.yml | 1 + entrypoint.alpine.sh | 15 +++++++++++---- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index a190a67..3615032 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -18,6 +18,7 @@ services: - SERVER_NAME= - HEADLESS=true - UPDATE=false + - LOG_REQUESTS=true volumes: - ./server-dev:/opt/server ports: diff --git a/docker-compose.yml b/docker-compose.yml index 1f81baf..9f7d7eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,7 @@ services: - SERVER_NAME= - HEADLESS=true - UPDATE=false + - LOG_REQUESTS=true volumes: - ./server:/opt/server ports: diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index e532bbb..1e83ef4 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -13,6 +13,7 @@ HEADLESS=${HEADLESS:-true} UPDATE=${UPDATE:-false} SPT_IP=${SPT_IP:-0.0.0.0} SPT_BACKEND_IP=${BACKEND_IP:-$(curl -s4 ipv4.icanhazip.com)} +SPT_LOG_REQUESTS=${LOG_REQUESTS:-true} NEW_SERVER_NAME=${SERVER_NAME:-SIT $SIT_VERSION} #DBUG @@ -33,15 +34,21 @@ sit_setup() { cd /opt/server chown $(id -u):$(id -g) ./* -Rf - echo "SPT_IP: $SPT_IP, updating http.json" sed -ir 's/"ip": .*,/"ip": "'$SPT_IP'",/' /opt/server/Aki_Data/Server/configs/http.json + MOD_IP=$(sed -n 's/.*"ip": "\(.*\)",/\1/p' /opt/server/Aki_Data/Server/configs/http.json) + echo "SPT_IP: $MOD_IP, updating http.json" - echo "BACKEND_IP: $SPT_BACKEND_IP, updating http.json" sed -ir 's/"backendIp": .*,/"backendIp": "'$SPT_BACKEND_IP'",/' /opt/server/Aki_Data/Server/configs/http.json + MOD_BIP=$(sed -n 's/.*"backendIp": "\(.*\)",/\1/p' /opt/server/Aki_Data/Server/configs/http.json) + echo "BACKEND_IP: $MOD_BIP, updating http.json" - sed -i "s/\"serverName\": \".*\"/\"serverName\": \"$NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json + sed -ir "s/\"serverName\": \".*\"/\"serverName\": \"$NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json MODIFIED_NAME=$(sed -n 's/.*"serverName": "\([^"]*\)".*/\1/p' /opt/server/Aki_Data/Server/configs/core.json) - echo "Server Name: $MODIFIED_NAME, updating core.json" + echo "serverName: $MODIFIED_NAME, updating core.json" + + sed -ir 's/"logRequests": .*,/"logRequests": '"$SPT_LOG_REQUESTS"',/' /opt/server/Aki_Data/Server/configs/http.json + MOD_LOGQ=$(sed -n 's/.*"logRequests": \(.*\),/\1/p' /opt/server/Aki_Data/Server/configs/http.json) + echo "logRequests: $MOD_LOGQ, updating http.json" # remove previous install.log n boot server once in bg to generate files. rm /opt/server/install.log From 0101b4b8649d957a3ae825a29d8df22406bb5d5f Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Tue, 14 May 2024 01:01:28 -0700 Subject: [PATCH 14/19] Update entrypoint.alpine.sh screen termination unneeded --- entrypoint.alpine.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 1e83ef4..ebab4a9 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -58,8 +58,7 @@ sit_setup() { done # kill Aki.Server pid=$(screen -ls | grep 'AkiServer' | awk '{print $1}' | cut -d '.' -f 1) - kill "$pid" - screen -S AkiServer -X "^C" + kill -9 "$pid" } # perform one-time server setup if no version file is found From 677151fb42b81420f08056999992b8b95974e6ce Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Sat, 18 May 2024 19:39:27 -0700 Subject: [PATCH 15/19] Update Dockerfile.alpine temp fix lol git lfs n git drama --- Dockerfile.alpine | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 8e5cdb0..36745a1 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -8,6 +8,9 @@ ARG NODE=20.11.1 FROM alpine as git +# https://lore.kernel.org/git/20240514181641.150112-1-sandals@crustytoothpaste.net/T/ +ENV GIT_CLONE_PROTECTION_ACTIVE=false +# work around until git and git lfs resolve their differences. RUN apk add git git-lfs ARG SIT_COMMIT From 660f12f766c4e2a206473196a7a22bae4a8c86b3 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Wed, 22 May 2024 18:16:30 -0700 Subject: [PATCH 16/19] 3.9 prep make aki install dir easier to change for upcoming 3.9 --- entrypoint.alpine.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index ebab4a9..d4fb44c 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -15,6 +15,8 @@ SPT_IP=${SPT_IP:-0.0.0.0} SPT_BACKEND_IP=${BACKEND_IP:-$(curl -s4 ipv4.icanhazip.com)} SPT_LOG_REQUESTS=${LOG_REQUESTS:-true} NEW_SERVER_NAME=${SERVER_NAME:-SIT $SIT_VERSION} +SPT_CONFIG_PATH=Aki_Data/Server/config +#SPT_CONFIG_PATH=SPT_Data/Server/config 3.9 #DBUG echo "DEBUG build: $buildver, HEADLESS: $HEADLESS, UPDATE: $UPDATE" @@ -34,25 +36,27 @@ sit_setup() { cd /opt/server chown $(id -u):$(id -g) ./* -Rf - sed -ir 's/"ip": .*,/"ip": "'$SPT_IP'",/' /opt/server/Aki_Data/Server/configs/http.json - MOD_IP=$(sed -n 's/.*"ip": "\(.*\)",/\1/p' /opt/server/Aki_Data/Server/configs/http.json) + sed -ir 's/"ip": .*,/"ip": "'$SPT_IP'",/' /opt/server/$SPT_CONFIG_PATH/http.json + MOD_IP=$(sed -n 's/.*"ip": "\(.*\)",/\1/p' /opt/server/$SPT_CONFIG_PATH/http.json) echo "SPT_IP: $MOD_IP, updating http.json" - sed -ir 's/"backendIp": .*,/"backendIp": "'$SPT_BACKEND_IP'",/' /opt/server/Aki_Data/Server/configs/http.json - MOD_BIP=$(sed -n 's/.*"backendIp": "\(.*\)",/\1/p' /opt/server/Aki_Data/Server/configs/http.json) + sed -ir 's/"backendIp": .*,/"backendIp": "'$SPT_BACKEND_IP'",/' /opt/server/$SPT_CONFIG_PATH/http.json + MOD_BIP=$(sed -n 's/.*"backendIp": "\(.*\)",/\1/p' /opt/server/$SPT_CONFIG_PATH/http.json) echo "BACKEND_IP: $MOD_BIP, updating http.json" - sed -ir "s/\"serverName\": \".*\"/\"serverName\": \"$NEW_SERVER_NAME\"/" /opt/server/Aki_Data/Server/configs/core.json - MODIFIED_NAME=$(sed -n 's/.*"serverName": "\([^"]*\)".*/\1/p' /opt/server/Aki_Data/Server/configs/core.json) + sed -ir "s/\"serverName\": \".*\"/\"serverName\": \"$NEW_SERVER_NAME\"/" /opt/server/$SPT_CONFIG_PATH/core.json + MODIFIED_NAME=$(sed -n 's/.*"serverName": "\([^"]*\)".*/\1/p' /opt/server/$SPT_CONFIG_PATH/core.json) echo "serverName: $MODIFIED_NAME, updating core.json" - sed -ir 's/"logRequests": .*,/"logRequests": '"$SPT_LOG_REQUESTS"',/' /opt/server/Aki_Data/Server/configs/http.json - MOD_LOGQ=$(sed -n 's/.*"logRequests": \(.*\),/\1/p' /opt/server/Aki_Data/Server/configs/http.json) + sed -ir 's/"logRequests": .*,/"logRequests": '"$SPT_LOG_REQUESTS"',/' /opt/server/$SPT_CONFIG_PATH/http.json + MOD_LOGQ=$(sed -n 's/.*"logRequests": \(.*\),/\1/p' /opt/server/$SPT_CONFIG_PATH/http.json) echo "logRequests: $MOD_LOGQ, updating http.json" # remove previous install.log n boot server once in bg to generate files. rm /opt/server/install.log screen -L -Logfile "install.log" -d -m -S AkiServer ./Aki.Server.exe + # 3.9 upcoming + # screen -L -Logfile "install.log" -d -m -S AkiServer ./SPT.Server.exe while [ ! -f "/opt/server/user/mods/SITCoop/config/coopConfig.json" ]; do sleep 10 # sleep till coopConfig.json is generated done From b4ee03aaeddab98aab27ab766cb8538a27c06513 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Wed, 22 May 2024 18:57:03 -0700 Subject: [PATCH 17/19] BREAKING & FORCE flag - introduce BREAKING_CHANGE flag in build step - remove UPDATE flag always update installation by default, unless BREAKING_CHANGE detected. - only quit after initial installation, else HEADLESS by default. --- Dockerfile.alpine | 2 ++ entrypoint.alpine.sh | 34 +++++++++++++++++++++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 36745a1..ea1cb92 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -6,6 +6,7 @@ # license that can be found in the LICENSE file. ARG NODE=20.11.1 +ARG BREAKING_CHANGE=false FROM alpine as git # https://lore.kernel.org/git/20240514181641.150112-1-sandals@crustytoothpaste.net/T/ @@ -85,6 +86,7 @@ apk --no-cache add libgcc libstdc++ libc6-compat curl screen dos2unix && \ rm -rf /var/cache/apk/* FROM server as development +ENV BREAKING=${BREAKING_CHANGE} ENV buildver "development" WORKDIR /opt COPY --from=builder /opt/server /opt/srv diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index d4fb44c..85fe7d3 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -10,16 +10,16 @@ SIT_VERSION=$(cat /opt/srv/user/mods/SITCoop/version 2>/dev/null) # Grab user ENV input if exists else default HEADLESS=${HEADLESS:-true} -UPDATE=${UPDATE:-false} +FORCE=${FORCE:-false} SPT_IP=${SPT_IP:-0.0.0.0} SPT_BACKEND_IP=${BACKEND_IP:-$(curl -s4 ipv4.icanhazip.com)} SPT_LOG_REQUESTS=${LOG_REQUESTS:-true} NEW_SERVER_NAME=${SERVER_NAME:-SIT $SIT_VERSION} SPT_CONFIG_PATH=Aki_Data/Server/config -#SPT_CONFIG_PATH=SPT_Data/Server/config 3.9 +#SPT_CONFIG_PATH=SPT_Data/Server/config #DBUG -echo "DEBUG build: $buildver, HEADLESS: $HEADLESS, UPDATE: $UPDATE" +echo "DEBUG build: $buildver, HEADLESS: $HEADLESS, BREAKKING: $BREAKING, FORCE: $FORCE" echo "Stay In Tarkov Docker" echo "github.com/StayInTarkov/SIT.Docker" @@ -54,14 +54,14 @@ sit_setup() { # remove previous install.log n boot server once in bg to generate files. rm /opt/server/install.log - screen -L -Logfile "install.log" -d -m -S AkiServer ./Aki.Server.exe + screen -L -Logfile "install.log" -d -m -S SPTServer ./Aki.Server.exe # 3.9 upcoming # screen -L -Logfile "install.log" -d -m -S AkiServer ./SPT.Server.exe while [ ! -f "/opt/server/user/mods/SITCoop/config/coopConfig.json" ]; do sleep 10 # sleep till coopConfig.json is generated done # kill Aki.Server - pid=$(screen -ls | grep 'AkiServer' | awk '{print $1}' | cut -d '.' -f 1) + pid=$(screen -ls | grep 'SPTServer' | awk '{print $1}' | cut -d '.' -f 1) kill -9 "$pid" } @@ -76,21 +76,33 @@ if [ -d "/opt/srv" ]; then echo "saving $SIT_VERSION to /opt/server/version" printf "%s" "$SIT_VERSION" > /opt/server/version echo "SIT Version installed: $(cat /opt/server/version)" + # set headless to false only for inital set up. + HEADLESS = false -# new SIT version found, reinstall if UPDATE flag present, else print version diff. - elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ] || [ "$UPDATE" = true ]; then +# new SIT version found, always reinstall update unless BREAKING flag present, else print version diff. + elif [ "$EXISTING_VERSION" != "$SIT_VERSION" ] || [ "$FORCE" = true ]; then echo "new SIT version: $SIT_VERSION" echo "existing SIT version: $EXISTING_VERSION" - if [ "$UPDATE" = true ]; then - echo "UPDATE flag true, installing update..." + if [ "$BREAKING" = false ]; then + echo "SIT Update found, no breaking change detected, installing update..." + sit_setup + # will prevent setup from running again + echo "saving $SIT_VERSION to /opt/server/version" + printf "%s" "$SIT_VERSION" > /opt/server/version + echo "SIT Version updated: $(cat /opt/server/version)" + elif [ "$FORCE" = true ]; then + echo "Breaking SIT Update found, FORCE flag set, installing update..." sit_setup # will prevent setup from running again echo "saving $SIT_VERSION to /opt/server/version" printf "%s" "$SIT_VERSION" > /opt/server/version echo "SIT Version updated: $(cat /opt/server/version)" else - echo "UPDATE flag false, use -e UPDATE=true if updating." - echo "Starting SIT Server in 5 seconds.." + echo "WARNING: breaking change found in SIT update" + echo "please check release notes to ensure proper steps are taken" + echo "use -e FORCE=true to update server..." + echo "FORCE flag not set, update aborted." + echo "Starting SIT Server in 5 seconds.." sleep 5 fi fi From 761ee40bd52ea74bcf69f2d937205d222b443a38 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Wed, 22 May 2024 18:59:53 -0700 Subject: [PATCH 18/19] Update entrypoint.alpine.sh --- entrypoint.alpine.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entrypoint.alpine.sh b/entrypoint.alpine.sh index 85fe7d3..d4ec08b 100644 --- a/entrypoint.alpine.sh +++ b/entrypoint.alpine.sh @@ -90,8 +90,8 @@ if [ -d "/opt/srv" ]; then echo "saving $SIT_VERSION to /opt/server/version" printf "%s" "$SIT_VERSION" > /opt/server/version echo "SIT Version updated: $(cat /opt/server/version)" - elif [ "$FORCE" = true ]; then - echo "Breaking SIT Update found, FORCE flag set, installing update..." + elif [ "$FORCE" = true ]; then + echo "Breaking SIT Update found, FORCE flag set, installing update..." sit_setup # will prevent setup from running again echo "saving $SIT_VERSION to /opt/server/version" From 206fe4860625dedb9244cee8288c73d7f7bb8061 Mon Sep 17 00:00:00 2001 From: null <94782486+kapdon@users.noreply.github.com> Date: Thu, 30 May 2024 15:04:41 -0700 Subject: [PATCH 19/19] spt rebranding --- Dockerfile.alpine | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile.alpine b/Dockerfile.alpine index ea1cb92..73f1a1b 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -25,21 +25,21 @@ ARG SPT_PR FROM git as spt WORKDIR /opt # invalidate cache and repull if upstream is different. -ADD https://dev.sp-tarkov.com/api/v1/repos/SPT-AKI/Server/git/refs/heads/${SPT_BRANCH} /opt/spt_version.json +ADD https://dev.sp-tarkov.com/api/v1/repos/SPT/Server/git/refs/heads/${SPT_BRANCH} /opt/spt_version.json # pull pr if provided, pull commit if provided, else single branch. RUN if [ -n "$SPT_PR" ] && echo "$SPT_PR" | grep -Eq "^[0-9]+$"; then \ - git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git spt && \ + git clone https://dev.sp-tarkov.com/SPT/Server.git spt && \ cd spt && \ git fetch origin pull/$SPT_PR/head:pr_$SPT_PR && \ git checkout pr_$SPT_PR && \ git-lfs pull; \ elif [ -n "$SPT_COMMIT" ]; then \ - git clone --single-branch --branch $SPT_BRANCH https://dev.sp-tarkov.com/SPT-AKI/Server.git spt && \ + git clone --single-branch --branch $SPT_BRANCH https://dev.sp-tarkov.com/SPT/Server.git spt && \ cd spt && \ git checkout $SPT_COMMIT && \ git-lfs pull; \ else \ - git clone --single-branch --branch $SPT_BRANCH https://dev.sp-tarkov.com/SPT-AKI/Server.git spt && \ + git clone --single-branch --branch $SPT_BRANCH https://dev.sp-tarkov.com/SPT/Server.git spt && \ cd spt && \ git-lfs pull; \ fi