;;; genenetwork-machines --- Guix configuration for genenetwork machines ;;; Copyright © 2022–2024 Arun Isaac ;;; Copyright © 2022–2024 Frederick M. Muriithi ;;; ;;; 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 ;;; . (use-modules (gnu) (genenetwork services genenetwork) ((gnu packages admin) #:select (shepherd)) (gn services databases) (gnu services databases) (forge acme) (forge nginx) (forge socket) (gn-uploader)) (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 (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") (gn2-secrets "/etc/genenetwork/genenetwork2") (gn3-secrets "/etc/genenetwork/genenetwork3/gn3-secrets.py") (gn-auth-secrets "/etc/genenetwork/gn-auth"))) (service gn-uploader-service-type (gn-uploader-configuration (gn-uploader gn-uploader) (server-name "staging-uploader.genenetwork.org") (port 10897) (secrets "/etc/genenetwork/gn-uploader/gn-uploader-secrets.py") (sql-uri "mysql://webqtlout:webqtlout@127.0.0.1:3307/db_webqtl") (data-directory "/export/data/uploader/gn-uploader") (log-level "DEBUG"))) %base-services)))