mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-13 03:09:51 +03:00
94 lines
1.8 KiB
Bash
94 lines
1.8 KiB
Bash
#!/sbin/openrc-run
|
|
|
|
name=azorius
|
|
description="Azorius is an ActivityPub link aggregator and comment forum"
|
|
|
|
extra_stopped_commands="setup upgradedb cleanup"
|
|
extra_started_commands="adduser chpass"
|
|
description_setup="Initialize a new azorius.db"
|
|
description_upgradedb="Upgrade azorius.db to new schema"
|
|
description_cleanup="Move old attachments to trash"
|
|
description_adduser="Add a new user account"
|
|
description_chpass="Change password of user"
|
|
|
|
: ${data_dir:="/var/lib/azorius"}
|
|
: ${view_dir:="/usr/share/webapps/azorius"}
|
|
: ${log_file:="/var/log/azorius.log"}
|
|
: ${listen_addr:="127.0.0.1:8282"}
|
|
|
|
command="/usr/bin/azorius"
|
|
command_args="
|
|
-datadir $data_dir
|
|
-viewdir $view_dir
|
|
-log $log_file
|
|
$extra_opts
|
|
"
|
|
command_background="yes"
|
|
command_user="azorius:azorius"
|
|
pidfile="/run/${RC_SVCNAME}.pid"
|
|
|
|
depend() {
|
|
need localmount net
|
|
after firewall
|
|
}
|
|
|
|
fix_perms() {
|
|
checkpath -f -m 0640 -o "$command_user" "$log_file"
|
|
checkpath -d -m 0750 -o "$command_user" "$data_dir"
|
|
}
|
|
|
|
start_pre() {
|
|
fix_perms || return 1
|
|
|
|
if [ ! -f "$data_dir/azorius.db" ]; then
|
|
setup || return 1
|
|
fi
|
|
|
|
azorius_exec setconfig listenaddr "$listen_addr"
|
|
}
|
|
|
|
setup() {
|
|
local db_file="$data_dir/azorius.db"
|
|
|
|
fix_perms || return 1
|
|
|
|
if [ -f "$db_file" ]; then
|
|
eerror "$db_file already exists!"
|
|
return 1
|
|
fi
|
|
|
|
ebegin "Creating a new database at $db_file"
|
|
azorius_exec init
|
|
eend $?
|
|
}
|
|
|
|
adduser() {
|
|
azorius_exec adduser
|
|
}
|
|
|
|
chpass() {
|
|
read -p "username: " username
|
|
|
|
azorius_exec chpass $username
|
|
}
|
|
|
|
upgradedb() {
|
|
fix_perms || return 1
|
|
|
|
ebegin "Upgrading the Azorius database"
|
|
azorius_exec upgrade
|
|
eend $?
|
|
}
|
|
|
|
cleanup() {
|
|
fix_perms || return 1
|
|
|
|
ebegin "Cleaning up Azorius attachments"
|
|
azorius_exec trash
|
|
eend $?
|
|
}
|
|
|
|
azorius_exec() {
|
|
start-stop-daemon --exec "$command" --user "$command_user" \
|
|
-- $command_args $*
|
|
}
|