From 26d0d190d6a061a6e3d0c39156374af52e55bfeb Mon Sep 17 00:00:00 2001 From: mbugeia Date: Wed, 28 Oct 2015 16:04:51 +0100 Subject: [PATCH] Implement some best practices Former-commit-id: 54e879cdbe6289f0cce20232cd50bc2eec34f829 --- scripts/install | 31 +++++++++++++++++-------------- scripts/upgrade | 3 +++ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/scripts/install b/scripts/install index f0bcaf5..6a9e13c 100644 --- a/scripts/install +++ b/scripts/install @@ -1,4 +1,9 @@ #!/bin/bash + +set -e + +app=seafile + # Retrieve arguments domain=$1 path=$2 @@ -7,7 +12,7 @@ admin=$4 admin_password=$5 is_public=$6 architecture=$7 -final_path=/var/www/seafile +final_path=/var/www/$app seafile_data=/home/yunohost.app/seafile-data seafile_version=4.4.3 @@ -29,10 +34,8 @@ findPort () { } # Check domain/path availability -sudo yunohost app checkurl $domain$path -a seafile -if [[ ! $? -eq 0 ]]; then - exit 1 -fi +sudo yunohost app checkurl $domain$path -a $app \ + || (echo "Path not available: $domain$path" && exit 1) # Check dependencies sudo apt-get install -qq python2.7 python-setuptools python-simplejson python-imaging python-mysqldb python-flup expect @@ -44,7 +47,7 @@ sudo mkdir -p $final_path/logs sudo mkdir -p $final_path/seafile-data sudo mkdir -p $final_path/seafile-server-$seafile_version sudo tar xzf ../sources/'seafile-server_'$seafile_version'_'$architecture'.tar' -sudo mv seafile-server-$seafile_version/* $final_path/seafile-server-$seafile_version +sudo mv seafile-server-$seafile_version/. $final_path/seafile-server-$seafile_version sudo mv ../sources/'seafile-server_'$seafile_version'_'$architecture'.tar' $final_path/installed # Find available ports @@ -56,16 +59,16 @@ findPort 8080 webdav_port=$port # store config in yunohost -sudo yunohost app setting seafile seahub_port -v $seahub_port -sudo yunohost app setting seafile fileserver_port -v $fileserver_port -sudo yunohost app setting seafile webdav_port -v $webdav_port -sudo yunohost app setting seafile is_public -v $is_public -sudo yunohost app setting seafile architecture -v $architecture -sudo yunohost app setting seafile installed_version -v $seafile_version +sudo yunohost app setting $app seahub_port -v $seahub_port +sudo yunohost app setting $app fileserver_port -v $fileserver_port +sudo yunohost app setting $app webdav_port -v $webdav_port +sudo yunohost app setting $app is_public -v $is_public +sudo yunohost app setting $app architecture -v $architecture +sudo yunohost app setting $app installed_version -v $seafile_version # init databases -db_user=seafile -db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d 'A-Za-z0-9' | sed -n 's/\(.\{24\}\).*/\1/p') +db_user=$app +db_pwd=$(openssl rand -hex 15) sudo yunohost app initdb -d ccnetdb -p $db_pwd $db_user sudo yunohost app initdb -d seafiledb -p $db_pwd $db_user sudo yunohost app initdb -d seahubdb -p $db_pwd $db_user diff --git a/scripts/upgrade b/scripts/upgrade index 4dd8934..0836ac6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,4 +1,7 @@ #!/bin/bash + +set -e + app=seafile # Retrieve settings