MusicBrainz Server/Setup: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
m (→‎External Links: Indent grouped links)
m (→‎Requirements: Remove the required version of PostgreSQL, which was outdated and would like become outdated again, mention some other key software requirements)
 
(2 intermediate revisions by the same user not shown)
Line 10: Line 10:
See [https://github.com/metabrainz/musicbrainz-docker MusicBrainz Docker] and its [https://github.com/metabrainz/musicbrainz-docker/releases release notes].
See [https://github.com/metabrainz/musicbrainz-docker MusicBrainz Docker] and its [https://github.com/metabrainz/musicbrainz-docker/releases release notes].


== Setup MusicBrainz Server from source code ==
== Setup from source code ==
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.
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:
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 28: 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, Perl, Node.js, and some other dependencies (See [https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md#prerequisites all software prerequisites])


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 45: Line 45:


* [https://github.com/metabrainz/musicbrainz-server MusicBrainz Docker] on GitHub
* [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 MusicBrainz blog
** 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
** List of [https://github.com/metabrainz/musicbrainz-server/releases MusicBrainz Docker releases] on GitHub



Latest revision as of 19:58, 28 March 2023

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, Perl, Node.js, and some other dependencies (See all software prerequisites)

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