summaryrefslogtreecommitdiff
path: root/gnu/services
diff options
context:
space:
mode:
authorNox <noximilien@riseup.net>2026-05-19 03:16:21 +0200
committerNguyễn Gia Phong <cnx@loang.net>2026-06-07 22:38:56 +0900
commit7828ae694d41917ff892d4b8ca65855ee9e52110 (patch)
treecae2ed52fe375d69ce213ed8990894db3a3f7612 /gnu/services
parentc36471f48940e4ac13f32dde3b307b810772d417 (diff)
services: prosody-shepherd-service: Execute prosody directly.
System services should start the prosody binary directly, with the prosody user and group. * gnu/services/messaging.scm (prosody-shepherd-service): Run prosody directly. Change-Id: Iaf39d2fbd362f44f0d4de32cfbac1a31754d95dc Merges: https://codeberg.org/guix/guix/pulls/8711 Reviewed-by: Carlo Zancanaro <carlo@zancanaro.id.au> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/messaging.scm17
1 files changed, 7 insertions, 10 deletions
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index ab89338969c..f0f1c5ee18d 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -841,23 +841,20 @@ See also @url{https://prosody.im/doc/modules/mod_muc}."
841 (let* ((prosody (if (opaque-prosody-configuration? config) 841 (let* ((prosody (if (opaque-prosody-configuration? config)
842 (opaque-prosody-configuration-prosody config) 842 (opaque-prosody-configuration-prosody config)
843 (prosody-configuration-prosody config))) 843 (prosody-configuration-prosody config)))
844 (prosodyctl-bin (file-append prosody "/bin/prosodyctl"))
845 (pid-file (prosody-configuration-pidfile config)) 844 (pid-file (prosody-configuration-pidfile config))
846 (prosodyctl-action (lambda args 845 (prosody-bin (file-append prosody "/bin/prosody")))
847 #~(lambda _
848 (invoke #$prosodyctl-bin #$@args)
849 (match '#$args
850 (("start")
851 (call-with-input-file #$pid-file read))
852 (_ #t))))))
853 (list (shepherd-service 846 (list (shepherd-service
854 (documentation "Run the Prosody XMPP server") 847 (documentation "Run the Prosody XMPP server")
855 (provision '(prosody xmpp-daemon)) 848 (provision '(prosody xmpp-daemon))
856 (requirement '(networking syslogd user-processes)) 849 (requirement '(networking syslogd user-processes))
857 (modules `((ice-9 match) 850 (modules `((ice-9 match)
858 ,@%default-modules)) 851 ,@%default-modules))
859 (start (prosodyctl-action "start")) 852 (start #~(make-forkexec-constructor
860 (stop (prosodyctl-action "stop")))))) 853 (list #$prosody-bin "-F")
854 #:user "prosody"
855 #:group "prosody"
856 #:pid-file #$pid-file))
857 (stop #~(make-kill-destructor))))))
861 858
862(define %prosody-accounts 859(define %prosody-accounts
863 (list (user-group (name "prosody") (system? #t)) 860 (list (user-group (name "prosody") (system? #t))