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-13 11:51:13 +01:00 committed by Félix Piédallu
parent 15821d889d
commit 0cfad2a85c
8 changed files with 65 additions and 64 deletions

View file

@ -7,7 +7,7 @@ location __PATH__/ {
rewrite ^(.*)$ /index.php?req=$1;
}
client_max_body_size 20m;
client_max_body_size 50m;
client_body_buffer_size 128k;
# Default indexes and catch-all
@ -31,15 +31,6 @@ location __PATH__/ {
}
}
# statically serve these file types when possible
# otherwise fall back to front controller
# allow browser to cache them
# added .htm for advanced source code editor library
# location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|map|ttf|woff|woff2|svg)$ {
# expires 30d;
# try_files $uri /index.php?q=$uri&$args;
# }
# block these file types
location ~* \.(tpl|md|tgz|log|out)$ {
deny all;

View file

@ -38,11 +38,11 @@ ram.runtime = "50M"
type = "user"
[install.database]
ask.en = "Choose the database to be used for the Zap [mysql:1,postgresql:2]"
ask.fr = "Choisissez la database de l'Zap [mysql:1,postgresql:2]"
ask.en = "Do you need a database?"
ask.fr = "Avez-vous besoin d'une base de données ?"
type = "select"
choices = ["1", "2"]
default = "1"
choices = [ "mysql", "postgresql" ]
default = "mysql"
[resources]
[resources.sources]
@ -64,7 +64,14 @@ ram.runtime = "50M"
main.url = "/"
[resources.apt]
packages = "postgresql postgresql-contrib php7.4-mbstring php7.4-cli php7.4-imagick php7.4-xml php7.4-zip php7.4-pgsql php7.4-mysql php7.4-json php7.4-gd"
packages = "php7.4-mbstring, php7.4-cli, php7.4-imagick, php7.4-xml, php7.4-zip, php7.4-json, php7.4-gd"
[resources.database]
type = "mysql"
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
"""

View file

@ -55,12 +55,11 @@ ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf"
# BACKUP OF THE DATABASE
#=================================================
if [ $database -eq 1 ]; then
if [ $database == "mysql" ]; then
ynh_print_info --message="Backup of the MySQL database..."
ynh_mysql_dump_db --database="$db_name" > db.sql
elif [ $database -eq 2 ]; then
# Removing postgresSQL database
ynh_print_info --message="Backup of the postgreSQL database..."
else
ynh_print_info --message="Backup of the PostgreSQL database..."
ynh_psql_dump_db --database="$db_name" > db.sql
fi

View file

@ -101,27 +101,24 @@ chown -R $app:www-data "$install_dir"
# CREATE A DATABASE
#=================================================
if [ $database -eq 1 ]; then
#REMOVEME? ynh_script_progression --message="Creating a MySQL database..."
db_name=$(ynh_sanitize_dbid --db_name=$app)
db_user=$db_name
#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name
#REMOVEME? ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name
ynh_script_progression --message="Importing database..."
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..."
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 -eq 2 ]; then
# Create postgresql database
ynh_script_progression --message="Creating a postgresql database..."
ynh_replace_string --match_string="db_type = 0;" --replace_string="db_type = 1;" --target_file="$config"
db_name=$(ynh_sanitize_dbid --db_name=$app)
db_user=$app
#REMOVEME? ynh_psql_test_if_first_run
#REMOVEME? ynh_psql_setup_db --db_user=$db_user --db_name=$db_name
#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name
ynh_script_progression --message="Importing database..."
ynh_psql_connect_as --user="$db_name" --password="$db_pwd" --database="$db_name" < $install_dir/install/schema_postgres.sql
else
ynh_die --message="Some problem occured in creating the database, contact maintainer"
# Create postgresql database
ynh_script_progression --message="Creating a PostgreSQL database..."
ynh_replace_string --match_string="db_type = 0;" --replace_string="db_type = 1;" --target_file="$config"
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
#=================================================

View file

@ -13,13 +13,11 @@ source /usr/share/yunohost/helpers
# REMOVE THE DATABASE
#=================================================
if [ $database -eq 1 ]; then
#REMOVEME? ynh_script_progression --message="Removing MySQL database..."
#REMOVEME? ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name
elif [ $database -eq 2 ]; then
# Removing postgresql database
#REMOVEME? ynh_script_progression --message="Removing postgreSQL database..."
#REMOVEME? ynh_psql_remove_db --db_user=$db_user --db_name=$db_name
# 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
else
ynh_psql_remove_db --db_user=$db_user --db_name=$db_name
fi
#=================================================

View file

@ -24,23 +24,18 @@ chown -R $app:www-data "$install_dir"
#=================================================
# RESTORE THE MYSQL DATABASE
#=================================================
#REMOVEME? ynh_script_progression --message="Restoring the MySQL database..."
ynh_script_progression --message="Restoring the MySQL database..."
if [ $database -eq 1 ]; then
#REMOVEME? ynh_script_progression --message="Restoring MySQL database..."
#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
#REMOVEME? ynh_mysql_setup_db --db_user=$db_name --db_name=$db_name --db_pwd=$db_pwd
ynh_mysql_connect_as --user=$db_name --password=$db_pwd --database=$db_name < ./db.sql
elif [ $database -eq 2 ]; then
# Removing postgresql database
#REMOVEME? ynh_script_progression --message="Reinstalling dependencies..."
# Define and install dependencies
#REMOVEME? ynh_install_app_dependencies $pkg_dependencies
#REMOVEME? ynh_script_progression --message="Restoring the PostgreSQL database..."
#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd)
#REMOVEME? ynh_psql_test_if_first_run
#REMOVEME? ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
ynh_psql_execute_file_as_root --file="./db.sql" --database="$db_name"
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name
db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd)
if [ $database == "mysql" ]; then
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
else
ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
ynh_psql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
fi
#=================================================

View file

@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers
#=================================================
# LOAD SETTINGS
#=================================================
#REMOVEME? ynh_script_progression --message="Loading installation settings..."
ynh_script_progression --message="Loading installation settings..."
version=$(grep STD_VERSION $install_dir/boot.php | cut -c 38- | rev | cut -c 5- | rev)
last_update=$(grep update_time: /etc/yunohost/apps/$app/settings.yml | cut -c 14-)

14
tests.toml Normal file
View file

@ -0,0 +1,14 @@
test_format = 1.0
[default]
# -------------------------------
# Default args to use for install
# -------------------------------
args.database = "mysql"
[postgresql_test]
only = ["install.subdir", "backup_restore", "upgrade" ]
args.database = "postgresql"