Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This is a work in progress in preparation for upcoming Avalon 7 release

See the Avalon 7.0 Release Notes for more information.


Avalon 7.0 and above requires Ruby 2.5 or newer. If you're using RVM, simply run

rvm list # Get current ruby version, eg 2.2.1
rvm upgrade 2.2.1 2.5.7 # Installs Ruby 2.5.7 and migrate gemsets, wrappers, aliases and environment files

Upgrade Steps

For Manual Installations

  1. Download and deploy new code from the avalon repository.
  2. Install bundler 2, update gems, and migrate DB
gem install bundler
bundle install
RAILS_ENV=production bundle exec rake db:migrate

3. Install yarn and update JS dependencies

curl --silent --location | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install nodejs # Tested with Node.js version 10
sudo yum install yarn
yarn install # in Avalon root dir

3. Copy controlled vocabulary from config/controlled_vocabulary.yml.example into config/controlled_vocabulary.yml

4. Restart passenger (if using)

passenger-config restart-app

5. Upgrade Redis and Restart Resque (background jobs processor)

sudo yum upgrade redis  # Version 3.0+
sudo service redis restart
pkill -f resque
RAILS_ENV=production BACKGROUND=yes bundle exec rake resque:scheduler
RAILS_ENV=production BACKGROUND=yes QUEUE=* bundle exec rake resque:work

6. Upgrade ffmpeg (version 4+). You can either download a prebuilt binary

mkdir -p /tmp/ffmpeg && cd /tmp/ffmpeg
curl | tar xJ
sudo cp `find . -type f -executable` /usr/bin

Or use to build ffmpeg and then copy it to your machine.  Be sure to update the ffmpeg path in config/settings.yml to match where it was installed.

7. Upgrade mediainfo

sudo yum remove libmediainfo0-0.7.61-1.x86_64 libzen0-0.4.28-1.x86_64
sudo yum remove mediainfo
sudo yum install mediainfo libmediainfo libzen # Choose 19+ version

8. Retire Matterhorn 

sudo service matterhorn stop

9. Setup nginx streaming if you had been previously depending on the rails server to serve the HLS content.

10. Run waveform backfill script

This script will kick off many background jobs to generate waveform data for existing content for use with the new structural metadata editor.  (New content will have waveforms generated as part of the ingest process.)  If you have a lot of files ingested into Avalon the background jobs may take a very long time to run.  See Waveform Backfill Script for more information.

RAILS_ENV=production bundle exec rails r script/waveform_backfill.rb

11. Turn on the timeliner in settings.yml:

  timeliner_url: https://<hostname>/timeliner

For Docker Installations

Update new code from avalon-docker

git checkout master
git pull

Rebuild and replace Avalon container. 

docker-compose build --no-cache avalon
docker-compose stop avalon
docker-compose up avalon

  • No labels