diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index db56e21..f3cdeac 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -13,6 +13,7 @@ caddy-configuration? caddy-shepherd-service caddy-service-type + caddy-with-extensions-service-type )) @@ -64,11 +65,33 @@ (capabilities "cap_net_admin,cap_net_bind_service=+ep") ))) +(define %caddy-with-extensions-priv + (list + (privileged-program + (program (file-append caddy-dirty "/sbin/caddy")) + (capabilities "cap_net_admin,cap_net_bind_service=+ep") + ))) + +(define %caddy-activation + #~(begin (define %caddy-activation #~(begin (chmod "/var/lib/caddy" #o0770) #t )) +(define caddy-with-extensions-service-type + (service-type + (name 'caddy) + (default-value (caddy-configuration)) + (extensions (list + (service-extension shepherd-root-service-type caddy-service) + (service-extension privileged-program-service-type (const %caddy-with-extensions-priv)) + (service-extension account-service-type (const %caddy-accounts)) + (service-extension activation-service-type (const %caddy-activation)) + )) + (description "run caddy web server service"))) + + (define caddy-service-type (service-type (name 'caddy) @@ -80,4 +103,3 @@ (service-extension activation-service-type (const %caddy-activation)) )) (description "run caddy web server service"))) -