If you have an existing SEEK installation, and you haven’t done so already, please take a moment to fill out our very short,optional SEEK Registration Form. Doing so will be very useful to us in the future when we try and raise further funding to develop and support SEEK and the associated tools.
Always backup your SEEK data before starting to upgrade!! - see the Backup Guide.
This guide assumes that SEEK has been installed following the Installation Guide. It assumes it is a production server that is being updated, and that commands are run from the root directory of the SEEK application.
Identifying your version
The version of SEEK you are running is shown at the bottom left, within the footer, when viewing pages in SEEK.
You can also tell which version you have installed by looking at the config/version.yml file, so for example version 0.13.2 looks something like:
major: 0 minor: 13 patch: 2
Upgrading between patch versions (e.g. between 1.4.0 and 1.4.1)
When upgrading between patch versions, it should only be necessary to run
bundle install bundle exec rake seek:upgrade
Steps to upgrade from 1.12.x to 1.13.x
Graphviz, and Python 3.7 are new required dependencies
First add a repo which contains python versions that may not be available in the default repositories
sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
and now install the packages:
sudo apt install graphviz python3.7-dev python3.7-distutils python3-pip
If upgrading a production instance of SEEK, remember to set the RAILS_ENV first
Stopping services before upgrading
bundle exec rake seek:workers:stop bundle exec rake sunspot:solr:stop
Updating from GitHub
If you have an existing installation linked to our GitHub, you can fetch the files with:
git pull git checkout v1.13.3
Updating using the tarball
You can download the file from https://github.com/seek4science/seek/archive/v1.13.3.tar.gz You can unpack this file using:
tar zxvf seek-1.13.3.tar.gz mv seek seek-previous mv seek-1.13.3 seek cd seek/
and then copy across your existing filestore and database configuration file from your previous installation and continue with the upgrade steps. The database configuration file you would need to copy is config/database.yml, and the filestore is simply filestore/
Install Python dependencies
First, a specific version of
setuptools needs to be installed to avoid an issue when installing dependencies
python3.7 -m pip install setuptools==58
Then the other dependencies can be installed
python3.7 -m pip install -r requirements.txt
You are recommended to upgrade to Ruby 2.7.8 If you are using RVM (according to the Installation Guide )you should be prompted to install during the standard installation steps that follow. If you are not prompted you can install with the command:
rvm install $(cat .ruby-version)
Doing the upgrade
After updating the files, the following steps will update the database, gems, and other necessary changes. Note that seek:upgrade may take longer than usual if you have data stored that points to remote content.
Please note - during the upgrade the step Updating session store can take a long time and appear that it has frozen, so please be patient.
cd . #this is to allow RVM to pick up the ruby and gemset changes gem install bundler bundle install --deployment --without development test bundle exec rake seek:upgrade bundle exec rake assets:precompile # this task will take a while
Update Cron Services
SEEK requires some cron jobs for periodic background jobs to run. To update these run:
bundle exec whenever --update-crontab
Restarting background job services
bundle exec rake seek:workers:start
Earlier upgrade notes
For details of how to upgrade between earlier versions please visit Upgrades between earlier versions