forked from acoustid/acoustid-server
-
Notifications
You must be signed in to change notification settings - Fork 0
Web application for serving the Acoustid API and website
License
mori2k12bln/acoustid-server
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Acoustid Server =============== Dependencies ------------ * PostgreSQL 8.4+ http://www.postgresql.org/ * Python 2.6+ http://www.python.org/ * SQLAlchemy http://www.sqlalchemy.org/ * Psycopg2 http://initd.org/psycopg/ * Werkzeug http://werkzeug.pocoo.org/ * Jinja2 http://jinja.pocoo.org/ * Python-OpenID http://pypi.python.org/pypi/python-openid/ * Python-Markdown http://www.freewisdom.org/projects/python-markdown/ * Chromaprint http://acoustid.org/chromaprint Installation ------------ On Ubuntu you can install all dependencies using the following command: $ sudo add-apt-repository ppa:luks/acoustid $ sudo apt-get update $ sudo apt-get install postgresql postgresql-contrib postgresql-server-dev \ python-sqlalchemy python-werkzeug python-jinja2 \ python-openid python-markdown python-chromaprint \ python-psycopg2 Compile and install the included PostgreSQL extension: $ cd postgresql $ sudo make install clean $ cd .. Prepare the configuration file: $ cp acoustid.conf.dist acoustid.conf $ vim acoustid.conf Create the PostgreSQL database: $ sudo -u postgres createuser acoustid $ sudo -u postgres createdb -O acoustid acoustid Install extensions into the newly created database: $ psql -U postgres acoustid <`pg_config --sharedir`/contrib/_int.sql $ psql -U postgres acoustid <`pg_config --sharedir`/contrib/pgcrypto.sql $ psql -U postgres acoustid <`pg_config --sharedir`/contrib/acoustid.sql Create the database structure: $ ./run_psql.sh <sql/CreateTables.sql $ ./run_psql.sh <sql/CreateFunctions.sql $ ./run_psql.sh <sql/CreatePrimaryKeys.sql $ ./run_psql.sh <sql/CreateFKConstraints.sql $ ./run_psql.sh <sql/CreateIndexes.sql Setup a MusicBrainz slave database (without custom extensions): $ cd /path/to/mbslave $ cp mbslave.conf.default mbslave.conf $ vim mbslave.conf $ echo 'CREATE SCHEMA musicbrainz;' | ./mbslave-psql.py $ sed 's/cube/text/i' sql/CreateTables.sql | ./mbslave-psql.py $ ./mbslave-import.py mbdump.tar.bz2 mbdump-derived.tar.bz2 $ ./mbslave-psql.py <sql/CreatePrimaryKeys.sql $ vim sql/CreateFunctions.sql # remove functions that mention "cube" $ ./mbslave-psql.py <sql/CreateFunctions.sql $ grep -vE '(collate|page_index|gist)' sql/CreateIndexes.sql | ./mbslave-psql.py $ ./mbslave-psql.py <sql/CreateViews.sql $ ./mbslave-psql.py <sql/CreateSimpleViews.sql $ ./mbslave-sync.py TODO Unit Tests ---------- Before you can run the test suite, you need to create a configuration file called acoustid-test.conf. This should use a separate database from the one you use for development, but it should have the same structure. The simplest way to create it is to copy your development database. You can then run the test suite like this: $ nosetests -v The first thing it does is setting up the database. Normally you shouldn't need to do this more than once, so the next time you can run the test suite without the database setup code: $ SKIP_DB_SETUP=1 nosetests -v
About
Web application for serving the Acoustid API and website
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published