Description of how to install the software needed for Lobber.




Web application server

PgSQL server

BT Tracker

Storage Node

All hosts are running Ubuntu (9.10 from day 0) with the following extra packages and customizations.

common to all

apt-get install git-core git-doc ssl-cert git-core
apt-get install postfix
# local only configuration!

apt-get install python-django apache2 libapache2-mod-shib2 python-libtorrent \
   python-bittorrent python-django-doc python-egenix-mxdatetime python-egenix-mxtools \
   python-psycopg2 python-pycurl python-openssl postgresql-client-8.4 python-twisted \
   python-setuptools python-pysqlite2 libapache2-mod-python python-django-tagging \
   python-werkzeug python-django-extensions python-django-evolution deluge-common

python-setuptools gives us easy-install which we use for installing some stuff not packaged in Debian packages:

# easy_install orbited
# easy_install stompservice

Get a 3.x version of from and install:

Create /etc/orbited.cfg:


* -> localhost:61613


session.ping_interval = 300


#Don't enable debug by default

och se till att orbited startas: orbited -c /etc/orbited.cfg vid boot (/etc/rc.local till nöds)

and make sure that orbited is started like this automatically at boot: orbited -c /etc/orbited.cfg

Activate some Apache modules:

# a2enmod shib2
# a2enmod headers
# a2enmod rewrite
# a2enmod proxy
# a2enmod proxy_http

Set up cron jobs for expiring old torrents, keys and peers.

# m h dom mon dow command
*/5 * * * * cd /../lobber/src/ && ./ expire_peers 5 /dev/null 2>&1
0 0 * * * cd /../lobber/src/ && ./ expire_torrents >/dev/null 2>&1
5 0 * * * cd /../lobber/src/ && ./ expire_keys >/dev/null 2>&1 

Finally, make sure that Lobber can send email. This is done via STOMP messages to a twisted. Run this (in the src directory):

# env PYTHONPATH=`pwd`:$PYTHONPATH twistd -y sendmail.tac

See Running a storage node

Note that app-dev is a storage node too nowadays – that's how we do file upload.

apt-get install postgresql

Setting up your own sandbox

  1. apt-get install virtualenv
  2. virtualenv /mina/envs/lobber
  3. . /mina/envs/lobber/bin/activate
  4. pip install django django-extensions django-tagging orbited uuid django-evolution werkzeug
  5. apt-get deluge
  6. git clone (alt. git pull)
  7. cd lobber
  8. git checkout embedded-tracker
  9. mkdir db
  10. mkdir logs
  11. cd src
  12. ./ syncdb
  13. ln -s /mina/envs/lobber env
  14. ln -s env/lib/python2.6/site-packages/django/contrib/admin/media admin-media
  15. Edit paths in
  16. ./ runserver_plus