pan.do/ra is a free, open source media archive platform.
https://pan.do/ra
apache | ||
etc | ||
fixtures | ||
nginx | ||
pandora | ||
static | ||
vm | ||
.bzrignore | ||
README | ||
requirements.txt | ||
update.sh |
pan.do/ra - open media archive == DEVELOPMENT == To setup a development instance of pan.do/ra, you need python, bazaar, pip and virtualenv and several other python modules: * Packages apt-get install python-setuptools python-pip python-virtualenv ipython apt-get install python-dev python-imaging python-numpy python-psycopg2 bzr branch http://code.0x2620.org/pandora pandora cd pandora virtualenv . pip -E . install -r requirements.txt cd static bzr branch http://code.0x2620.org/oxjs * Additional pandora tools: You need current versions of mkvtoolnix, oxframe, oxtimeline installed. For Ubuntu we provide these packages in a ppa: sudo apt-get install python-software-properties sudo add-apt-repository ppa:j/pandora sudo add-apt-repository ppa:gstreamer-developers/ppa sudo apt-get update sudo apt-get install oxframe oxtimeline mkvtoolnix * Database We use postgresql but other databases might also work (make sure you have the python bindings installed). create a postgresql database and adjust settings in local_settings.py and run ./manage.py syncdb to populate the database you might want to load example configurations from fixutes. createdb -T template0 --locale=C --encoding=UTF8 -O pandora pandora * RabbitMQ For background tasks we use RabbitMQ, to install rabbitmq: sudo apt-get install rabbitmq-server and create permissions according to BROKER_* in local_settings.py i.e.: sudo rabbitmqctl add_user pandora box sudo rabbitmqctl add_vhost /pandora sudo rabbitmqctl set_permissions -p /pandora pandora ".*" ".*" ".*" * H264 to support h264 videos, install ffmpeg with x264 enabled, install qt-faststart from (ffmpeg/tools) set VIDEO_H264 = True in local_settings.py Running developer environment: in one terminal: ./manage.py runserver and in another one: ./manage.py celeryd -Q default,encoding Updating database: right now database updates are not managed, each time you update to current bzr you might have to update db tables too. Use ./manage.py sqldiff appname to check if changes exist and ./manage.py sqldiff appname | ./manage.py dbshell to apply them. This has to be done for all installed apps == DEPLOYMENT == To run pan.do/ra in production, we use nginx, using apache2 is also possible. * nginx setup sudo apt-get install nginx * apache2 setup sudo apt-get install apache2-mpm-prefork sudo apt-get install libapache2-mod-xsendfile