1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/fittrackee_ynh.git synced 2024-09-03 18:36:16 +02:00

prepare mails (add redis)

This commit is contained in:
Thomas 2023-09-14 19:16:04 +02:00 committed by GitHub
parent aacd794144
commit 1159bd34a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 67 additions and 4 deletions

View file

@ -17,7 +17,7 @@ DATABASE_URL=postgresql://__DB_USER__:__DB_PWD__@:5432/__DB_NAME__
# DATABASE_DISABLE_POOLING=
# Redis (required for API rate limits and email sending)
REDIS_URL=redis://
REDIS_URL=redis://127.0.0.1:6379/__REDIS_DB__
# API rate limits
# API_RATE_LIMITS="300 per 5 minutes"

View file

@ -14,6 +14,44 @@ fittrackee_version="0.7.23"
# EXPERIMENTAL HELPERS
#=================================================
# get the first available redis database
#
# usage: ynh_redis_get_free_db
# | returns: the database number to use
ynh_redis_get_free_db() {
local result max db
result=$(redis-cli INFO keyspace)
# get the num
max=$(cat /etc/redis/redis.conf | grep ^databases | grep -Eow "[0-9]+")
db=0
# default Debian setting is 15 databases
for i in $(seq 0 "$max")
do
if ! echo "$result" | grep -q "db$i"
then
db=$i
break 1
fi
db=-1
done
test "$db" -eq -1 && ynh_die --message="No available Redis databases..."
echo "$db"
}
# Create a master password and set up global settings
# Please always call this script in install and restore scripts
#
# usage: ynh_redis_remove_db database
# | arg: database - the database to erase
ynh_redis_remove_db() {
local db=$1
redis-cli -n "$db" flushall
}
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================

View file

@ -36,10 +36,10 @@ ynh_change_url_nginx_config
#=================================================
# MODIFY THE CONFIG FILE
#=================================================
#ynh_script_progression --message="Modifying a config file..." --weight=1
ynh_script_progression --message="Modifying a config file..." --weight=1
#domain=$new_domain
#ynh_add_config --template="../conf/env.production" --destination="$install_dir/config/.env"
domain=$new_domain
ynh_add_config --template="../conf/env.production" --destination="$install_dir/config/.env"
#=================================================
# START SYSTEMD SERVICE

View file

@ -30,6 +30,11 @@ chown -R $app:www-data /var/log/$app/
# CONFIGURE THE INSTALL SCRIPT
#=================================================
# Configure redis
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --app="$app" --key=redis_db --value="$redis_db"
# key for the .env __KEY__
key=$(ynh_string_random --length=45 | base64)
ynh_app_setting_set --app=$app --key=key --value=$key

View file

@ -9,6 +9,12 @@
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# LOAD SETTINGS
#=================================================
ynh_script_progression --message="Loading installation settings..."
redis_db=$(ynh_app_setting_get --app=$app --key=redis_db)
#=================================================
# STANDARD REMOVE
@ -47,6 +53,9 @@ ynh_remove_logrotate
# Remove the log files
ynh_secure_remove --file="/var/log/$app"
# Remove the redis database
ynh_redis_remove_db "$redis_db"
#=================================================
# END OF SCRIPT

View file

@ -7,6 +7,7 @@
#=================================================
source _common.sh
source ynh_redis
source /usr/share/yunohost/helpers
#=================================================
@ -22,6 +23,16 @@ admin_mail=$(ynh_user_get_info --username=$admin --key=mail)
upgrade_type=$(ynh_check_app_version_changed)
#=================================================
# ENSURE DOWNWARD COMPATIBILITY
#=================================================
# If redis_db doesn't exist, create it
if [ -z "$redis_db" ]; then
redis_db=$(ynh_redis_get_free_db)
ynh_app_setting_set --app="$app" --key=redis_db --value="$redis_db"
fi
#=================================================
# STANDARD UPGRADE STEPS
#=================================================