MusicBrainz Server

From MusicBrainz Wiki
Jump to navigationJump to search

Products > MusicBrainz Server

The MusicBrainz Server is an open source GPL licensed software application that is written in Perl. The MusicBrainz Server provides the primary interface to the MusicBrainz Database by providing a website for users to browse and edit the data on, and a web service to power client applications like MusicBrainz Picard. The server can be accessed at http://musicbrainz.org/ or alternatively you may setup and run your own server.

If you are looking for help in understanding how MusicBrainz works the beginners guide and FAQs will provide a more thorough overview.

Overview

The following diagram briefly illustrates the different components of the MusicBrainz service:
MBComponents.png
How the MusicBrainz components are related to each other

As the diagram illustrates, the MusicBrainz server listens for incoming web page / WebService requests over HTTP, processes the requests referring to the database where necessary, and returns an appropriate response to the calling client. (See the DevelopmentOverview page for more details). The Relatable TRM Signature Server is not part of the MusicBrainz server. It is a closed-source proprietary system licensed from Relatable. For more information, please see HowTRMGenerationWorks. Since the Relatable TRM Signature Server is closed-source, you cannot download or modify its source code.

Download

download.gif Download and setup the server.

Required Software

The MusicBrainz server is built on top of the following components:

  • The data is stored in a PostgreSQL relational database.
  • Virtually all of the server code is written in Perl 5.8.
  • The web server is built using Apache and mod_perl.
  • A selection of Perl modules from CPAN are used; in particular the web pages are constructed using Mason.
  • The Expat XML parser library is used to handle the RDF web services.

Learn More