pan.do/ra is a free, open source media archive platform.
Find a file
2011-10-27 13:15:20 +00:00
apache apache config 2011-10-20 21:33:07 +02:00
etc run celery scheduler, compile pyc, pandora user might not have write permissions 2011-10-27 13:27:03 +02:00
fixtures foo 2009-06-08 18:08:59 +02:00
nginx performance 2011-08-11 16:15:43 +02:00
pandora log backend errors into db 2011-10-27 14:26:05 +02:00
static merge 2011-10-27 13:15:20 +00:00
vm no more loaddata needed 2011-03-24 11:39:18 +01:00
.bzrignore update static files in update.sh, remove generated file 2011-10-23 12:50:24 +02:00
README run celery scheduler, compile pyc, pandora user might not have write permissions 2011-10-27 13:27:03 +02:00
reload.sh add pid to upstart 2011-10-19 16:27:38 +02:00
requirements.txt remove unused admin stuff 2011-10-23 03:30:09 +02:00
update.sh run celery scheduler, compile pyc, pandora user might not have write permissions 2011-10-27 13:27:03 +02:00

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 bzr git subversion mercurial \
            python-setuptools python-pip python-virtualenv ipython \
            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 oxframe, oxtimeline installed.
  For Ubuntu we provide these packages in a ppa:
    apt-get install python-software-properties
    add-apt-repository ppa:j/pandora
    apt-get update
    apt-get install oxframe oxtimeline 

* 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 -B

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