Page MenuHomeMusing Studio

No OneTemporary

diff --git a/scripts/upgrade-server.sh b/scripts/upgrade-server.sh
new file mode 100755
index 0000000..c8e004a
--- /dev/null
+++ b/scripts/upgrade-server.sh
@@ -0,0 +1,96 @@
+#! /bin/bash
+###############################################################################
+## writefreely update script ##
+## ##
+## WARNING: running this script will overwrite any modifed assets or ##
+## template files. If you have any custom changes to these files you ##
+## should back them up FIRST. ##
+## ##
+## This must be run from the web application root directory ##
+## i.e. /var/www/writefreely, and operates under the assumption that you##
+## have not installed the binary `writefreely` in another location. ##
+###############################################################################
+#
+# Copyright © 2019 A Bunch Tell LLC.
+#
+# This file is part of WriteFreely.
+#
+# WriteFreely is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License, included
+# in the LICENSE file in this source code package.
+#
+
+
+# only execute as root, or use sudo
+
+if [[ `id -u` -ne 0 ]]; then
+ echo "You must login as root, or execute this script with sudo"
+ exit 10
+fi
+
+# go ahead and check for the latest release on linux
+echo "Checking for updates..."
+
+url=`curl -s https://api.github.com/repos/writeas/writefreely/releases/latest | grep 'browser_' | grep linux | cut -d\" -f4`
+
+# check current version
+
+bin_output=`./writefreely -v`
+if [ -z "$bin_output" ]; then
+ exit 1
+fi
+
+current=${bin_output:12:5}
+echo "Current version is v$current"
+
+# grab latest version number
+IFS='/'
+read -ra parts <<< "$url"
+
+latest=${parts[-2]}
+echo "Latest release is $latest"
+
+
+IFS='.'
+read -ra cv <<< "$current"
+read -ra lv <<< "${latest#v}"
+
+IFS=' '
+tempdir=$(mktemp -d)
+
+
+if [[ ${lv[0]} -gt ${cv[0]} ]]; then
+ echo "New major version available."
+ echo "Downloading..."
+ `wget -P $tempdir -q --show-progress $url`
+elif [[ ${lv[0]} -eq ${cv[0]} ]] && [[ ${lv[1]} -gt ${cv[1]} ]]; then
+ echo "New minor version available."
+ echo "Downloading..."
+ `wget -P $tempdir -q --show-progress $url`
+elif [[ ${lv[2]} -gt ${cv[2]} ]]; then
+ echo "New patch version available."
+ echo "Downloading..."
+ `wget -P $tempdir -q --show-progress $url`
+else
+ echo "Up to date."
+ exit 0
+fi
+
+filename=${parts[-1]}
+
+# extract
+echo "Extracting files..."
+tar -zxf $tempdir/$filename -C $tempdir
+
+# copy files
+echo "Copying files..."
+cp -r $tempdir/{pages,static,templates,writefreely} .
+
+# restart service
+echo "Restarting writefreely systemd service..."
+if `systemctl restart writefreely`; then
+ echo "Success, version has been upgraded to $latest."
+else
+ echo "Upgrade complete, but failed to restart service."
+ exit 1
+fi

File Metadata

Mime Type
text/x-diff
Expires
Sun, May 17, 12:37 AM (14 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3732131

Event Timeline