pan.do/ra is a free, open source media archive platform.
Find a file
2010-12-29 16:24:41 +05:30
apache update docs and example nginx/apache config 2010-11-28 16:06:48 +01:00
etc/init dont set task_id, only create poster if timeline exists, do not update poster in update_imdb 2010-12-25 19:15:19 +05:30
fixtures foo 2009-06-08 18:08:59 +02:00
nginx 90 seconds timeout 2010-12-23 18:00:10 +05:30
pandora end 2010-12-29 16:24:41 +05:30
static adding select element for sorting lists 2010-12-27 05:01:45 +00:00
vm move ipython to firstboot 2010-12-22 20:45:49 +05:30
wsgi init scripts and name 2010-04-29 14:29:13 +03:00
.bzrignore random commit 2009-12-31 16:04:32 +01:00
README doc formating 2010-12-24 16:01:44 +05:30
requirements.txt requirements 2010-12-25 15:43:08 +05:30

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.

* 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