#! /bin/bash -e # genenetwork-machines --- Guix configuration for genenetwork machines # Copyright © 2022, 2024 Arun Isaac # # 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 # . # See also https://issues.genenetwork.org/topics/systems/fire-up-genenetwork-system-container echo Build and install genenetwork fallback container on $HOSTNAME mkdir -p /export2/guix-containers/genenetwork/tmp touch /export2/guix-containers/genenetwork/tmp/fallback-tmp mkdir -p /export2/guix-containers/genenetwork/var/lib/acme mkdir -p /export2/guix-containers/genenetwork/etc/genenetwork mkdir -p /export2/data/genenetwork-xapian mkdir -p /export2/data/genenetwork-sqlite mkdir -p /export/data/genenetwork/genotype_files # Note that if you change these paths you need to rebuild the container container_script=$(guix system container \ --network \ --load-path=. \ --verbosity=3 \ --share=/export2/guix-containers/genenetwork/var/lib/acme=/var/lib/acme \ --share=/export2/guix-containers/genenetwork/tmp=/var/tmp \ --share=/export2/guix-containers/genenetwork/etc/genenetwork=/etc/genenetwork \ --share=/export/data/genenetwork-xapian \ --share=/export/data/genenetwork-sqlite \ --expose=/export/data/genenetwork/genotype_files \ --share=/var/run/mysqld=/run/mysqld \ --share=/export/source/fallback-debug \ fallback.scm) name=/usr/local/bin/fallback-system-container if [ $? == 0 ] ; then echo "Create $name -> $container_script" sudo ln --force --symbolic $container_script $name sudo ln --force --symbolic /usr/local/bin/$name /var/guix/gcroots fi