Improve db management and bug fix

This commit is contained in:
Josué Tille 2023-09-27 20:13:07 +02:00
parent c9d2aa4f9c
commit 7b40b86c96
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF
8 changed files with 22 additions and 15 deletions

View file

@ -13,5 +13,5 @@ host = 127.0.0.1
port = 3306
user = __DB_USER__
password = __DB_PWD__
db_name = seafiledb
db_name = __DB_NAME__
connection_charset = utf8

View file

@ -111,8 +111,11 @@ ram.runtime = "500M"
armhf.sha256 = "171fcf08b726d452e1c4cd22dadb9f8f5cf6848424ebc1e04cde5be34ef3d7f6"
[resources.apt]
packages = ["expect", "ffmpeg", "pkgconf",
packages = ["expect", "ffmpeg", "pkgconf", "mariadb-server",
"python3", "python3-setuptools", "python3-pip", "python3-requests", "python3-dev", "libmariadb-dev-compat", "libmariadb-dev",
"memcached", "libmemcached-dev",
"python3-scipy", "python3-matplotlib",
"libjpeg62-turbo-dev", "zlib1g-dev", "libffi-dev"]
[resources.database]
type = "mysql"

View file

@ -36,8 +36,8 @@ ynh_backup --src_path /etc/fail2ban/filter.d/$app.conf
# Backup mysql
ynh_print_info --message="Backing up database"
ynh_mysql_dump_db --database $db_name > ${YNH_CWD}/seafiledb.dmp
ynh_mysql_dump_db --database ccnetdb > ${YNH_CWD}/ccnetdb.dmp
ynh_mysql_dump_db --database seafiledb > ${YNH_CWD}/seafiledb.dmp
ynh_mysql_dump_db --database seahubdb > ${YNH_CWD}/seahubdb.dmp
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."

View file

@ -5,7 +5,8 @@ set seafile_dir [lindex $argv 0]
set server_name [lindex $argv 1]
set domain [lindex $argv 2]
set fileserver_port [lindex $argv 3]
set db_pwd [lindex $argv 4]
set db_name [lindex $argv 4]
set db_pwd [lindex $argv 5]
spawn $seafile_dir/setup-seafile-mysql.sh
@ -40,7 +41,7 @@ expect "Enter the existing database name for ccnet:"
send "ccnetdb\r";
expect "Enter the existing database name for seafile:"
send "seafiledb\r";
send "$db_name\r";
expect "Enter the existing database name for seahub:"
send "seahubdb\r";

View file

@ -39,8 +39,7 @@ ynh_setup_source --dest_dir=$install_dir/seafile-server-$seafile_version
ynh_script_progression --message="Configuring MySQL database..."
db_user=seafile
db_helper=ynh_"mysql"_setup_db
$db_helper --db_user $db_user --db_name ccnetdb
$db_helper --db_user $db_user --db_name seafiledb --db_pwd "$db_pwd"
$db_helper --db_user $db_user --db_name ccnetdb --db_pwd "$db_pwd"
$db_helper --db_user $db_user --db_name seahubdb --db_pwd "$db_pwd"
ynh_script_progression --message="Configuring application..." --weight=3
@ -49,7 +48,7 @@ ynh_script_progression --message="Configuring application..." --weight=3
mv_expect_scripts
chmod +x $install_dir/seafile-server-$seafile_version/setup-seafile-mysql.sh
set_permission
sudo -u $YNH_APP_ID $expect_scripts_dir/install.exp "$install_dir/seafile-server-$seafile_version" "$server_name" "$domain" "$port_fileserver" "$db_pwd"
sudo -u $YNH_APP_ID $expect_scripts_dir/install.exp "$install_dir/seafile-server-$seafile_version" "$server_name" "$domain" "$port_fileserver" "$db_name" "$db_pwd"
sleep 3

View file

@ -37,7 +37,6 @@ ynh_secure_remove --file=/opt/yunohost/$app
ynh_script_progression --message="Removing databases..."
db_helper=ynh_"mysql"_remove_db
$db_helper --db_name ccnetdb --db_user seafile
$db_helper --db_name seafiledb --db_user seafile
$db_helper --db_name seahubdb --db_user seafile
# Remove systemd service

View file

@ -31,7 +31,6 @@ install_dependance
ynh_script_progression --message="Restoring database..." --weight=3
db_helper=ynh_"mysql"_setup_db
$db_helper --db_user $db_user --db_name ccnetdb --db_pwd "$db_pwd"
$db_helper --db_user $db_user --db_name seafiledb --db_pwd "$db_pwd"
$db_helper --db_user $db_user --db_name seahubdb --db_pwd "$db_pwd"
su -c "mysql -u ${app} -p$db_pwd ccnetdb < ${YNH_CWD}/ccnetdb.dmp"
su -c "mysql -u ${app} -p$db_pwd seafiledb < ${YNH_CWD}/seafiledb.dmp"

View file

@ -39,6 +39,12 @@ pkill -f seaf-server || true
pkill -f ccnet-server || true
pkill -f seahub || true
# Migrate DB if needed
if mysqlshow | grep -q seafiledb; then
ynh_mysql_execute_as_root --sql 'DROP DATABASE `'$db_name'`'
ynh_mysql_execute_as_root --sql 'RENAME DATABASE `seafiledb TO "'$db_name'"'
fi
ynh_script_progression --message="Upgrading source files..." --weight=6
ynh_script_progression --message="Installing sources files..." --weight=7
@ -71,11 +77,11 @@ case $installed_version in
"7.0"* )
# Fix file comment
pushd $install_dir/seafile-server-$seafile_version
sudo -u $seafile_user $install_dir/seafile-server-$seafile_version/seahub.sh python-env python3 seahub/manage.py migrate_file_comment
sudo -u $YNH_APP_ID $install_dir/seafile-server-$seafile_version/seahub.sh python-env python3 seahub/manage.py migrate_file_comment
popd
# Update seafile by script
sudo -u $seafile_user $expect_scripts_dir/upgrade_7.1.exp $install_dir/seafile-server-$seafile_version
sudo -u $YNH_APP_ID $expect_scripts_dir/upgrade_7.1.exp $install_dir/seafile-server-$seafile_version
# Fix seafile data link. Look like that the upgrade script of seafile don't always work correctly
if [ -e $install_dir/seafile-data ]; then
@ -85,14 +91,14 @@ case $installed_version in
ln -s $seafile_data $install_dir/seafile-data
;&
"7.1."* )
sudo -u $seafile_user $expect_scripts_dir/upgrade_8.0.exp $install_dir/seafile-server-$seafile_version
sudo -u $YNH_APP_ID $expect_scripts_dir/upgrade_8.0.exp $install_dir/seafile-server-$seafile_version
;&
"8.0."* )
sudo -u $seafile_user $expect_scripts_dir/upgrade_9.0.exp $install_dir/seafile-server-$seafile_version
sudo -u $YNH_APP_ID $expect_scripts_dir/upgrade_9.0.exp $install_dir/seafile-server-$seafile_version
;&
esac
sudo -u $seafile_user $expect_scripts_dir/minor-upgrade.exp $install_dir/seafile-server-$seafile_version
sudo -u $YNH_APP_ID $expect_scripts_dir/minor-upgrade.exp $install_dir/seafile-server-$seafile_version
# Clean url in config in DB
clean_url_in_db_config