Docker Compose files to deploy MusicBrainz slave server with Solr search

Since last year, musicbrainz.org has been using Solr search platform, but mirrors/slave servers deployed using musicbrainz-docker are still using the old search server/indexer. Update to mb-solr/sir is currently under review, you can give it a try (archive), feedback would be welcome at:

4 Likes

I’m actually testing your great work @yvanzo
Just to be sure:

You write in the new README.md about “build search indexes” we have to execute:
sudo docker-compose run --rm indexer python -m sir reindex

Will the result not be the same as the already executed
… Creating search indexes … (CreateSearchIndexes.sql)
included in the command
sudo docker-compose run --rm musicbrainz /createdb.sh -fetch

If not, what’s the difference?

1 Like

Step ### Build search indexes
In order to use the search functions of the web site/API you will need to build search indexes.

If I try to execute this command
vagrant@ubuntu:~/musicbrainz-docker$ sudo docker-compose run --rm indexer python -m sir reindex
I get the following error:

Starting musicbrainz-docker_db_1 ... done
Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"python\": executable file not found in $PATH": unknown
vagrant@ubuntu:~/musicbrainz-docker$

What can I do?

I try to run the above commands on a freshly installed ubuntu 19.04 where I only installed
docker and docker-compose as mentioned in your README.md

1 Like

The difference is sir reindex creates documents for Solr search server cores while /createdb.sh creates Generalized Inverted Indexes for full-text search in PostgreSQL.

2 Likes

Weird, python is likely installed in your fresh ubuntu 19.04 as docker-compose is a Python script, and it should be installed in indexer image too as sir-dockerfile/Dockerfile is based on metabrainz/python:2.7.

I just updated the code to fix some issues and to update to SIR 1.0.0.

1 Like

Thank you for your feedback @yvanzo. I will try it tomorrow with your newest code.
Will the linked archive from your initial post include the latest code?

This is the same link, but the archive content should have changed.
Check for SIR_VERSION=1.0.0 in sir-dockerfile/Dockerfile to make sure.

2 Likes

Thank you @yvanzo

I can execute the commands now. But there are still 2 problems:

a) The replication doesn’t work:

b) Calling the localhost:5000 returns a not very helpful error page:

a) “codebase is 25” is expected, but “database is 0” is not! Please check:

b) unhelpful error page issue has been just reported as MBS-10249

3 Likes

@yvanzo Thanks again. You are right (of course…)

I mistakenly jumped back to a snapshot before setting the replication token.
With your newest code and all steps in correct order, I get the local MB server up and running.

1 Like

To be honest, the documentation is considerably longer than it used to be, and each step has been inflated with details, that blurred the whole install process. I will reorganize it to improve readability.

5 Likes

Good idea, maybe you could split the documentation to
a) shortest possible, but all-what-you-need-included to copy&paste command list
b) Explanation for all the used commands, alternatives and maybe some hints about the time needed

Just let me know, if you need some docu tester.

4 Likes