2018-02-11 01:20:58 +01:00
#=================================================
# SET ALL CONSTANTS
#=================================================
2016-12-27 10:44:40 +01:00
2017-07-21 14:56:41 +02:00
app = $YNH_APP_INSTANCE_NAME
2017-12-09 20:56:20 +01:00
2018-02-11 01:20:58 +01:00
#=================================================
# DEFINE ALL COMMON FONCTIONS
#=================================================
2018-01-19 20:55:44 +01:00
install_source( ) {
mkdir " $final_path /seafile-server- $seafile_version "
2022-04-01 22:30:08 +02:00
if [ $YNH_ARCH = = "i386" ] || [ $YNH_ARCH = = "armel" ]
2018-07-31 17:46:42 +02:00
then
2019-06-11 22:28:26 +02:00
ynh_die --message "Error : this architecture is no longer supported by the upstream. Please create en issue here : https://github.com/YunoHost-Apps/seafile_ynh/issues to ask to discuss about a support of this architecture"
2018-07-31 17:46:42 +02:00
fi
2022-04-01 22:30:08 +02:00
ynh_setup_source " $final_path /seafile-server- $seafile_version " " $YNH_ARCH "
2017-01-31 23:25:17 +01:00
}
2020-05-01 15:39:29 +02:00
install_source_7_0( ) {
if ! [ -e $final_path /seafile-server-7.0.5 ] ; then
mkdir " $final_path /seafile-server-7.0.5 "
2022-04-01 22:30:08 +02:00
if [ $YNH_ARCH = = "i386" ] || [ $YNH_ARCH = = "armel" ]
2020-05-01 15:39:29 +02:00
then
ynh_die --message "Error : this architecture is no longer supported by the upstream. Please create en issue here : https://github.com/YunoHost-Apps/seafile_ynh/issues to ask to discuss about a support of this architecture"
fi
2022-04-01 22:30:08 +02:00
ynh_setup_source " $final_path /seafile-server-7.0.5 " " $YNH_ARCH " _7_0
2020-05-01 15:39:29 +02:00
fi
}
2017-07-21 14:56:41 +02:00
install_dependance( ) {
2021-03-16 16:13:43 +01:00
ynh_install_app_dependencies python3 python3-setuptools python3-pip python3-requests python3-dev libmariadb-dev-compat libmariadb-dev \
2020-04-28 13:57:07 +02:00
expect ffmpeg \
memcached libmemcached-dev \
2021-03-20 19:04:25 +01:00
python3-scipy python3-matplotlib \
2022-08-23 15:02:09 +02:00
libjpeg62-turbo-dev zlib1g-dev libffi-dev # For building pillow
2022-08-23 06:24:57 +02:00
ynh_add_swap --size= 2000
2020-03-27 13:25:40 +01:00
# We need to do that because we can have some issue about the permission access to the pip cache without this
2021-06-26 12:22:45 +02:00
chown -R $seafile_user :$seafile_user $final_path
2021-03-20 19:04:25 +01:00
2020-02-19 22:00:10 +01:00
# Note that we install imageio to force the dependance, without this imageio 2.8 is installed and it need python3.5
2022-08-02 23:57:57 +02:00
sudo -u $seafile_user pip3 install --user --no-warn-script-location --upgrade future mysqlclient PyMySQL Pillow pylibmc captcha Jinja2 SQLAlchemy psd-tools django-pylibmc django-simple-captcha python3-ldap pycryptodome = = 3.12.0 cffi = = 1.14.0
2021-04-19 18:29:56 +02:00
# TODO add dependance when upgrade to seafile 8: django==2.2.*
2019-10-11 21:40:07 +02:00
ynh_del_swap
2017-01-31 23:25:17 +01:00
}
2021-04-09 21:20:39 +02:00
mv_expect_scripts( ) {
expect_scripts_dir = $( mktemp -d)
cp expect_scripts/* $expect_scripts_dir
2021-04-25 14:11:51 +02:00
chmod u = rwx,o= -R $expect_scripts_dir
2021-04-09 21:20:39 +02:00
chown $seafile_user -R $expect_scripts_dir
}
2019-06-11 22:28:26 +02:00
set_permission( ) {
chown -R $seafile_user :$seafile_user $final_path
2021-06-26 12:22:45 +02:00
chmod -R g-wx,o= $final_path
setfacl -m user:www-data:rX $final_path
setfacl -m user:www-data:rX $final_path /seafile-server-$seafile_version
setfacl -m user:www-data:rX $final_path /seafile-server-latest/seahub
setfacl -R -m user:www-data:rX $final_path /seafile-server-latest/seahub/media
2019-08-05 15:41:26 +02:00
# check that this directory exist because in some really old install the data could still be in the main seafile directory
2022-08-02 23:57:57 +02:00
# We also check at the install time when data directory is not already initialised
2021-04-09 21:20:39 +02:00
if [ -e /home/yunohost.app/seafile-data ] ; then
chown -R $seafile_user :$seafile_user /home/yunohost.app/seafile-data
chmod -R o = /home/yunohost.app/seafile-data
fi
2019-06-11 22:28:26 +02:00
}
2017-07-21 14:56:41 +02:00
ynh_clean_setup ( ) {
2017-08-09 15:34:10 +02:00
pkill -f seafile-controller
pkill -f seaf-server
pkill -f ccnet-server
2019-06-11 22:28:26 +02:00
pkill -f seahub
2018-06-07 21:20:50 +02:00
}