about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2020-01-16 02:08:02 -0600
committerEfraim Flashner2020-01-16 02:08:02 -0600
commit5a69fb0666a2bf53b13ab9490b3ed44e5dc944b4 (patch)
tree0a714af0ac5c33aaed8b312230118636bdec63ca
parent15b6a4ac8c87592327ba953ea3912bf5a344d439 (diff)
downloadguix-bioinformatics-5a69fb0666a2bf53b13ab9490b3ed44e5dc944b4.tar.gz
gn: Add GN1 service.
-rw-r--r--gn/services/genenetwork.scm58
1 files changed, 58 insertions, 0 deletions
diff --git a/gn/services/genenetwork.scm b/gn/services/genenetwork.scm
new file mode 100644
index 0000000..0978cd2
--- /dev/null
+++ b/gn/services/genenetwork.scm
@@ -0,0 +1,58 @@
+(define-module (gn services genenetwork))
+
+(use-modules (gnu)
+             (gn packages genenetwork)
+             (gn packages python)
+             (gn packages web))
+(use-service-modules web)
+(use-package-modules python)
+
+(define %mod-python-path
+  (file-append mod-python "/lib/python2.7/site-packages"))
+
+(operating-system
+  (host-name "genenetwork")
+  (timezone "Etc/UTC")
+  (locale "en_US.utf8")
+
+  (bootloader (bootloader-configuration
+               (bootloader grub-bootloader)
+               (target "does-not-matter")))
+  (file-systems %base-file-systems)
+  ;; No firmware for VMs
+  (firmware '())
+
+  (packages (cons* python-2
+                   mod-python
+                   python2-qtlreaper
+                   python2-htmlgen-gn
+                   python2-json-GN1
+                   python2-piddle
+                   python2-pyx-GN1
+                   python2-pyxlwriter
+                   python2-svg-GN1
+                   %base-packages))
+
+  (services (list (service httpd-service-type
+                           (httpd-configuration
+                             (config
+                               (httpd-config-file
+                                 (server-name "www.genenetwork.org")
+                                 (document-root (file-append genenetwork "/web"))
+                                 (listen '("8811"))
+                                 (modules (cons*
+                                            (httpd-module
+                                              (name "python_module")
+                                              (file (file-append mod-python "/modules/mod_python.so")))
+                                            %default-httpd-modules))
+                                 (extra-config (list "\
+PythonPath \"sys.path+['" %mod-python-path "', '" (file-append genenetwork "/web/webqtl") "']\"
+<Directory " (file-append genenetwork "/web/webqtl") ">
+  SetHandler python-program
+  PythonHandler mod_python.publisher
+  PythonAutoReload Off
+</Directory>
+<Location /mpinfo>
+  SetHandler python-program
+  PythonHandler mod_python.testhandler
+</Location>")))))))))