diff options
author | Munyoki Kilyungi | 2024-05-07 19:27:44 +0300 |
---|---|---|
committer | Munyoki Kilyungi | 2024-05-14 21:22:04 +0300 |
commit | 77efaac7a25684f78bf45a02fab7dda9fc1df17a (patch) | |
tree | 152cbac8586d7b084041bb0e2048b4e1ff0e11f5 /qa-gn.scm | |
parent | 033a051d4f241e1f2c86ff6b646347ab23b6e0d5 (diff) | |
download | gn-machines-77efaac7a25684f78bf45a02fab7dda9fc1df17a.tar.gz |
Add guix configuration for the LLM instance.
* qa-gn-deploy.sh: New file.
* qa-gn.scm: New file.
Co-authored-by: Alexander_Kabui <alexanderkabua@gmail.com>
Co-authored-by: John Nduli <rookie101@jnduli.co.ke>
Diffstat (limited to 'qa-gn.scm')
-rw-r--r-- | qa-gn.scm | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/qa-gn.scm b/qa-gn.scm new file mode 100644 index 0000000..5c2b281 --- /dev/null +++ b/qa-gn.scm @@ -0,0 +1,119 @@ +;;; qa-gn.scm --- +;;; Copyright © 2024 Munyoki Kilyungi <me@bonfacemunyoki.com> +;;; Copyright © 2024 Alexander Kabui <alexanderkabua@gmail.com> +;;; Copyright © 2024 John Nduli <rookie101@jnduli.co.ke> +;;; +;;; This file is part of genenetwork-machines. +;;; +;;; This program 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. +;;; +;;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + +(use-modules (gnu) + ((gnu packages admin) #:select (shepherd)) + ((gnu packages certs) #:select (nss-certs)) + (gnu services databases) + (gnu build linux-container) + (genenetwork services genenetwork) + (gn services databases) + (guix packages) + (guix download) + (guix git) + (guix git-download) + (guix build-system python) + ((gn packages genenetwork) #:select (genenetwork2 genenetwork3 gn-auth)) + (forge acme) + (forge nginx) + (forge socket)) + + + +(operating-system + (host-name "qa-gn") + (timezone "UTC") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (targets (list "/dev/sdX")))) + (file-systems %base-file-systems) + (sudoers-file + (mixed-text-file "sudoers" + "@include " %sudoers-specification + "\nacme ALL = NOPASSWD: " + (file-append shepherd "/bin/herd") + " restart nginx\n")) + (packages (cons (specification->package "nss-certs") %base-packages)) + (services + (cons* + (service genenetwork-service-type + (genenetwork-configuration + ;; Use the latest stable version of GN2/3 with the most + ;; recent LLM code. + (genenetwork2 (package + (inherit genenetwork2) + (name "genenetwork2") + (version "0") + (source + (git-checkout + (branch "feature/gnqa-system") + (url "https://github.com/genenetwork/genenetwork2.git"))))) + (genenetwork3 (package + (inherit genenetwork3) + (name "genenetwork3") + (version "0") + (source + (git-checkout + (branch "feature/gnqa-api") + (url "https://github.com/genenetwork/genenetwork3.git"))))) + (gn-auth (package + (inherit gn-auth) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.genenetwork.org/gn-auth") + (commit "de4a7f6bfa870a0e5fc4b1f381cb452ab1250210"))) + (hash + (content-hash + (base32 + "0dxanpgwgjil3g0qlkar7gg8znm9dpizcwkgbyvj0h44qnv1346k"))))) + (propagated-inputs + (modify-inputs (package-propagated-inputs genenetwork3) + (append nss-certs))) + (arguments + `(#:tests? #f)))) + (server-name "qa.genenetwork.org") + (gn-auth-server-name "qa-auth.genenetwork.org") + ;; XXX: We probably need to use the production server + ;; for this + (gn2-port 10904) + (gn3-port 10905) + (gn-auth-port 10906) + (sql-uri "mysql://webqtlout:webqtlout@127.0.0.1:3307/db_webqtl") + (auth-db "/export/data/genenetwork-sqlite/auth-qa.db") + (xapian-db "/export/data/genenetwork-xapian") + (genotype-files "/export/data/genenetwork/genotype_files") + (sparql-endpoint "http://localhost:9082/sparql") + (gn3-data-directory "/export/data/genenetwork3") + (llm-db "/export/data/genenetwork-sqlite/llm-qa.db"))) + (service forge-nginx-service-type + (forge-nginx-configuration + (http-listen (forge-ip-socket + (ip "0.0.0.0") + (port 10907))) + (https-listen (forge-ip-socket + (ip "0.0.0.0") + (port 10908))))) + (service acme-service-type + (acme-configuration + (email "arunisaac@systemreboot.net"))) + %base-services))) |