#!/bin/bash #================================================= # COMMON VARIABLES #================================================= # dependencies used by the app pkg_dependencies="postgresql apt-transport-https redis-server" #================================================= # PERSONAL HELPERS #================================================= #================================================= # EXPERIMENTAL HELPERS #================================================= #================================================= # FUTURE OFFICIAL HELPERS #================================================= # Check the architecture # # example: architecture=$(ynh_detect_arch) # # usage: ynh_detect_arch # # Requires YunoHost version 2.2.4 or higher. ynh_detect_arch(){ local architecture if [ -n "$(uname -m | grep arm64)" ] || [ -n "$(uname -m | grep aarch64)" ]; then architecture="arm64" elif [ -n "$(uname -m | grep 64)" ]; then architecture="amd64" elif [ -n "$(uname -m | grep 86)" ]; then architecture="386" elif [ -n "$(uname -m | grep armv7)" ]; then architecture="arm7" elif [ -n "$(uname -m | grep armv6)" ]; then architecture="arm6" elif [ -n "$(uname -m | grep armv5)" ]; then architecture="arm5" else architecture="unknown" fi echo $architecture } #================================================= # REDIS 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 }