From 3a4e895f01f71816b04225b5149e33a3bcfccd0e Mon Sep 17 00:00:00 2001 From: shim_ <> Date: Thu, 21 Jun 2018 13:42:05 +0200 Subject: [PATCH] version upgrade --- Dockerfile | 13 +++++++------ init.sh | 35 +++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Dockerfile b/Dockerfile index bc2b01c..50bcf7f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,5 @@ FROM frolvlad/alpine-glibc -ENV TS_VERSION=3.0.12.4 -ENV ARCH=amd64 -ENV CHECKSUM=6bb0e8c8974fa5739b90e1806687128342b3ab36510944f576942e67df7a1bd9 - -ENV TS3DB_TYPE=SQLITE - RUN apk update && \ apk add --no-cache bash wget tar coreutils RUN wget --no-check-certificate -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.0.1/dumb-init_1.0.1_amd64 @@ -20,4 +14,11 @@ COPY ts3db_mysql.ini /tpl/ts3db_mysql.ini VOLUME ["/opt/teamspeak3"] EXPOSE 10011 30033 9987/udp +ENV TS_VERSION=3.2.0 +ENV ARCH=amd64 +ENV CHECKSUM=f1e267334e8863342e8eb90ae22203b761b54d9d4400a25ed1fd34fce2187f57 + +ENV TS3DB_TYPE=SQLITE + + CMD ["/usr/bin/dumb-init","/usr/bin/init.sh"] diff --git a/init.sh b/init.sh index d23c289..9606838 100755 --- a/init.sh +++ b/init.sh @@ -46,30 +46,33 @@ function db_config { } function upgrade_ts3 { - URL=http://dl.4players.de/ts/releases/$TS_VERSION/teamspeak3-server_linux_$ARCH-$TS_VERSION.tar.bz2 - TMPFILE=/tmp/server.tar.bz2 - wget $URL -O $TMPFILE - if [ ! -z "$CHECKSUM" ]; then - ACTUAL=$(sha256sum $TMPFILE | cut -d " " -f1) - if [ "$ACTUAL" != "$CHECKSUM" ]; then - echo "Checksum mismatch!" - echo "set CHECKSUM to \"\" to ignore or" - echo "update CHECKSUM according to https://www.teamspeak.com/downloads" - exit 1 + INSTALLED="$(cat /opt/teamspeak3/INSTALLED_VERSION)" + if ([ "$TS3UPGRADE" == "force" ] && [ -z "$INSTALLED" ]) || ([ "$INSTALLED" != "$TS_VERSION" ]); then + URL=http://dl.4players.de/ts/releases/$TS_VERSION/teamspeak3-server_linux_$ARCH-$TS_VERSION.tar.bz2 + TMPFILE=/tmp/server.tar.bz2 + wget $URL -O $TMPFILE + if [ ! -z "$CHECKSUM" ]; then + ACTUAL=$(sha256sum $TMPFILE | cut -d " " -f1) + if [ "$ACTUAL" != "$CHECKSUM" ]; then + echo "Checksum mismatch!" + echo "set CHECKSUM to \"\" to ignore or" + echo "update CHECKSUM according to https://www.teamspeak.com/downloads" + exit 1 + fi fi + tar -xjvf $TMPFILE -C /opt + mv -u /opt/teamspeak3-server_linux_$ARCH/* /opt/teamspeak3/ + rm -rf /opt/teamspeak3-server_linux_$ARCH + rm -f $TMPFILE + echo "$ARCH-$TS_VERSION" -n > /opt/teamspeak3/INSTALLED_VERSION fi - tar -xjvf $TMPFILE -C /opt - mv -u /opt/teamspeak3-server_linux_$ARCH/* /opt/teamspeak3/ - rm -rf /opt/teamspeak3-server_linux_$ARCH - rm -f $TMPFILE - echo "$ARCH-$TS_VERSION" -n > /opt/teamspeak3/INSTALLED_VERSION } SERVER_DIR=/opt/teamspeak3 RUNSCRIPT=$SERVER_DIR/ts3server_minimal_runscript.sh CONF_DIR=$SERVER_DIR -if [ ! -f "$RUNSCRIPT" ] || [ ! -z "$UPGRADE" ]; then +if [ ! -f "$RUNSCRIPT" ] || [ ! -z "$TS3UPGRADE" ]; then echo Starting Initialization if [[ ! -f "/opt/teamspeak3/INSTALLED_VERSION" || ( "$(cat /opt/teamspeak3/INSTALLED_VERSION)" != "$ARCH-$TS_VERSION" && ! -z "$UPGRADE") ]]; then if [ ! -f "$RUNSCRIPT" ]; then