github metabrainz/musicbrainz-docker v-2021-05-19

Breaking changes

This release upgrades to MusicBrainz database schema 26 and Solr search schema accordingly. It requires to run commands taking down all services during the upgrade.

If your musicbrainz-docker is earlier than v-2020-08-24, you must first update to it (see its release notes) and follow the upgrade instructions below, or remove everything using sudo docker-compose down --rmi local --volumes and reinstall.

Upgrade instructions

Assuming your checked out version of musicbrainz-docker is v-2020-08-24 or later, then:

  1. Ensure you’ve replicated up to the most recent replication packet available with the old schema 25. If you’re not sure, run:

    sudo docker-compose exec musicbrainz bash -c ./admin/replication/LoadReplicationChanges

    and see what it tells you; if you’re ready to upgrade, it should say “This replication packet matches schema sequence #26, but the database is currently at #25.”

  2. Turn off cron jobs:

    admin/configure rm replication-cron
    sudo docker-compose up -d musicbrainz
  3. If you’re using the live search indexing, disable it and uninstall its triggers as follows:

    sudo docker-compose stop indexer
    admin/configure rm live-indexing-search
    sudo docker-compose up -d indexer
    admin/setup-amqp-triggers clean
    admin/setup-amqp-triggers install
    admin/setup-amqp-triggers uninstall
  4. Switch to the new code with:

    git fetch --tags origin
    git checkout v-2021-05-19
    sudo docker-compose build
  5. Upgrade the database schema (it may take a while to vacuum at the end, ignore the ending message about DB_SCHEMA_SEQUENCE):

    mkdir -p local/compose && cp -a admin/lib/upgrade-db-schema/musicbrainz-stopped.yml local/compose
    admin/configure add local-compose-musicbrainz-stopped
    sudo docker-compose up -d musicbrainz indexer
    sudo docker-compose exec musicbrainz upgrade-db-schema.sh
  6. If you’re using the web interface or web service, run the following to build new materialized tables. These will take several additional gigabytes of spaces and be kept up-to-date automatically via triggers. For more information, see INSTALL.md.

    sudo docker-compose exec musicbrainz bash -c './admin/BuildMaterializedTables --database=MAINTENANCE all'
  7. If you’re using the live search indexing, install new triggers:

    admin/setup-amqp-triggers install

    then rebuild search indexes (or download pre-built search indexes); See Set up search indexes):

    sudo docker-compose exec indexer python -m sir reindex

    and re-enable live search indexing:

    admin/configure add live-indexing-search
  8. Turn cron jobs back on:

    admin/configure rm local-compose-musicbrainz-stopped
    admin/configure add replication-cron
  9. Stop Redis and restart all services:

    sudo docker-compose stop redis
    sudo docker-compose up --build -d

Solved issues

  • MBVM-68: fetch-dump using hardcoded path
  • MBVM-70: Allow setting FTP mirror through Docker environment variable
  • MBVM-71: Better handle mirror URL missing FTP scheme

Other changes

  • Upgrade MusicBrainz Server to v-2021-05-19-hotfixes (release notes)
  • Upgrade MusicBrainz Solr search server to v3.4.2 (See also v3.4)
  • Upgrade search indexer rebuilder to v2.1.0 (See also v2.0.0)

Don't miss a new musicbrainz-docker release

NewReleases is sending notifications on new releases.