#!/sbin/openrc-run description="Uptime Kuma self-hosted monitoring tool" # Change $directory to path to uptime-kuma directory=${directory:-/usr/share/webapps/uptime-kuma} pidfile=${pidfile:-/run/$RC_SVCNAME.pid} DATA_DIR=${DATA_DIR:-/var/lib/uptime-kuma} log_dir="/var/log/$RC_SVCNAME" logfile=${logfile:-$log_dir/$RC_SVCNAME.log} output_log="${output_log:-$logfile}" error_log="${error_log:-$logfile}" command=${command:-/usr/bin/node} command_args="$directory/server/server.js" command_user=${command_user:-uptime-kuma:uptime-kuma} command_background=true depend() { need net } start_pre() { checkpath --owner=$command_user --directory $log_dir \ $DATA_DIR \ $DATA_DIR/upload checkpath --owner=$command_user --file $logfile \ $DATA_DIR/error.log [ ! -e $DATA_DIR/kuma.db ] && cp $directory/db/kuma.db $DATA_DIR checkpath --owner=$command_user --mode 600 --file $DATA_DIR/kuma.db* cd $directory export DATA_DIR UPTIME_KUMA_HOST UPTIME_KUMA_PORT UPTIME_KUMA_SSL_KEY \ UPTIME_KUMA_SSL_CERT UPTIME_KUMA_SSL_KEY_PASSPHRASE \ UPTIME_KUMA_CLOUDFLARED_TOKEN UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN \ UPTIME_KUMA_WS_ORIGIN_CHECK UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC \ NODE_EXTRA_CA_CERTS NODE_TLS_REJECT_UNAUTHORIZED NODE_OPTIONS } start_post() { # Wait for the server to be started sleep 10 }