lapps / lapps.github.io

LAPPS Project Documentation
2 stars 0 forks source link

Galaxy installation page #43

Open marcverhagen opened 3 years ago

marcverhagen commented 3 years ago

The instructions in technical/galaxy.md (publsihed at http://wiki.lappsgrid.org/technical/galaxy.html) are not specific enough. The main issue is probably that "On a fresh Ubuntu install" should be qualified.

When I take the Lapps Grid Ubuntu Docker image (https://hub.docker.com/r/lappsgrid/ubuntu) then both the TL;DR and long version of the installation notes fail early on.

marcverhagen commented 3 years ago

Issues when following TL;DR instructions. When running

$ curl -sSL http://downloads.lappsgrid.org/scripts/galaxy-setup.sh | bash

I get unknown command 'sudo'. This was fixed by doing apt-get update && apt-get install sudo first. The error then is

sudo: unknown user: postgres
sudo: unable to initialize policy plugin

Wondering whether these were just warning I tried the rest of the instructions:

$ cd /home/galaxy/galaxy
$ HOME=/home/galaxy sudo -u galaxy ./run.sh

Result then is:

Initializing config/migrated_tools_conf.xml from migrated_tools_conf.xml.sample
cp: cannot create regular file 'config/migrated_tools_conf.xml': Permission denied
ksuderman commented 3 years ago

One of the very first things the installation does is installs sudo so I suspect the Docker image is not a fully functional Ubuntu installation, and it was never intended to be used as such. I just tested on a fresh Ubuntu instance on Jetstream and the install-galaxy.sh script ran to completion. (Note install-galaxy.sh is simply a link to galaxy-setup.sh to be consistent with the other install-*.sh scripts.)

  1. Create an instance on Jetstream using the OpenStack UI or Python API: openstack server create --image 258dbfe5-263c-42f7-a4e4-4bd746177b35 --flavor m1.medium --network lappsgrid-network --security-group lappsgrid-secgroup --key-name lappsgrid-shared-key <instance-name>
  2. Wait a few minutes for the Jetstream instance to update itself. The image above is a few months old so there are a few hundred updates Ubuntu will do to itself. If you try running the install script before the updates complete you will receive errors about being unable to acquire a lock.

    E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

  3. Reboot the instance.
  4. SSH back into the instance and run the install-galaxy.sh script.
ksuderman commented 3 years ago

There is also an Ansible Playbook that can be used to install Galaxy on Ubuntu and CentOS.