#!/sbin/openrc-run supervisor=supervise-daemon name="Caddy web server" description="Fast, multi-platform web server with automatic HTTPS" description_checkconfig="Check configuration" description_reload="Reload configuration without downtime" : ${caddy_opts:="--config /etc/caddy/Caddyfile --adapter caddyfile"} command=/usr/sbin/caddy command_args="run $caddy_opts" command_user=caddy:caddy extra_commands="checkconfig" extra_started_commands="reload" output_log="/var/log/caddy.log" error_log="/var/log/caddy.log" depend() { need net localmount after firewall } checkconfig() { ebegin "Checking configuration for $name" su ${command_user%:*} -s /bin/sh -c "$command validate $caddy_opts" eend $? } reload() { ebegin "Reloading $name" su ${command_user%:*} -s /bin/sh -c "$command reload $caddy_opts" eend $? } start_pre() { checkpath -o $command_user -f $output_log } stop_pre() { if [ "$RC_CMD" = restart ]; then checkconfig || return $? fi }