about summary refs log tree commit diff
path: root/gn/services/bnw-container.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/services/bnw-container.scm')
-rw-r--r--gn/services/bnw-container.scm32
1 files changed, 21 insertions, 11 deletions
diff --git a/gn/services/bnw-container.scm b/gn/services/bnw-container.scm
index 39da38d..b121bdb 100644
--- a/gn/services/bnw-container.scm
+++ b/gn/services/bnw-container.scm
@@ -2,9 +2,11 @@
 
 (use-modules (gnu)
              (gn packages bnw)
+             (guix build utils)
              (guix records)
              (ice-9 match))
 (use-service-modules networking web)
+(use-package-modules base)
 
 (define-record-type* <bnw-configuration>
   bnw-configuration
@@ -15,16 +17,22 @@
   (deploy-directory bnw-deploy-directory            ; string
                     (default "/srv/http"))
   (port             bnw-configuration-port          ; list of strings
-                    (default '("8880"))))
+                    (default '("8881"))))
 
 (define bnw-activation
   (match-lambda
-    (($ <bnw-configuration> package deploy-directory port)
+    (($ <bnw-configuration> package _ port)
      #~(begin
-         (mkdir-p #$deploy-directory)
-         (copy-recursively #$package #$deploy-directory)
-         (invoke #$(file-append coreutils "/bin/chmod") "a+w"
-                 (string-append #$deploy-directory "/sourcecodes/data"))))))
+         (let ((genenet "/var/lib/genenet/bnw")
+               (php-fpm-uid (passwd:uid (getpw "php-fpm")))
+               (php-fpm-gid (passwd:gid (getpw "php-fpm"))))
+           (mkdir-p genenet)
+           (copy-recursively #$(file-append package "/var_lib_genenet_bnw") genenet)
+           (for-each (lambda (file-name)
+                       (make-file-writable file-name)
+                       (chown file-name php-fpm-uid php-fpm-gid))
+                     (find-files genenet
+                                 #:directories? #t)))))))
 
 (define bnw-nginx-config
   (match-lambda
@@ -33,8 +41,8 @@
        (nginx-server-configuration
          (server-name '("Bayesian Network"))
          (listen port)
-         ;(root package)
-         (root deploy-directory)
+         (root package)
+         ;(root deploy-directory)
          (locations
            (list
              (nginx-php-location)
@@ -74,11 +82,13 @@
   ;; No firmware for VMs.
   (firmware '())
   ;; We don't need any packages inside the container.
-  (packages '())
+  (packages (list coreutils))
 
   (services (list (service dhcp-client-service-type)
                   (service bnw-service-type
                            ;; The following is for testing:
-                           ;(bnw-configuration
-                           ;  (port '("8888")))
+                           (bnw-configuration
+                             (port '("8888")))
                            ))))
+
+;; guix system container -L ~/workspace/guix-past/modules/ -L ~/workspace/guix-bioinformatics/ ~/workspace/guix-bioinformatics/gn/services/bnw-container.scm --network