In order to run Lobber you will need at least the following software.
This example is for running Lobber on localhost.

Software

  • python
  • django (apt-get install python-django)
  • the web application – lobber
  • a database
  • sqlite
    or
  • postgresql

Installation

  • sudo apt-get install python-django python-libtorrent python-bittorrent python-django-doc python-egenix-mxdatetime python-egenix-mxtools python-pycurl python-openssl python-setuptools python-pysqlite2 python-django-tagging python-twisted sqlite3 sqlite3-doc

  • sudo easy_install stompservice

  • opentracker

    cvs -d :pserver:cvs@cvs.fefe.de:/cvs login
    cvs -d :pserver:cvs@cvs.fefe.de:/cvs co libowfat
    cd libowfat && make && cd ..

    git clone git://git.nordu.net/opentracker.git
    cd opentracker && make && cd ..

See Lobber development sandbox for more details on configuration.

Bootstrapping

Do this once:

  • Set up lobber

    cd lobber
    mkdir db logs torrents
    cd src
    ./dev-django-admin.sh syncdb

  • Configure orbited

    cat > orbited.cfg <<EOF
    listen http://:9000
    stomp://:61613

    access

    • -> localhost:61613

    static

    global
    session.ping_interval = 300
    user=www-data

    logging
    debug=STDERR,debug.log
    info=STDERR,info.log
    access=STDERR,info.log
    warn=STDERR,error.log
    error=STDERR,error.log

    #Don't enable debug by default
    enabled.default=info,access,warn,error
    EOF

  • Set up the tracker

    mkdir /tmp/tracker
    cat >> opentracker.conf << EOF
    listen.tcp_udp 0.0.0.0:4711
    access.stats_path stats-xyzzy
    tracker.rootdir /tmp/tracker
    EOF

Starting up

  • lobber

    cd lobber/src
    ./dev-django-admin.sh runserver

  • orbited

    orbited -c orbited.cfg

Using, first time

  • Go to http://localhost:8000/admin/ and log in as whatever admin user you created in the syncbd phase under Bootstrapping above.
  • Create an ordinary account
  • Log out

Using

Resetting database

Django model classes are represented as tables in the database.
When members of model classes are added, removed or changed, the database needs to be recreated.
There's probably a way of keeping all the data too but this does not save any data. Beware:

  • localhost:lobber/src% ./dev-django-admin.sh sqlreset share | ./dev-django-admin.sh dbshell
  • No labels