Upgrading Avalon 7.5 to Avalon 7.6
Requirements
Ruby 3.2.x and Node.js 14.x are recommended.
Config changes
As part of a fix for caption support on iOS devices, two new configuration options were added which define default values in the HLS manifest for caption language and label.
caption_default:
# Language should be 2 or 3 letter ISO 639 codes
language: 'en'
name: 'English'The MediaObjectIndexingJob has been moved into it's own queue so they can be de-duplicated. config/sidekiq.yml has been updated so sidekiq knows to run the jobs.
---
:queues: - default
- media_object_indexing
# Rest of the queues and other configUpgrade Steps
For Manual Installations
Install Ruby 3.x
Update gems, and migrate DB
bundle install --with production --without development test
RAILS_ENV=production bundle exec rake db:migrate3. Install node.js 14.x (if needed)
4. Update JS dependencies
yarn install # in Avalon root dir5. Update configuration, see Config changes above
6. Restart passenger (if using)
passenger-config restart-appFor Docker Installations
Avalon 7.6 is not compatible with Postgres versions 9.4 and below.
The instructions below will guide you through dumping the data from Postgres prior to upgrading and then loading it again after upgrade.
Note: avalon-docker 7.6.0 switches to a bind mount volume for storing Postgres data for safer persistence across upgrades.
Before upgrading, dump the contents of Postgres and backup all data from the db volume
docker-compose exec db pg_dumpall -U postgres -f /data/backup.sql
docker compose cp db:/data db/backupStop Avalon
docker-compose downUpdate new code from avalon-docker
git checkout main
git pullPull new Avalon image.
docker-compose pull avalonStart only the db container and allow Postgres to initialize the new bind mount volume, load the dumped data, then stop the db container.
docker-compose up db
cp db/backup/backup.sql db_data
docker-compose exec db /bin/bash -c "psql -U postgres < /data/backup.sql"
docker-compose downCheck config changes then replace the Avalon containers
docker-compose up avalon workerYou can also build your own image, Docker Buildkit is recommended
docker-compose build avalon