From 67d99cd7e533fb867aca258175660885793b1481 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 25 Oct 2019 09:09:50 -0500 Subject: gn: Add service files for bnw --- gn/services/bnw-README | 22 ++++++++++++++++++++++ gn/services/bnw-container.scm | 28 ++++++++++++++++++++++++++++ gn/services/bnw.service | 10 ++++++++++ 3 files changed, 60 insertions(+) create mode 100644 gn/services/bnw-README create mode 100644 gn/services/bnw-container.scm create mode 100644 gn/services/bnw.service diff --git a/gn/services/bnw-README b/gn/services/bnw-README new file mode 100644 index 0000000..29cc816 --- /dev/null +++ b/gn/services/bnw-README @@ -0,0 +1,22 @@ +SETUP: + +The setup process works like this: +$ guix build bnw +$ mkdir -p /home/bnw/server/bnw +$ cp -a $(guix build bnw)/* /home/bnw/server/bnw/ +$ chmod a+w /home/bnw/server -R + +for testing changes to the container, you'll want to do the following (or thereabouts): +$ guix system container gn/services/GN1-container.scm --share=/home/bnw/server=/srv/http --network +$ sudo -E $(guix system container gn/services/GN1-container.scm --share=/home/bnw/server=/srv/http --network) + +for running the service: +see included bnw.service + +for upgrades: +$ guix pull +$ rm -rf /home/bnw/server +$ guix build bnw +$ mkdir -p /home/bnw/server/bnw +$ cp -a $(guix build bnw)/* /home/bnw/server/bnw/ +$ chmod a+w /home/bnw/server -R diff --git a/gn/services/bnw-container.scm b/gn/services/bnw-container.scm new file mode 100644 index 0000000..eab431f --- /dev/null +++ b/gn/services/bnw-container.scm @@ -0,0 +1,28 @@ +(use-modules (gnu)) +(use-service-modules base networking web) + +(operating-system + (host-name "bnw") + (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 '()) + + (services (list (service dhcp-client-service-type) + (service php-fpm-service-type) + (service nginx-service-type + (nginx-configuration + (server-blocks + (list + (nginx-server-configuration + (root "/srv/http/bnw") + (locations + (list (nginx-php-location))) + (listen '("8880")) + (ssl-certificate #f) + (ssl-certificate-key #f))))))))) diff --git a/gn/services/bnw.service b/gn/services/bnw.service new file mode 100644 index 0000000..ec7b3f8 --- /dev/null +++ b/gn/services/bnw.service @@ -0,0 +1,10 @@ +[Unit] +Description=BNW web server +Wants=guix-daemon.service + +[Service] +Environment="BNW_COMMAND=$(/bin/su -l bnw -c '/var/guix/profiles/per-user/bnw/current-guix/bin/guix system container /home/bnw/guix-bioinformatics/gn/services/bnw-container.scm --share=/home/bnw/server=/srv/http --network')" +ExecStart=/bin/bash -c '${BNW_COMMAND}' + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3