about summary refs log tree commit diff
path: root/gn/services
diff options
context:
space:
mode:
Diffstat (limited to 'gn/services')
-rw-r--r--gn/services/bh20-seq-resource-container.scm12
-rw-r--r--gn/services/databases.scm5
-rw-r--r--gn/services/genome-browser.scm2
-rw-r--r--gn/services/pluto.scm14
4 files changed, 25 insertions, 8 deletions
diff --git a/gn/services/bh20-seq-resource-container.scm b/gn/services/bh20-seq-resource-container.scm
index cb77cdb..e0eccf7 100644
--- a/gn/services/bh20-seq-resource-container.scm
+++ b/gn/services/bh20-seq-resource-container.scm
@@ -5,6 +5,7 @@
              (guix modules)
              ((guix packages) #:select (package-source))
              (guix records)
+             (guix build-system python) ; for python-version from guix/build/python-build-system.scm
              (ice-9 match))
 (use-service-modules shepherd)
 (use-package-modules compression python python-web)
@@ -14,7 +15,7 @@
   make-covid19-pubseq-configuration
   covid19-pubseq-configuration?
   (package          covid19-pubseq-configuration-package    ; package
-                    (default bh20-seq-resource))
+                    (default bh20-seq-resource-for-service))
   (deploy-directory covid19-pubseq-deploy-directory         ; string
                     (default "/srv/http"))
   (port             covid19-pubseq-configuration-port       ; string
@@ -58,9 +59,10 @@
                           #:directory #$deploy-directory
                           #:log-file "/var/log/covid19-pubseq.log"
                           #:environment-variables
+                          ;(let (pyversion (python-version (@ (gnu packages python) python)))
                           '("TMPDIR=/export/tmp"
-                            ;; TODO: Don't hardcode python version!
-                            "PYTHONPATH=/run/current-system/profile/lib/python3.8/site-packages")
+                            "PYTHONPATH=/run/current-system/profile/lib/python3.9/site-packages")
+                          ;  (string-append "PYTHONPATH=/run/current-system/profile/lib/python" pyversion "/site-packages")))
                           ;#:mappings
                           ;(list (file-system-mapping
                           ;        (source "/export/tmp")
@@ -68,7 +70,7 @@
                           ;        (writable? #t))
                           ;      (file-system-mapping
                           ;        ;; TODO: Don't hardcode python version!
-                          ;        (source "/run/current-system/profile/lib/python3.8/site-packages")
+                          ;        (source "/run/current-system/profile/lib/python3.9/site-packages")
                           ;        (target source)))
                           ))
                (stop  #~(make-kill-destructor))))))))
@@ -104,3 +106,5 @@
   (packages '())
 
   (services (list (service covid19-pubseq-service-type))))
+
+;; guix system container /home/shepherd/guix-bioinformatics/gn/services/bh20-seq-resource-container.scm --share=/export/tmp=/export/tmp --network
diff --git a/gn/services/databases.scm b/gn/services/databases.scm
index 2b2b225..937aa9e 100644
--- a/gn/services/databases.scm
+++ b/gn/services/databases.scm
@@ -33,6 +33,8 @@
              (default "localhost"))
   (server-port virtuoso-configuration-server-port
                (default 1111))
+  (dirs-allowed virtuoso-dirs-allowed
+                (default "/var/genenetwork/virtuoso-data"))
   (number-of-buffers virtuoso-configuration-number-of-buffers
                      (default #f))
   (maximum-dirty-buffers virtuoso-configuration-maximum-dirty-buffers
@@ -84,6 +86,9 @@
                               (format port "ServerPort = ~a:~a~%"
                                       #$(virtuoso-configuration-server-ip config)
                                       #$(virtuoso-configuration-server-port config)))
+                            (when #$(virtuoso-dirs-allowed config)
+                                  (format port "DirsAllowed = ~a~%"
+                                          #$(virtuoso-dirs-allowed config)))
                             (when #$(virtuoso-configuration-number-of-buffers config)
                                   (format port "NumberOfBuffers = ~a~%"
                                           #$(virtuoso-configuration-number-of-buffers config)))
diff --git a/gn/services/genome-browser.scm b/gn/services/genome-browser.scm
index 2d14a42..e350674 100644
--- a/gn/services/genome-browser.scm
+++ b/gn/services/genome-browser.scm
@@ -130,7 +130,7 @@
                            (program (file-append ucsc-genome-browser "/bin/gfServer"))
                            (arguments
                              '("gfServer" "dynserver" "/gbdb")))))))
-          (syslog-service)  ; needed by inetd
+          (service syslog-service-type)  ; needed by inetd
           (service httpd-service-type
                    (httpd-configuration
                      (config
diff --git a/gn/services/pluto.scm b/gn/services/pluto.scm
index d137314..720b769 100644
--- a/gn/services/pluto.scm
+++ b/gn/services/pluto.scm
@@ -44,16 +44,20 @@
                (modules '((gnu build shepherd)
                           (gnu system file-systems)))
                (start #~(make-forkexec-constructor/container
-                          (list #$(file-append package "/runpluto.sh") #$port)
+                          ;(list #$(file-append package "/runpluto.sh") #$port)
+                          (list #$(file-append package "/runpluto"))
                           #:log-file "/var/log/pluto.log"
                           #:user "julia"
                           #:group "julia"
-                          ;; This needs to exist. Unclear why.
+                          ;; This prevents the service from using /root as $HOME.
                           #:environment-variables '()
                           #:mappings (list (file-system-mapping
                                              (source "/home/jovyan")
                                              (target source)
-                                             (writable? #t)))))
+                                             (writable? #t))
+                                           (file-system-mapping
+                                             (source "/etc/ssl")
+                                             (target source)))))
                (stop  #~(make-kill-destructor))))))))
 
 (define pluto-service-type
@@ -86,6 +90,10 @@
   ;; No firmware for VMs.
   (firmware '())
   (packages (list nss-certs))
+  ;; For testing
+  ;(packages (cons* nss-certs %base-packages))
+
+  (setuid-programs '())
 
   (services (list (service pluto-service-type
                            (pluto-configuration