diff options
author | Arun Isaac | 2024-01-03 00:44:41 +0000 |
---|---|---|
committer | Arun Isaac | 2024-01-03 00:44:41 +0000 |
commit | 9b38443da7c4075cda666726f04f0daff1433dc1 (patch) | |
tree | 866166cce1a53319943b2e3ac594f32a102fb285 | |
parent | 32afafc93077e9d6d57354540967dfa1a42cb9b1 (diff) | |
download | gn-machines-9b38443da7c4075cda666726f04f0daff1433dc1.tar.gz |
Add GeneNetwork service to production container.
* production.scm: Import (genenetwork services genenetwork), (forge
acme), (forge nginx) and (forge socket). Import shepherd from (gnu
packages admin).
(operating-system)[sudoers-file]: Allow acme user to restart nginx.
(services): Add forge-nginx, acme and genenetwork services.
-rwxr-xr-x | production-deploy.sh | 10 | ||||
-rw-r--r-- | production.scm | 35 |
2 files changed, 42 insertions, 3 deletions
diff --git a/production-deploy.sh b/production-deploy.sh index c774a31..d87a459 100755 --- a/production-deploy.sh +++ b/production-deploy.sh @@ -1,7 +1,7 @@ #! /bin/sh -e # genenetwork-machines --- Guix configuration for genenetwork machines -# Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> +# Copyright © 2022, 2024 Arun Isaac <arunisaac@systemreboot.net> # # This file is part of genenetwork-machines. # @@ -22,9 +22,17 @@ # Build and install genenetwork production container on tux02. container_script=$(guix system container \ + --network \ + --load-path . \ --verbosity=3 \ + --share=/export2/guix-containers/genenetwork/var/lib/acme=/var/lib/acme \ --share=/export2/guix-containers/genenetwork/var/lib/mysql=/var/lib/mysql \ --share=/export2/guix-containers/genenetwork/var/lib/virtuoso=/var/lib/virtuoso \ + --expose=/export2/guix-containers/genenetwork/etc/genenetwork=/etc/genenetwork \ + --expose=/export/data/genenetwork-xapian \ + --share=/export/data/genenetwork-sqlite \ + --expose=/export/data/genenetwork/genotype_files \ + --share=/var/run/mysqld=/run/mysqld \ production.scm) echo $container_script diff --git a/production.scm b/production.scm index 5d6554c..12ec385 100644 --- a/production.scm +++ b/production.scm @@ -1,5 +1,5 @@ ;;; genenetwork-machines --- Guix configuration for genenetwork machines -;;; Copyright © 2022, 2023 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2022–2024 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of genenetwork-machines. ;;; @@ -18,8 +18,13 @@ ;;; <https://www.gnu.org/licenses/>. (use-modules (gnu) + (genenetwork services genenetwork) + ((gnu packages admin) #:select (shepherd)) (gn services databases) - (gnu services databases)) + (gnu services databases) + (forge acme) + (forge nginx) + (forge socket)) (operating-system (host-name "genenetwork") @@ -30,6 +35,10 @@ (targets (list "/dev/sdX")))) (file-systems %base-file-systems) (users %base-user-accounts) + (sudoers-file + (mixed-text-file "sudoers" + "@include " %sudoers-specification + "\nacme ALL = NOPASSWD: " (file-append shepherd "/bin/herd") " restart nginx\n")) (packages %base-packages) (services (cons* (service mysql-service-type (mysql-configuration @@ -38,4 +47,26 @@ (virtuoso-configuration (server-port 8891) (http-server-port 8892))) + (service forge-nginx-service-type + (forge-nginx-configuration + (http-listen (forge-ip-socket + (ip "0.0.0.0") + (port 8890))) + (https-listen (forge-ip-socket + (ip "0.0.0.0") + (port 8891))))) + (service acme-service-type + (acme-configuration + (email "arunisaac@systemreboot.net"))) + (service genenetwork-service-type + (genenetwork-configuration + (server-name "test1.genenetwork.org") + (gn2-port 8892) + (gn3-port 8893) + (sql-uri "mysql://webqtlout:webqtlout@localhost/db_webqtl") + (auth-db "/export/data/genenetwork-sqlite/auth.db") + (xapian-db "/export/data/genenetwork-xapian") + (genotype-files "/export/data/genenetwork/genotype_files") + (sparql-endpoint "http://localhost:8892/sparql") + (gn3-data-directory "/export/data/genenetwork"))) %base-services))) |