guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/04: services: dicod: Run in a container.


From: Ludovic Courtès
Subject: 04/04: services: dicod: Run in a container.
Date: Wed, 22 Nov 2017 17:18:40 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 9e549ad1c3a576eed1fb095a2d14613bce83b9ee
Author: Ludovic Courtès <address@hidden>
Date:   Wed Nov 22 23:16:01 2017 +0100

    services: dicod: Run in a container.
    
    * gnu/services/dict.scm (dicod-shepherd-service): Add
    'with-imported-modules' form and 'modules' field.  Use
    'make-forkexec-constructor/container' instead of
    'make-forkexec-constructor'.
---
 gnu/services/dict.scm | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm
index 69eadaf..c8403c0 100644
--- a/gnu/services/dict.scm
+++ b/gnu/services/dict.scm
@@ -21,6 +21,7 @@
 (define-module (gnu services dict)
   #:use-module (guix gexp)
   #:use-module (guix records)
+  #:use-module (guix modules)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu system shadow)
@@ -144,14 +145,23 @@ database {
   (let ((dicod      (file-append (dicod-configuration-dico config)
                                  "/bin/dicod"))
         (dicod.conf (dicod-configuration-file config)))
-    (list (shepherd-service
-           (provision '(dicod))
-           (documentation "Run the dicod daemon.")
-           (start #~(make-forkexec-constructor
-                     (list #$dicod "--foreground"
-                           (string-append "--config=" #$dicod.conf))
-                     #:user "dicod" #:group "dicod"))
-          (stop #~(make-kill-destructor))))))
+    (with-imported-modules (source-module-closure
+                            '((gnu build shepherd)
+                              (gnu system file-systems)))
+      (list (shepherd-service
+             (provision '(dicod))
+             (documentation "Run the dicod daemon.")
+             (modules '((gnu build shepherd)
+                        (gnu system file-systems)))
+             (start #~(make-forkexec-constructor/container
+                       (list #$dicod "--foreground"
+                             (string-append "--config=" #$dicod.conf))
+                       #:user "dicod" #:group "dicod"
+                       #:mappings (list (file-system-mapping
+                                         (source "/var/run/dicod")
+                                         (target source)
+                                         (writable? #t)))))
+             (stop #~(make-kill-destructor)))))))
 
 (define dicod-service-type
   (service-type



reply via email to

[Prev in Thread] Current Thread [Next in Thread]