77 lines
2.4 KiB
Text
77 lines
2.4 KiB
Text
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
|
|
|
|
|