Browse Source

initial commit

master
Efraim Flashner 7 months ago
commit
f843d9c7bb
10 changed files with 123 additions and 0 deletions
  1. +5
    -0
      README
  2. +2
    -0
      cron/gitea-dump.guile
  3. +2
    -0
      run_bnw.sh
  4. +2
    -0
      run_gitea-dump.sh
  5. +2
    -0
      run_gitea.sh
  6. +2
    -0
      run_ipfs.sh
  7. +2
    -0
      run_power.sh
  8. +2
    -0
      run_rn6app.sh
  9. +102
    -0
      shepherd/init.scm
  10. +2
    -0
      update_archive-pubmed.sh

+ 5
- 0
README View File

@@ -0,0 +1,5 @@
This repo contains the files used to run shepherd services.

The `shepherd` and `cron` directories go in `.config`

The shell scripts sit in the home directory.

+ 2
- 0
cron/gitea-dump.guile View File

@@ -0,0 +1,2 @@
(job '(next-day)
"/usr/bin/sudo /home/shepherd/run_gitea-dump.sh")

+ 2
- 0
run_bnw.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
$(/var/guix/profiles/per-user/shepherd/current-guix/bin/guix system container /home/shepherd/guix-bioinformatics/gn/services/bnw-container.scm --share=/home/shepherd/logs/bnw-server=/var/log --network)

+ 2
- 0
run_gitea-dump.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
bin/su -l gitea -c 'GITEA_WORK_DIR=/var/lib/git/gitea HOME=/var/lib/git/gitea $(/var/guix/profiles/per-user/shepherd/current-guix/bin/guix build gitea)/bin/gitea dump --verbose'

+ 2
- 0
run_gitea.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
/bin/su -l gitea -c 'GITEA_WORK_DIR=/var/lib/git/gitea HOME=/var/lib/git/gitea $(/var/guix/profiles/per-user/shepherd/current-guix/bin/guix build gitea)/bin/gitea --port 3300'

+ 2
- 0
run_ipfs.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
/bin/su -l ipfs -c 'IPFS_PATH=/export/ipfs $(/var/guix/profiles/per-user/shepherd/current-guix/bin/guix build go-ipfs)/bin/ipfs daemon'

+ 2
- 0
run_power.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
/var/guix/profiles/per-user/shepherd/current-guix/bin/guix environment --ad-hoc bxd-power-calculator-app -- sh -c 'R_LIBS_USER=$GUIX_ENVIRONMENT/site-library/ bxd-power-calculator-app'

+ 2
- 0
run_rn6app.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
/var/guix/profiles/per-user/shepherd/current-guix/bin/guix environment --ad-hoc rn6-assembly-error-app -- sh -c 'R_LIBS_USER=$GUIX_ENVIRONMENT/site-library/ rn6-assembly-error-app'

+ 102
- 0
shepherd/init.scm View File

@@ -0,0 +1,102 @@
(use-modules (shepherd service))

(define date+%s
(strftime "%s" (gmtime (current-time))))

(define bnw
(make <service>
#:provides '(bnw)
#:docstring "Run the Beyesian Network Webserver"
#:start (make-forkexec-constructor
'("/usr/bin/sudo" "/home/shepherd/run_bnw.sh")
#:log-file (string-append "/home/shepherd/logs/bnw-"
date+%s ".log"))
#:stop (make-kill-destructor)
#:respawn? #t))
(register-services bnw)

(define gitea
(make <service>
#:provides '(gitea)
#:docstring "Run a Gitea instance"
#:start (make-forkexec-constructor
'("/usr/bin/sudo" "/home/shepherd/run_gitea.sh")
#:log-file (string-append "/home/shepherd/logs/gitea-"
date+%s ".log"))
#:stop (make-kill-destructor)
#:respawn? #t))
(register-services gitea)

(define ipfs
(make <service>
#:provides '(ipfs)
#:docstring "Run the IPFS daemon"
#:start (make-forkexec-constructor
'("/usr/bin/sudo" "/home/shepherd/run_ipfs.sh")
#:log-file (string-append "/home/shepherd/logs/ipfs-"
date+%s ".log"))
#:stop (make-kill-destructor)
#:respawn? #t))
(register-services ipfs)

(define mcron
(make <service>
#:provides '(mcron)
#:docstring "Run the mcron daemon"
#:start (make-forkexec-constructor
'("/var/guix/profiles/per-user/shepherd/guix-profile/bin/mcron")
#:log-file (string-append "/home/shepherd/logs/mcron-"
date+%s ".log"))
#:stop (make-kill-destructor)
#:respawn? #t))
(register-services mcron)

(define power
(make <service>
#:provides '(power)
#:docstring "Run the BXD Power Calculator app"
#:start (make-forkexec-constructor
;'(system* "/var/guix/profiles/per-user/shepherd/current-guix/bin/guix" "environment" "--ad-hoc" "rn6-assembly-error-app" "--" "/bin/sh -c 'R_LIBS_USER=$GUIX_ENVIRONMENT/site-library/ rn6-assembly-error-app'")
'("/home/shepherd/run_power.sh")
#:log-file (string-append "/home/shepherd/logs/power-"
date+%s ".log"))
#:stop (make-kill-destructor)
#:respawn? #t))
(register-services power)

(define rn6app
(make <service>
#:provides '(rn6app)
#:docstring "Run RN6 Assembly Error app"
#:start (make-forkexec-constructor
;'(system* "/var/guix/profiles/per-user/shepherd/current-guix/bin/guix" "environment" "--ad-hoc" "rn6-assembly-error-app" "--" "/bin/sh -c 'R_LIBS_USER=$GUIX_ENVIRONMENT/site-library/ rn6-assembly-error-app'")
'("/home/shepherd/run_rn6app.sh")
#:log-file (string-append "/home/shepherd/logs/rn6app-"
date+%s ".log"))
#:stop (make-kill-destructor)
#:respawn? #t))
(register-services rn6app)

(define test-upgrade
(make <service>
#:provides '(test-upgrade)
#:docstring "Build all the services to make sure they work on an upgrade"
#:start (make-forkexec-constructor
(when (zero? (system* "guix" "build" "-L" "/home/shepherd/guix-bioinformatics"
"--no-grafts" "bnw" "gitea" "go-ipfs" "edirect-gn"
"bxd-power-calculator-app" "rn6-assembly-error-app"))
(zero? (system* "guix" "system" "-L" "/home/shepherd/guix-bioinformatics"
"container" "/home/shepherd/guix-bioinformatics/gn/services/bnw-container.scm"
"--share=/home/shepherd/logs/bnw-server=/var/log" "--network")))
#:log-file (string-append "/home/shepherd/logs/test-upgrade-"
date+%s ".log"))
#:one-shot? #t))
(register-services test-upgrade)

;; Send shepherd into the background
(action 'shepherd 'daemonize)

;; Services to start when shepherd starts:
;; Add the name of each service that should be started to the list
;; below passed to 'for-each'.
(for-each start '(bnw gitea ipfs mcron power rn6app))

+ 2
- 0
update_archive-pubmed.sh View File

@@ -0,0 +1,2 @@
#!/bin/sh
/bin/su -l hchen -c 'export EDIRECT_PUBMED_MASTER=/export2/PubMed; export PERL_LWP_SSL_CA_FILE=/etc/ssl/certs/ca-certificates.crt; export NLTK_DATA=/export2/PubMed/nltk_data; export PATH=$(/var/guix/profiles/per-user/shepherd/current-guix/bin/guix build edirect-gn)/bin:$PATH; $(/var/guix/profiles/per-user/shepherd/current-guix/bin/guix build edirect-gn)/bin/archive-pubmed'

Loading…
Cancel
Save