2018-04-17 00:02:25 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
2019-04-03 14:35:09 +02:00
|
|
|
#=================================================
|
|
|
|
# COMMON VARIABLES
|
|
|
|
#=================================================
|
|
|
|
|
2022-10-04 00:13:33 +02:00
|
|
|
# dependencies used by the app (must be on a single line)
|
2021-04-16 14:14:27 +02:00
|
|
|
pkg_dependencies="curl python3-pip python3-venv git unzip libldap2-dev libsasl2-dev gettext-base zlib1g-dev libffi-dev libssl-dev \
|
|
|
|
build-essential ffmpeg libjpeg-dev libmagic-dev libpq-dev postgresql postgresql-contrib python3-dev make \
|
|
|
|
redis-server \
|
2019-04-03 14:35:09 +02:00
|
|
|
`# add arm support` \
|
|
|
|
zlib1g-dev libffi-dev libssl-dev"
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
# PERSONAL HELPERS
|
|
|
|
#=================================================
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
# EXPERIMENTAL HELPERS
|
|
|
|
#=================================================
|
|
|
|
|
2018-05-12 23:57:20 +02:00
|
|
|
#=================================================
|
|
|
|
#
|
|
|
|
# Redis HELPERS
|
|
|
|
#
|
|
|
|
# Point of contact : Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
|
|
|
|
#=================================================
|
|
|
|
|
|
|
|
# get the first available redis database
|
2018-04-17 00:02:25 +02:00
|
|
|
#
|
2018-05-12 23:57:20 +02:00
|
|
|
# usage: ynh_redis_get_free_db
|
|
|
|
# | returns: the database number to use
|
|
|
|
ynh_redis_get_free_db() {
|
2018-05-20 19:58:33 +02:00
|
|
|
local result max db
|
2018-05-12 23:57:20 +02:00
|
|
|
result=$(redis-cli INFO keyspace)
|
|
|
|
|
2018-05-20 19:58:33 +02:00
|
|
|
# get the num
|
|
|
|
max=$(cat /etc/redis/redis.conf | grep ^databases | grep -Eow "[0-9]+")
|
|
|
|
|
2018-05-12 23:57:20 +02:00
|
|
|
db=0
|
|
|
|
# default Debian setting is 15 databases
|
2018-05-20 19:58:33 +02:00
|
|
|
for i in $(seq 0 "$max")
|
2018-05-12 23:57:20 +02:00
|
|
|
do
|
|
|
|
if ! echo "$result" | grep -q "db$i"
|
|
|
|
then
|
|
|
|
db=$i
|
|
|
|
break 1
|
|
|
|
fi
|
2018-06-03 15:44:13 +02:00
|
|
|
db=-1
|
2018-05-12 23:57:20 +02:00
|
|
|
done
|
2018-04-17 00:02:25 +02:00
|
|
|
|
2019-05-14 22:55:26 +02:00
|
|
|
test "$db" -eq -1 && ynh_die --message="No available Redis databases..."
|
2018-05-20 19:58:33 +02:00
|
|
|
|
2018-05-12 23:57:20 +02:00
|
|
|
echo "$db"
|
2018-04-17 00:02:25 +02:00
|
|
|
}
|
|
|
|
|
2018-05-12 23:57:20 +02:00
|
|
|
# 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
|
|
|
|
}
|