pan.do/ra is a free, open source media archive platform.
Find a file
2011-11-07 20:08:58 +00:00
etc update README, move scripts to toplevel 2011-11-03 13:32:23 +01:00
pandora dont get color for clips outside item duration 2011-11-07 16:32:50 +01:00
scripts update README, move scripts to toplevel 2011-11-03 13:32:23 +01:00
static fix a bug where after selecting an item in clip view (making the poster appear) and then switching to grid view would not make the video preview appear (but keep the poster around) 2011-11-07 20:08:58 +00:00
vm no more loaddata needed 2011-03-24 11:39:18 +01:00
.bzrignore init.js->pandora.js 2011-11-03 11:50:05 +01:00
README update README, move scripts to toplevel 2011-11-03 13:32:23 +01:00
reload.sh add pid to upstart 2011-10-19 16:27:38 +02:00
requirements.txt dont cache log calls 2011-11-04 12:25:10 +01:00
update.sh show sqldiff 2011-11-04 12:29:00 +01:00

pan.do/ra - open media archive

== SETUP ==
To setup 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

* Pan.do/ra
Get code from bazzar
    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

create settings_local.py and create site.jsonc
(use settings.py / 0xdb.jsonc / padma.jsonc as example)
create db
    
    ./manage.py syncdb

create / update static files
    
    ./manage.py update_static 
    ./manage.py compile_pyc


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

    createdb  -T template0 --locale=C --encoding=UTF8 -O pandora pandora

  (setting locale to C is required to fix a bug in sort if set to UTF8)

* 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)
    to enable add "mp4" to video.formats in your config.jsonc

Running developer environment:
  in one terminal:
    ./manage.py runserver
  and in another one:
    ./manage.py celeryd -Q default,encoding -B

=== Updating ===
To update a pandora installation get the latest version from bzr by running
    ./update.sh
this will pull pandora/oxjs/python-ox and list possible upgrades to the db

to update your database tables, use
   ./manage.py sqldiff -a
to check if there are changes and
   ./manage.py sqldiff -a | ./manage.py dbshell
to apply them.

== DEPLOYMENT ==
* Install upstart scripts
check etc/init for upstart scripts, adjust path and user and put into /etc/init

To run pan.do/ra in production, we use nginx, using apache2 is also possible.

* nginx setup
    sudo apt-get install nginx 

  add this to local_settings.py:
    XACCELREDIRECT = True

  setup nginx according to etc/nginx/vhost.in

* apache2 setup
    apt-get install apache2-mpm-prefork libapache2-mod-xsendfile

  add this to local_settings.py:
    XSENDFILE = True

  setup apache according to etc/apache2/vhost.in