diff options
author | Frederick Muriuki Muriithi | 2024-03-08 04:27:21 +0300 |
---|---|---|
committer | Arun Isaac | 2024-03-25 23:47:57 +0000 |
commit | 081e2865c3354415fbcb186e562060d6ac2885f1 (patch) | |
tree | c8f22fb0ef90b9a8240e1593dca646d5ba6591f9 /uploader.scm | |
parent | af7480a6fe3469b29723d0013926f17dd426e012 (diff) | |
download | gn-machines-081e2865c3354415fbcb186e562060d6ac2885f1.tar.gz |
Add gn-uploader service.
* genenetwork/services/genenetwork.scm (<gn-uploader-configuration>):
New type.
(gn-uploader-activation, gn-uploader-gunicorn-app,
gn-uploader-nginx-server-block): New functions.
(gn-uploader-service-type): New variable.
* uploader.scm, uploader-deploy.sh: New files.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
Diffstat (limited to 'uploader.scm')
-rw-r--r-- | uploader.scm | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/uploader.scm b/uploader.scm new file mode 100644 index 0000000..9491a22 --- /dev/null +++ b/uploader.scm @@ -0,0 +1,76 @@ +;;; genenetwork-machines --- Guix configuration for genenetwork machines +;;; Copyright © 2022–2024 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2022–2024 Frederick M. Muriithi <fredmanglis@gmail.com> +;;; +;;; This file is part of genenetwork-machines. +;;; +;;; genenetwork-machines is free software: you can redistribute it +;;; and/or modify it under the terms of the GNU General Public License +;;; as published by the Free Software Foundation, either version 3 of +;;; the License, or (at your option) any later version. +;;; +;;; genenetwork-machines is distributed in the hope that it will be +;;; useful, but WITHOUT ANY WARRANTY; without even the implied +;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +;;; See the GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with genenetwork-machines. If not, see +;;; <https://www.gnu.org/licenses/>. + +(use-modules (gnu) + (genenetwork services genenetwork) + ((gnu packages admin) #:select (shepherd)) + (gn services databases) + (gn packages genenetwork) + (gnu services databases) + (forge acme) + (forge nginx) + (forge socket)) + +(operating-system + (host-name "genenetwork-uploader") + (timezone "UTC") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (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 forge-nginx-service-type + (forge-nginx-configuration + (http-listen (forge-ip-socket + (ip "0.0.0.0") + (port 10890))) + (https-listen (forge-ip-socket + (ip "0.0.0.0") + (port 10891))))) + (service acme-service-type + (acme-configuration + (email "arunisaac@systemreboot.net"))) + (service genenetwork-service-type + (genenetwork-configuration + (genenetwork2 genenetwork2) + (server-name "staging.genenetwork.org") + (gn-auth-server-name "staging-auth.genenetwork.org") + (gn2-port 10894) + (gn3-port 10895) + (gn-auth-port 10896) + (sql-uri "mysql://webqtlout:webqtlout@127.0.0.1:3307/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:10892/sparql") + (gn3-data-directory "/export/data/uploader/genenetwork3"))) + (service gn-uploader-service-type + (gn-uploader-configuration + (server-name "staging-uploader.genenetwork.org") + (port 10897) + (sql-uri "mysql://webqtlout:webqtlout@127.0.0.1:3307/db_webqtl") + (data-directory "/export/data/uploader/gn-uploader"))) + %base-services))) |