MusicBrainz Server update, 2024-10-21

As mentioned in the banner of MusicBrainz website for a week already, images for events and releases are currently unavailable due to the Internet Archive (IA) recovering from a DDoS attack. See the IA’s Mastodon page for follow-up. Both the Cover Art Archive and the Event Art Archive were available from the Internet Archive which is doing its best to restore services safely, that will take as many days as necessary. Meanwhile, today’s server update temporarily disables editing images, until our access to the Internet Archive is fully restored. It also brings some updates behind the scenes. Last but not least, it also features a few improvements and bugfixes, mainly contributed by volunteers without whom this would not have the same significance!

A new release of MusicBrainz Docker is also available that matches this update of MusicBrainz Server. See the release notes for update instructions.

Thanks to derat, Divyansh Gupta, and Serial-ATA for having contributed to the code. Thanks to Dan and HibiscusKazeneko for having reported bugs and suggested improvements. Thanks to Arainuki, Aris_8585, blit, Echelon666, salo.rock, Vaclovas Intas, and wileyfoxyx for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2024-10-21.0.

Continue reading “MusicBrainz Server update, 2024-10-21”

MusicBrainz Server update, 2024-07-11

Keep enjoying your summer with this refreshing release dessert, mainly fixing bugs and making improvements after the large two-course meal that was the database schema change and the addition of event art.

A new release of MusicBrainz Docker is also available that matches this update of MusicBrainz Server. See the release notes for update instructions.

Thanks to chaban, Piotr, Relaxo5, salo.rock, and yindesu for having reported bugs and suggested improvements. Thanks to ApeKattQuest/MonkeyPython, Aszazin, Early6431, Felipe Silva, Lunae_XD, salo.rock, Vaclovas Intas, wileyfoxyx, WorldPioneerXXX, yyb987, and yyoung for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2024-07-11.0.

Continue reading “MusicBrainz Server update, 2024-07-11”

MusicBrainz Server update, 2024-06-24

You may notice some exciting changes to event pages today. We’ll be making a proper announcement of the “EAA” in a separate post soon. 🙂

We have several other bug fixes and improvements as part of today’s release, plus a new report about video recordings for editors.

In the back-end, we’re making better use of our PostgreSQL standby, which should help with scalability. Development-wise, we’ve done a lot of JavaScript refactoring and upgrading of dependencies.

A new release of MusicBrainz Docker is also available that matches this update of MusicBrainz Server. See the release notes for update instructions.

Thanks to JadedBlueEyes for aligning release titles in release groups. Thanks to Aerozol, atj, chaban, Chiark, Mathias Kunter, RVMWSN, sammyrayy, UltimateRiff, VBZPPlNQyJ, wileyfoxyx, yindesu and zas for having reported bugs and suggested improvements. Thanks to ApeKattQuest, BestSteve, BlueCamille, Felipe Silva, kellnerd, salo.rock, Vaclovas Intas, wileyfoxyx, yyb987, and Zetas70, for updating the translations. And thanks to all others who tested the beta version!

The git tag is v-2024-06-24.

Continue reading “MusicBrainz Server update, 2024-06-24”

PostgreSQL 12 Upgrade Instructions for MusicBrainz Server

Thanks to everyone for your patience during our downtime today. As promised, here are steps to follow to upgrade your own PG instance to v12. (Confused? See the previous blog post on this subject.)

If you’re already running v12, there are still some instructions you must follow!

For MusicBrainz Docker

If you’re running the new MusicBrainz Docker setup, an upgrade script exists for you to use. See the release notes for specific – hopefully brief – instructions.

For a Manual Setup (INSTALL.md Based)

If you aren’t using Docker but rather set up musicbrainz-server by hand following INSTALL.md, see the steps below.

Know that as an alternative, you can always import new data dumps from scratch (again following the steps in INSTALL.md) into a new PG 12 cluster. Just make sure you’re on the v-2020-05-18-postgres12 tag of musicbrainz-server while doing so.

If on the other hand you don’t mind getting your hands a bit dirty, you can use the quicker method below. Like INSTALL.md, this assumes you’re using Ubuntu/Debian and their postgresql-common cluster management tools.

If you’re already running v12, you should still follow these steps; however, you can skip the ones involving apt-get, pg_dropcluster, and pg_upgradecluster. The main steps you need to follow in this case are running the 20200518-pg12-before-upgrade.sql and 20200518-pg12-after-upgrade.sql scripts in that order.

On distros other than Debian/Ubuntu where the postgresql-common tools aren’t available, you’ll have to manage with initdb and pg_upgrade on your own.

  1. First take down the web server running MusicBrainz (stop plackup) to prevent database access.
  2. Turn off any cron jobs updating or accessing the database (e.g. for the live data feed/replication packets).
  3. Switch to the latest musicbrainz-server code with:
    git fetch origin && \
    git checkout v-2020-05-18-postgres12
  4. With PG 9.5 (or whatever version you’re using) still running, run the following “pre-upgrade” script:
    psql -U postgres -d musicbrainz_db \
    -f admin/sql/updates/20200518-pg12-before-upgrade.sql

    This assumes that “postgres” is the name of your PG superuser, and “musicbrainz_db” is the name of your database. If you see a few messages about things not existing, that’s normal.

  5. Install packages for PostgreSQL 12. On Ubuntu/Debian you can obtain them from the PGDG apt repo.
    apt-get update && \
    apt-get install postgresql-12 postgresql-server-dev-12

    If you’re installing postgresql-12 for the first time, this will automatically create a new cluster at /var/lib/postgresql/12/main. Remove that empty cluster. Don’t run this if you already had v12 installed and have data there!

    pg_dropcluster --stop 12 main
    If you did already have v12 installed with musicbrainz_db running there, leave the cluster alone and skip the next step involving pg_upgradecluster.

    In the unlikely event that you already have a v12 cluster, but also have musicbrainz_db running in a separate, older cluster, these instructions won’t work for you. We recommend importing fresh data dumps into the v12 cluster and dropping the old one.

  6. Upgrade the old cluster. This assumes it’s version 9.5; if you’re using version 10 or 11, make sure to replace 9.5 below with 10 or 11. If you have other databases in your old cluster besides musicbrainz_db, be aware that this will upgrade all of them to PG 12.
     pg_upgradecluster -v 12 9.5 main
  7. If all goes well, the new cluster should be up and running. (You can drop the old one if you like; the output of the pg_upgradecluster command will tell you how.) Now run the following “post-upgrade” script on the database:
    psql -U postgres -d musicbrainz_db -f \
    admin/sql/updates/20200518-pg12-after-upgrade.sql
    This may take a bit, as it has to recreate some indexes.
  8. The upgrade is complete. You can turn cron jobs back on, if applicable.
  9. Restart the MusicBrainz web server / plackup, if applicable. If you’re accessing the server in a web browser, the usual release upgrade steps apply, like running ./script/compile_resources.sh again.

If you run into any trouble following the above, please let us know and we’ll try to help resolve your issue as soon as possible!

MusicBrainz Docker composes with Solr 7

The MusicBrainz virtual machine is dead, long live the MusicBrainz Docker Compose project. In fact, the virtual machine has been running it for years. Mostly because the data loaded with the virtual machine was too soon obsolete, it doesn’t seem worth it anymore. Plus, new search indexes are much larger than before, and using Docker Compose directly is much more versatile.

The MusicBrainz Docker Compose project has been deeply revamped since two years ago and now ships the new search server based on Solr 7. It can be used for mirroring the MusicBrainz website and database, testing your own app with a local MusicBrainz web service, or developing the MusicBrainz Server itself. Check out the release notes!

Thanks to everyone who reported issues and contributed patches for two years!

New NGS Virtual Machine available

The promised Virtual Machine for MusicBrainz Next Generation Schema Release Candidate 1+ is now available for download. This virtual machine is setup as a slave and can pull replication data from the test server by running the admin/replication/LoadReplicationChanges from the musicbrainz-server codebase about 10 minutes after every hour.

See our wiki page for details on how to use this VM