GeneNetwork.org retains a number of apps. Currently they are managed by shepherd as `guix shell` services, but we should really move them to system containers.
Current apps managed by shepherd/systemd on tux02/balg01 are
To fix them we need to validate the sheepdog monitor and make sure they are working in either shepherd (+), or as a system container (X).
Sheepdog monitor is at
The app is already a Guix system container! To make it part of the startup I had to move it away from shepherd (which runs in userland) and:
/home/shepherd/guix-profiles/bnw/bin/guix system container /home/shepherd/guix-bioinformatics/gn/services/bnw-container.scm --share=/home/shepherd/logs/bnw-server=/var/log --network ln -s /gnu/store/0hnfb9ynnxsig3yyprwxmg5h6c9g8mry-run-container /usr/local/bin/bnw-app-container
systemd service:
root@tux02:/etc/systemd/system# cat bnw-app-container.service [Unit] Description = Run genenetwork BNW app container [Service] ExecStart = /usr/local/bin/bnw-app-container [Install] WantedBy = multi-user.target
We need to make sure the garbace collector does not destroy the container, add the --root switch
/home/shepherd/guix-profiles/bnw/bin/guix system container /home/shepherd/guix-bioinformatics/gn/services/bnw-container.scm --share=/home/shepherd/logs/bnw-server=/var/log --network --root=/usr/local/bin/bnw-app-container
Check with
root@tux02:/home/shepherd# /home/shepherd/guix-profiles/bnw/bin/guix gc --list-roots |grep bnw /usr/local/bin/bnw-app-container
The R/shiny apps were showing a tarball mismatch:
building /gnu/store/rjnw7k56z955v4bl07flm9pjwxx5vs0r-r-minimal-4.0.2.drv... downloading from http://cran.r-project.org/src/contrib/Archive/KernSmooth/KernSmooth_2.23-17.tar.gz ... - 'configure' phasesha256 hash mismatch for /gnu/store/n05zjfhxl0iqx1jbw8i6vv1174zkj7ja-KernSmooth_2.23-17.tar.gz: expected hash: 11g6b0q67vasxag6v9m4px33qqxpmnx47c73yv1dninv2pz76g9b actual hash: 1ciaycyp79l5aj78gpmwsyx164zi5jc60mh84vxxzq4j7vlcdb5p hash mismatch for store item '/gnu/store/n05zjfhxl0iqx1jbw8i6vv1174zkj7ja-KernSmooth_2.23-17.tar.gz'
Guix checks and it is not great CRAN allows for changing tarballs with the same version number!! Luckily building with a more recent version of Guix just worked (TM). Now we create a root too:
/home/wrk/opt/guix-pull/bin/guix pull -p ~/guix-profiles/guix-for-r-shiny
Note I did not have to pull in guix-bioinformatics channel
Singlecell is an R/shiny app. It starts with an error after above upgrade:
no slot of name "counts" for this object of class
and the code needs to be updated:
The 4 year old code lives at
and it looks like lines like these need to be updated:
Let me ask the author Siamak Yousefi.
balg01:~/gn-machines$ guix system container --network -L . -L ../guix-bioinformatics/ -L ../guix-past/modules/ --substitute-urls='https: //ci.guix.gnu.org https://bordeaux.guix.gnu.org https://cuirass.genenetwork.org' test-r-container.scm -L ../guix-forge/guix/ /gnu/store/xyks73sf6pk78rvrwf45ik181v0zw8rx-run-container