Difference between revisions of "MusicBrainz Server/Setup"

From MusicBrainz Wiki
(Setup MusicBrainz Server from source code: Update after MusicBrainz Docker became officially recommended)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== MusicBrainz Server Docker container ==
+
== Setup from Docker Compose ==
  
See [https://github.com/metabrainz/musicbrainz-docker/tree/mbvm-38-dev MusicBrainz Docker development version]
+
This method is recommended as it makes install, setup, and maintenance much easier for you, to the cost of a small overhead compared to the size of the database.
  
Even though it is still in development, it has been stable enough for months.
+
It can be used to:
 +
* Replicate the MusicBrainz website/web service/database,
 +
* Test your own app that queries MusicBrainz web service,
 +
* Develop MusicBrainz Server itself.
  
== Setup MusicBrainz Server from source code ==
+
See [https://github.com/metabrainz/musicbrainz-docker MusicBrainz Docker] and its [https://github.com/metabrainz/musicbrainz-docker/releases release notes].
This can potentially be a very laborious and time consuming method of getting a functioning MusicBrainz server. Using the virtual machine is recommended, except for development purpose.
 
  
Get a copy of musicbrainz-server from git:  
+
== Setup from source code ==
 +
This can potentially be a very laborious and time consuming method of getting a functioning MusicBrainz server. Use it only if you cannot use MusicBrainz Docker for some reason (disk space, development, …).
 +
 
 +
Get a copy of musicbrainz-server from git:
 
  git clone --recursive https://github.com/metabrainz/musicbrainz-server.git musicbrainz-server
 
  git clone --recursive https://github.com/metabrainz/musicbrainz-server.git musicbrainz-server
 
  cd musicbrainz-server
 
  cd musicbrainz-server
Line 23: Line 28:
 
In order to set up a running MusicBrainz server with the full database you will need:
 
In order to set up a running MusicBrainz server with the full database you will need:
 
* A linux box, preferably Ubuntu.
 
* A linux box, preferably Ubuntu.
* 20GB+ of free disk space, (if you are a developer and only want the server code and database structure somewhat less should do).
+
* 60GB+ of free disk space, (if you are a developer and only want the server code and database structure 2GB+ should do, count 6GB+ if you want sample data).
 
* [[Git]] knowledge which will enable you to check out the source code.
 
* [[Git]] knowledge which will enable you to check out the source code.
 
* PostgreSQL 9.5 or later (and some [https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md#prerequisites other dependencies])
 
* PostgreSQL 9.5 or later (and some [https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md#prerequisites other dependencies])
  
 
As a developer the following knowledge/skills are beneficial:
 
As a developer the following knowledge/skills are beneficial:
* Perl and a number of perl modules, PostgreSQL, nginx.
+
* Perl and a number of perl modules, PostgreSQL, React/JSX.
* How to compile and install packages from source on a Linux box.  
+
* How to compile and install packages from source on a Linux box.
 
* How to patch existing packages, although we can help you out if you have questions about that.
 
* How to patch existing packages, although we can help you out if you have questions about that.
  
Line 36: Line 41:
 
==External Links==
 
==External Links==
 
* [https://github.com/metabrainz/musicbrainz-server MusicBrainz Server] on GitHub
 
* [https://github.com/metabrainz/musicbrainz-server MusicBrainz Server] on GitHub
* List of [http://blog.musicbrainz.org/category/server/?tag=changelog server updates] on the MusicBrainz blog
+
** List of [https://blog.metabrainz.org/category/musicbrainz+server/?tag=changelog MusicBrainz Server updates] on the MetaBrainz blog
* List of supplemental [http://blog.musicbrainz.org/category/server/?tag=instructions instructions] on the MusicBrainz blog
+
** List of supplemental [http://blog.musicbrainz.org/category/musicbrainz+server/?tag=instructions instructions] on the MetaBrainz blog
* List of [http://blog.musicbrainz.org/category/virtual-machine/ VM releases] on the MusicBrainz blog
+
 
 +
* [https://github.com/metabrainz/musicbrainz-server MusicBrainz Docker] on GitHub
 +
** List of [https://blog.metabrainz.org/category/musicbrainz+virtual-machine/ MusicBrainzB Virtual Machine releases] on the MetaBrainz blog
 +
** List of [https://github.com/metabrainz/musicbrainz-server/releases MusicBrainz Docker releases] on GitHub
  
 
[[Category:WikiDocs Page]] [[Category:Download]] [[Category:Development]] [[Category:Server]]
 
[[Category:WikiDocs Page]] [[Category:Download]] [[Category:Development]] [[Category:Server]]

Latest revision as of 15:55, 15 May 2020

Setup from Docker Compose

This method is recommended as it makes install, setup, and maintenance much easier for you, to the cost of a small overhead compared to the size of the database.

It can be used to:

  • Replicate the MusicBrainz website/web service/database,
  • Test your own app that queries MusicBrainz web service,
  • Develop MusicBrainz Server itself.

See MusicBrainz Docker and its release notes.

Setup from source code

This can potentially be a very laborious and time consuming method of getting a functioning MusicBrainz server. Use it only if you cannot use MusicBrainz Docker for some reason (disk space, development, …).

Get a copy of musicbrainz-server from git:

git clone --recursive https://github.com/metabrainz/musicbrainz-server.git musicbrainz-server
cd musicbrainz-server

And follow the instructions in the INSTALL file.

Support

The setup process may look daunting, but please don't let this discourage you; the INSTALL is thorough and contains a lot of information, and we are willing to provide assistance. If you have questions about installing, join us in the #metabrainz IRC channel or post a question on the community forum and we will attempt to help you out.

We recommend that you dive in and give it a try - who knows how far you'll get and what you might learn along the way!

Requirements

In order to set up a running MusicBrainz server with the full database you will need:

  • A linux box, preferably Ubuntu.
  • 60GB+ of free disk space, (if you are a developer and only want the server code and database structure 2GB+ should do, count 6GB+ if you want sample data).
  • Git knowledge which will enable you to check out the source code.
  • PostgreSQL 9.5 or later (and some other dependencies)

As a developer the following knowledge/skills are beneficial:

  • Perl and a number of perl modules, PostgreSQL, React/JSX.
  • How to compile and install packages from source on a Linux box.
  • How to patch existing packages, although we can help you out if you have questions about that.

Note: The server has never been ported to Windows, and we suspect that it would be a fair amount of work to make that happen.

External Links