aboutsummaryrefslogtreecommitdiff
path: root/tw/services/docker.scm
diff options
context:
space:
mode:
authorTimo Wilken2024-02-25 21:29:43 +0100
committerTimo Wilken2024-02-25 23:36:55 +0100
commit0c6999726c122ad9c3b89b1ed4e674017b1aeec4 (patch)
tree84e3bd881cf49aa8ca87b9159baaa06cd411bd78 /tw/services/docker.scm
parentb412b0e44c540353481762430b946741872e88f4 (diff)
Add Paperless-ngx service
Diffstat (limited to 'tw/services/docker.scm')
-rw-r--r--tw/services/docker.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/tw/services/docker.scm b/tw/services/docker.scm
index 8361991f..46c7a933 100644
--- a/tw/services/docker.scm
+++ b/tw/services/docker.scm
@@ -61,7 +61,9 @@ following run.")
(docker-args (list-of-strings '()) "Extra command-line arguments to pass to
@code{docker run}.")
(docker-cli (package docker-cli) "The package containing the Docker
-executable to use."))
+executable to use.")
+ (extra-requirements (list-of-symbols '()) "Any Shepherd services on the host
+system that this container relies on."))
(define (docker-container-shepherd-service config)
(match-record config <docker-container-configuration>
@@ -75,7 +77,8 @@ executable to use."))
read-only-root?
remove-after-stop?
docker-args
- docker-cli)
+ docker-cli
+ extra-requirements)
(let ((docker-run-args
`(,@(if read-only-root? '("--read-only") '())
@@ -100,7 +103,8 @@ executable to use."))
(shepherd-service
(provision (list (string->symbol
(string-append "docker-container-" (maybe-value name image)))))
- (requirement `(dockerd ,@(if (string=? network-type "none") '() '(networking))))
+ (requirement `(dockerd ,@(if (string=? network-type "none") '() '(networking))
+ ,@extra-requirements))
(documentation (format #f "Run a Docker container called ~s from the image ~s."
(maybe-value name) image))
(start #~(lambda ()