pan.do/ra is a free, open source media archive platform. https://pan.do/ra
Find a file
2011-10-07 19:30:02 +00:00
apache update docs and example nginx/apache config 2010-11-28 16:06:48 +01:00
etc use $USER 2011-03-24 11:39:07 +01:00
fixtures foo 2009-06-08 18:08:59 +02:00
nginx performance 2011-08-11 16:15:43 +02:00
pandora remove dead fixtures 2011-10-07 20:04:32 +02:00
static cancel requests on hashchange and popstate; handle external urls in info view 2011-10-07 19:30:02 +00:00
vm no more loaddata needed 2011-03-24 11:39:18 +01:00
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 rendered, editFile 2011-06-27 15:39:35 +02:00
update.sh silence build.py 2011-09-04 20:35:50 +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 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