MusicBrainz Server/Setup: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(Removed mention of Gentoo Server Setup & Development To Do List; generally cleaned up page.)
m (→‎Requirements: Remove the required version of PostgreSQL, which was outdated and would like become outdated again, mention some other key software requirements)
 
(109 intermediate revisions by 22 users not shown)
Line 1: Line 1:
== Setup from Docker Compose ==
<small>[[Products]] > [[Server]] > [[Server Development|Server development]] > Server setup </small>


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.
==Introduction==


It can be used to:
In order to set up a running '''mb_server''' on your machine you will need the following:
* Replicate the MusicBrainz website/web service/database,
* A linux box, preferably Ubuntu, that is a PIII-700 or better, with 256MB RAM and 2Gb of free disk space.
* Test your own app that queries MusicBrainz web service,
* A knowledge of Apache, Perl, mod_perl, PostgreSQL and a number of perl modules.
* Develop MusicBrainz Server itself.
* [[Subversion]] knowledge which will enable you to check out the source code.
* A knowledge of how to compile and install packages from source on a Linux box.
* A knowledge of how to patch existing packages is helpful, although we can help you out if you have questions about that. (''[[Contact Us|contact us]]'')


See [https://github.com/metabrainz/musicbrainz-docker MusicBrainz Docker] and its [https://github.com/metabrainz/musicbrainz-docker/releases release notes].
An alternative option to the above is to install a [[Virtual MusicBrainz Server|virtual MusicBrainz server]] that comes with a Linux environment fully configured with the latest release of the '''mb_server''' source code.


== Setup from source code ==
Some additional notes to keep in mind:
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, …).
* You do not actually need to know SQL/Perl to setup the server, but if you plan on adding features to MusicBrainz it will help to have experience in those areas.
* The server has ''never been ported to Windows'', and we suspect that it would be a fair amount of work to make that happen.


Get a copy of musicbrainz-server from git:
If you are considering helping out with [[Server|MusicBrainz server]] development, thank you! Otherwise, happy hacking!
git clone --recursive https://github.com/metabrainz/musicbrainz-server.git musicbrainz-server
cd musicbrainz-server
And follow the instructions in the [https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md INSTALL] file.


=== Support ===
==Installation instructions==
:''If you just want a running database, use the [[Database Setup|database setup]] instead.''


If you meet the above requirements read the [http://bugs.musicbrainz.org/browser/mb_server/trunk/INSTALL INSTALL] for complete installation instructions. If you are not familiar with all the requirements above, but are serious about '''mb_server''' development, join us in the [[Contact Us#IRC|IRC channel]] and/or post questions to the [[Developers Mailing List|developers mailing list]] and we will attempt to help you out if you get stuck.
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 [http://webchat.freenode.net/?channels=metabrainz #metabrainz IRC channel] or post a question on the [https://community.metabrainz.org/tags/musicbrainz-server 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!
==Don't be discouraged by the steep learning curve==


===Requirements===
We realize that this is a stiff set of requirements to get started, but please don't let this discourage you. The [http://bugs.musicbrainz.org/browser/mb_server/trunk/INSTALL INSTALL] file is thorough and contains a lot of information, and thus also looks daunting. 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. Once you get the MusicBrainz server running, take a look at the [[Help Wanted|help wanted]] page so see how you can contribute.


In order to set up a running MusicBrainz server with the full database you will need:
==Related HowTo's==
* 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 [https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md#prerequisites all software prerequisites])


As a developer the following knowledge/skills are beneficial:
* [[Lucene Server Setup|Lucene server setup]] - if you want to setup your own search server instead of having to query search.musicbrainz.org.
* 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.
[[Category:WikiDocs Page]] [[Category:Development]] [[Category:Server]]

==External Links==
* [https://github.com/metabrainz/musicbrainz-server MusicBrainz Server] on GitHub
** 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/musicbrainz+server/?tag=instructions instructions] on the MetaBrainz 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]]

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