aports/community/redis/redis.initd
Jakub Jirutka c036781008 community/redis: move from main
Redis is not a free software (per OSI) anymore, it's being replaced with
its fork named Valkey.
2024-05-01 07:21:25 +00:00

42 lines
948 B
Bash

#!/sbin/openrc-run
name="Redis server"
: ${cfgfile:=${REDIS_CONF:-"/etc/redis.conf"}}
: ${command_user:="${REDIS_USER:-redis}:${REDIS_GROUP:-redis}"}
: ${retry:=30}
command="/usr/bin/redis-server"
command_args="$cfgfile --daemonize no $command_args"
command_background="yes"
pidfile="/run/$RC_SVCNAME.pid"
required_files="$cfgfile"
depend() {
use net localmount logger
after keepalived firewall
}
start_pre() {
# Sets start-start-daemon's --chdir.
directory=$(config_get 'dir' '/var/lib/redis')
checkpath -d -o "$command_user" "$directory"
local logfile=$(config_get 'logfile')
[ "$logfile" ] && checkpath -d -o "$command_user" "${logfile%/*}"
local unixsocket=$(config_get 'unixsocket')
[ "$unixsocket" ] && checkpath -d -o "$command_user" "${unixsocket%/*}"
return 0
}
config_get() {
local key="$1"
local default="${2:-}"
local value=$(awk "\$1 == \"$key\" { print \$2 }" "$cfgfile")
printf '%s\n' "${value:-$default}"
}