1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/zap_ynh.git synced 2024-09-03 20:36:07 +02:00
This commit is contained in:
Éric Gaspar 2023-11-17 18:20:32 +01:00 committed by Félix Piédallu
parent 5b8c3a3bc5
commit 3dd34d0f1e
6 changed files with 14 additions and 96 deletions

View file

@ -1,20 +0,0 @@
;; Test complet
; Manifest
domain="domain.tld"
admin="john"
upload="256M"
database="1"
; Checks
pkg_linter=1
setup_sub_dir=0
setup_root=1
setup_nourl=0
setup_private=0
setup_public=1
upgrade=1
backup_restore=1
multi_instance=1
change_url=0
;;; Options
Email=
Notification=

View file

@ -38,13 +38,6 @@ ram.runtime = "50M"
[install.admin]
type = "user"
[install.database]
ask.en = "Do you need a database?"
ask.fr = "Avez-vous besoin d'une base de données ?"
type = "select"
choices = [ "mysql", "postgresql" ]
default = "mysql"
[resources]
[resources.sources]
[resources.sources.main]
@ -65,13 +58,4 @@ ram.runtime = "50M"
main.url = "/"
[resources.apt]
packages = "php7.4-mbstring, php7.4-cli, php7.4-imagick, php7.4-xml, php7.4-zip, php7.4-json, php7.4-gd"
packages_from_raw_bash = """
if [[ "$database" == "mysql" ]]; then
echo "mariadb-server, php7.4-mysql"
elif [[ "$database" == "postgresql" ]]; then
echo "postgresql, postgresql-contrib, php7.4-pgsql"
fi
"""
packages = "postgresql, postgresql-contrib, php7.4-pgsql, php7.4-mbstring, php7.4-cli, php7.4-imagick, php7.4-xml, php7.4-zip, php7.4-json, php7.4-gd"

View file

@ -54,14 +54,9 @@ ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf"
#=================================================
# BACKUP OF THE DATABASE
#=================================================
if [ $database == "mysql" ]; then
ynh_print_info --message="Backup of the MySQL database..."
ynh_mysql_dump_db --database="$db_name" > db.sql
elif [ $database == "postgresql" ]; then
ynh_print_info --message="Backup of the PostgreSQL database..."
ynh_psql_dump_db --database="$db_name" > db.sql
fi
#=================================================
# END OF SCRIPT

View file

@ -27,22 +27,28 @@ ynh_app_setting_set --app=$app --key=random_string --value=$random_string
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
# 1 - Zap
ynh_script_progression --message="Setting up Zap source files..."
ynh_setup_source --dest_dir="$install_dir"
# Download, check integrity, uncompress and patch the source from app.src
git clone https://codeberg.org/zot-archive/zap.git "$install_dir" --quiet
#git clone https://codeberg.org/zot-archive/zap.git "$install_dir" --quiet
# 2 - Zap Addons
# Make addon Directory and unpack the addons to this directory
ynh_script_progression --message="Setting up Zap addons source files..."
pushd "$install_dir"
mkdir -p extend/addon/zaddons
mkdir addon
git clone https://codeberg.org/zot-archive/zap-addons.git $install_dir/extend/addon/zaddons --quiet
ynh_setup_source --dest_dir="$install_dir/extend/addon/zaddons" --source="app_addons"
#git clone https://codeberg.org/zot-archive/zap-addons.git $install_dir/extend/addon/zaddons --quiet
filelist=(`ls extend/addon/zaddons`)
cd addon
for a in "${filelist[@]}" ; do
@ -64,11 +70,8 @@ pushd "$install_dir"
ln -s ../extend/addon/zaddons/$base $base
done
popd
# 3 - Some extra folders
ynh_script_progression --message="Creating smarty3 folder for personal data..."
@ -83,31 +86,6 @@ chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
#=================================================
# CREATE A DATABASE
#=================================================
db_name=$(ynh_sanitize_dbid --db_name=$app)
db_user=$db_name
db_pwd=$(ynh_string_random --length=30)
ynh_app_setting_set --app=$app --key=db_name --value=$db_name
ynh_app_setting_set --app=$app --key=db_user --value=$db_user
ynh_app_setting_set --app=$app --key=db_pwd --value=$db_pwd
if [ $database == "mysql" ]; then
ynh_script_progression --message="Creating a MySQL database..."
db_type=0
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name
ynh_mysql_connect_as --user="$db_name" --password="$db_pwd" --database="$db_name" < $install_dir/install/schema_mysql.sql
elif [ $database == "postgresql" ]; then
# Create postgresql database
ynh_script_progression --message="Creating a PostgreSQL database..."
db_type=1
ynh_psql_test_if_first_run
ynh_psql_setup_db --db_user=$db_user --db_name=$db_name
ynh_psql_connect_as --user="$db_name" --password="$db_pwd" --database="$db_name" < $install_dir/install/schema_postgres.sql
fi
#=================================================
# ADD A CONFIGURATION
#=================================================

View file

@ -9,17 +9,6 @@
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# REMOVE THE DATABASE
#=================================================
# Remove a database if it exists, along with the associated user
if [ $database == "mysql" ]; then
ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name
elif [ $database == "postgresql" ]; then
ynh_psql_remove_db --db_user=$db_user --db_name=$db_name
fi
#=================================================
# REMOVE NGINX CONFIGURATION
#=================================================

View file

@ -25,15 +25,7 @@ chown -R $app:www-data "$install_dir"
#=================================================
ynh_script_progression --message="Restoring the MySQL database..."
db_name=$(ynh_sanitize_dbid --db_name=$app)
db_user=$db_name
db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd)
if [ $database == "mysql" ]; then
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
elif [ $database == "postgresql" ]; then
ynh_psql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
fi
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION