(define-module (vkraus modules web) #:use-module (gnu services) #:use-module (gnu services admin) #:use-module (gnu services web) #:use-module (guix gexp) #:use-module (guix modules) #:use-module (guix records) #:use-module (ice-9 match) #:use-module (ice-9 optargs)) (define-public nginx-rotate-log-service-type (service-type (name 'nginx-rotate-log) (description "Manage the nginx log files with rottlog.") (default-value #f) (extensions (list (service-extension rottlog-service-type (const (list (log-rotation (frequency 'daily) (files '("/var/log/nginx/access.log" "/var/log/nginx/error.log")) (options '("sharedscripts" "storedir /var/log/nginx")) (post-rotate #~(let ((pid (call-with-input-file "/var/run/nginx/pid" read))) (kill pid SIGUSR1)))))))))))