diff --git a/caddy.nix b/caddy.nix index bc5fc81..1a05373 100755 --- a/caddy.nix +++ b/caddy.nix @@ -31,4 +31,17 @@ reverse_proxy 127.0.0.1:9911 ''; }; + + systemd.path."caddy-routes-reload" = { + wantedBy = [ "multi-user.target" ]; + pathConfig = { + PathChanged = "/var/lib/containers/routes/routes.caddy"; + }; + }; + + systemd.service."caddy-routes-reload" = { + script = '' + systemctl reload caddy + ''; + }; } diff --git a/panel/panelctl.sh b/panel/panelctl.sh index df40cb7..d3a2069 100644 --- a/panel/panelctl.sh +++ b/panel/panelctl.sh @@ -335,29 +335,29 @@ cmd_render_route() { log info "rendered route ${route_file}" } -maybe_reload_caddy() { - # Try Caddy admin API first (no root required) - if curl -sf -X POST http://localhost:2019/config/ >/dev/null 2>&1; then - log info "reloaded caddy via admin API" - return - fi +# maybe_reload_caddy() { +# # Try Caddy admin API first (no root required) +# if curl -sf -X POST http://localhost:2019/config/ >/dev/null 2>&1; then +# log info "reloaded caddy via admin API" +# return +# fi - # Validate config if caddy binary is available - if [[ -x /run/current-system/sw/bin/caddy && -f /etc/caddy/Caddyfile ]]; then - /run/current-system/sw/bin/caddy validate \ - --config /etc/caddy/Caddyfile --adapter caddyfile \ - || echo "warning: caddy validation failed" >&2 - fi +# # Validate config if caddy binary is available +# if [[ -x /run/current-system/sw/bin/caddy && -f /etc/caddy/Caddyfile ]]; then +# /run/current-system/sw/bin/caddy validate \ +# --config /etc/caddy/Caddyfile --adapter caddyfile \ +# || echo "warning: caddy validation failed" >&2 +# fi - # Fall back to systemctl (sudo if needed) - if [[ "${EUID}" -eq 0 ]]; then - systemctl reload caddy && log info "reloaded caddy" - elif sudo -n /run/current-system/sw/bin/systemctl reload caddy 2>/dev/null; then - log info "reloaded caddy via sudo" - else - log warning "caddy reload requires root; run: sudo systemctl reload caddy" - fi -} +# # Fall back to systemctl (sudo if needed) +# if [[ "${EUID}" -eq 0 ]]; then +# systemctl reload caddy && log info "reloaded caddy" +# elif sudo -n /run/current-system/sw/bin/systemctl reload caddy 2>/dev/null; then +# log info "reloaded caddy via sudo" +# else +# log warning "caddy reload requires root; run: sudo systemctl reload caddy" +# fi +# } cmd_deploy() { local name="$1"