From e4b01b02a9f76c6582d67f81fc9f8058cc158b94 Mon Sep 17 00:00:00 2001 From: tteckster Date: Fri, 17 Feb 2023 16:58:54 -0500 Subject: [PATCH] Update photoprism-v5-install.sh code refactoring --- install/photoprism-v5-install.sh | 41 +++++++++++++++++--------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/install/photoprism-v5-install.sh b/install/photoprism-v5-install.sh index f674597e..7946d390 100644 --- a/install/photoprism-v5-install.sh +++ b/install/photoprism-v5-install.sh @@ -8,7 +8,6 @@ if [ "$VERBOSE" = "yes" ]; then set -x; STD=""; else STD="silent"; fi silent() { "$@" > /dev/null 2>&1; } if [ "$DISABLEIPV6" == "yes" ]; then echo "net.ipv6.conf.all.disable_ipv6 = 1" >>/etc/sysctl.conf; $STD sysctl -p; fi -AVX=$(grep -o -m1 'avx[^ ]*' /proc/cpuinfo) YW=$(echo "\033[33m") RD=$(echo "\033[01;31m") BL=$(echo "\033[36m") @@ -106,10 +105,15 @@ msg_info "Installing Node.js" $STD apt-get -y install nodejs msg_ok "Installed Node.js" -msg_info "Installing Golang (Patience)" -$STD wget https://golang.org/dl/go1.20.1.linux-amd64.tar.gz -$STD tar -xzf go1.20.1.linux-amd64.tar.gz -C /usr/local +msg_info "Installing Golang" +set +o pipefail +RELEASE=$(curl -s https://go.dev/dl/ | grep -o "go.*\linux-amd64.tar.gz" | head -n 1) +wget -q https://golang.org/dl/$RELEASE +$STD tar -xzf $RELEASE -C /usr/local $STD ln -s /usr/local/go/bin/go /usr/local/bin/go +msg_ok "Installed Golang" + +msg_info "Installing Go Dependencies" $STD go install github.com/tianon/gosu@latest $STD go install golang.org/x/tools/cmd/goimports@latest $STD go install github.com/psampaz/go-mod-outdated@latest @@ -121,20 +125,21 @@ cp /usr/local/go/bin/richgo /usr/local/bin/richgo cp /usr/local/go/bin/gosu /usr/local/sbin/gosu chown root:root /usr/local/sbin/gosu chmod 755 /usr/local/sbin/gosu -msg_ok "Installed Golang" +msg_ok "Installed Go Dependencies" msg_info "Installing Tensorflow" -if [[ "$AVX" =~ avx2 ]]; then - $STD wget https://dl.photoprism.org/tensorflow/linux/libtensorflow-linux-avx2-1.15.2.tar.gz - $STD tar -C /usr/local -xzf libtensorflow-linux-avx2-1.15.2.tar.gz -elif [[ "$AVX" =~ avx ]]; then - $STD wget https://dl.photoprism.org/tensorflow/linux/libtensorflow-linux-avx-1.15.2.tar.gz - $STD tar -C /usr/local -xzf libtensorflow-linux-avx-1.15.2.tar.gz +if grep -q avx2 /proc/cpuinfo; then + suffix="avx2-" +elif grep -q avx /proc/cpuinfo; then + suffix="avx-" else - $STD wget https://dl.photoprism.org/tensorflow/linux/libtensorflow-linux-cpu-1.15.2.tar.gz - $STD tar -C /usr/local -xzf libtensorflow-linux-cpu-1.15.2.tar.gz + suffix="" fi -$STD ldconfig +version=$(curl -s https://dl.photoprism.org/tensorflow/amd64/ | grep -o "libtensorflow-amd64-$suffix.*\\.tar.gz" | head -n 1) +wget -q https://dl.photoprism.org/tensorflow/amd64/$version +tar -C /usr/local -xzf $version +ldconfig +set -o pipefail msg_ok "Installed Tensorflow" msg_info "Cloning PhotoPrism" @@ -205,12 +210,10 @@ $STD apt-get autoremove $STD apt-get autoclean rm -rf /var/{cache,log}/* \ /photoprism \ - /go1.20.1.linux-amd64.tar.gz \ - /libtensorflow-linux-avx2-1.15.2.tar.gz \ - /libtensorflow-linux-avx-1.15.2.tar.gz \ - /libtensorflow-linux-cpu-1.15.2.tar.gz + /$RELEASE \ + /$version msg_ok "Cleaned" msg_info "Starting PhotoPrism" -$STD systemctl enable --now photoprism +systemctl enable -q --now photoprism msg_ok "Started PhotoPrism"