I am writing an online application that, as part of its function, accesses the MusicBrainz online database via its Web Service. There are expected to be multiple parallel users of this online application. Unfortunately there is a throttle on access to the Web Service of one call per second, which means to support multiple parallel users I need my own MusicBrainz server and database with the web service throttling disabled.
Furthermore, I want to benefit from new information added to the MusicBrainz database, so I need some way to update my own database with the latest data.
I'm looking for an Amazon EC2 system administrator, ideally with a knowledge of Linux, Perl, Git and PostgreSQL, to perform the following tasks:
- Deploy the MusicBrainz server and database in my Amazon EC2 environment (involving checking out the code with Git and building it from source)
- Deploy the search server
- Create a shell script to download the latest version of MusicBrainz data and update the database
- Firewall the server so that only you, my application (also running in EC2) and my development workstation in my office can access it
The search server is required because, otherwise, the musicbrainz.org search server will be used, which re-introduces the 1/second throttling.
By default, a local MusicBrainz server has rate limiting disabled, so no special work needs to be done for that.
More information about the MusicBrainz server and database can be seen here:
Information about the search server can be seen here:
According to http://musicbrainz.org/doc/MusicBrainz_Server/Setup you will have to download and build the MusicBrainz server from scratch. See "Setup MusicBrainz Server from source code" in the previous link and https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL.md
- The EC2 image is a headless Linux box
- I have SSH access to the server
- More than 1 connection a second is allowed
- Can access (and only access) from my EC2 machine, my office workstation and (optionally) your computer
I shall provide you with the appropriate access credentials to create etc the virtual machines.