about summary refs log tree commit diff
path: root/gn/services/databases.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/services/databases.scm')
-rw-r--r--gn/services/databases.scm33
1 files changed, 28 insertions, 5 deletions
diff --git a/gn/services/databases.scm b/gn/services/databases.scm
index 937aa9e..fbdf39e 100644
--- a/gn/services/databases.scm
+++ b/gn/services/databases.scm
@@ -34,7 +34,7 @@
   (server-port virtuoso-configuration-server-port
                (default 1111))
   (dirs-allowed virtuoso-dirs-allowed
-                (default "/var/genenetwork/virtuoso-data"))
+                (default (list "/var/genenetwork/virtuoso-data")))
   (number-of-buffers virtuoso-configuration-number-of-buffers
                      (default #f))
   (maximum-dirty-buffers virtuoso-configuration-maximum-dirty-buffers
@@ -42,7 +42,22 @@
   (http-server-ip virtuoso-configuration-http-server-ip
                   (default "localhost"))
   (http-server-port virtuoso-configuration-http-server-port
-                    (default 8890)))
+                    (default 8890))
+  (checkpoint-interval virtuoso-configuration-checkpoint-interval
+                       (default "60"))
+  (scheduler-interval virtuoso-configuration-scheduler-interval
+                      (default "10"))
+  ;; Database settings
+  (database-file virtuoso-configuration-database-file
+                 (default "/var/lib/virtuoso/virtuoso.db"))
+  (lock-file virtuoso-configuration-lock-file
+                 (default "/var/lib/virtuoso/virtuoso.lck"))
+  (transaction-file virtuoso-configuration-transaction-file
+                    (default "/var/lib/virtuoso/virtuoso.trx"))
+  (error-log-file virtuoso-configuration-error-log-file
+                  (default "/var/lib/virtuoso/virtuoso-errors.log"))
+  (syslog virtuoso-configuration-syslog
+          (default "0")))
 
 (define (virtuoso-activation config)
   (with-imported-modules '((guix build utils))
@@ -67,6 +82,7 @@
          (home-directory "/var/lib/virtuoso")
          (shell (file-append shadow "/sbin/nologin")))))
 
+
 (define (virtuoso-shepherd-service config)
   (shepherd-service
    (documentation "Run Virtuoso.")
@@ -86,9 +102,9 @@
                               (format port "ServerPort = ~a:~a~%"
                                       #$(virtuoso-configuration-server-ip config)
                                       #$(virtuoso-configuration-server-port config)))
-                            (when #$(virtuoso-dirs-allowed config)
+                            (when #$(>= (length (virtuoso-dirs-allowed config)) 1)
                                   (format port "DirsAllowed = ~a~%"
-                                          #$(virtuoso-dirs-allowed config)))
+                                          #$(string-join (virtuoso-dirs-allowed config) ",")))
                             (when #$(virtuoso-configuration-number-of-buffers config)
                                   (format port "NumberOfBuffers = ~a~%"
                                           #$(virtuoso-configuration-number-of-buffers config)))
@@ -100,7 +116,14 @@
                               (format port "[HTTPServer]~%")
                               (format port "ServerPort = ~a:~a~%"
                                       #$(virtuoso-configuration-http-server-ip config)
-                                      #$(virtuoso-configuration-http-server-port config)))))))
+                                      #$(virtuoso-configuration-http-server-port config)))
+                            (format port
+                                    "[Database]~%DatabaseFile = ~a~%LockFile = ~a~%TransactionFile = ~a~%ErrorLogFile = ~a~%Syslog = ~a~%"
+                                    #$(virtuoso-configuration-database-file config)
+                                    #$(virtuoso-configuration-lock-file config)
+                                    #$(virtuoso-configuration-transaction-file config)
+                                    #$(virtuoso-configuration-error-log-file config)
+                                    #$(virtuoso-configuration-syslog config))))))
              #:directory #$(virtuoso-configuration-state-directory config)
              #:user "virtuoso"
              #:group "virtuoso"