Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page index
  1. Overview
  2. Installing
  3. Configuration

Anchor
overview
overview

Overview

A lobber storage node is essentially a standard BitTorrent client with a very thin layer used to receive notification about new and modified torrents. A lobber storage node is provided as a twisted plugin and is installed from the python package index. Currently the twisted plugin works with transmission - a popular, cross-platform BitTorrent client. Other BT clients may be supported in the future.

Anchor
install
install

Installing

The examples below assume a debian/ubuntu environment. If you're running another unix-like or windows OS your milage may vary. Our goal is for lobber to run on a multitude of environments and operating systems. Please provide us with patches!

Anchor
installtrans
installtrans

Install Transmission

We recommend installing transmission 2.03 or later. If you are using ubuntu Ubuntu 10.04 you may have to install transmission from a PPA:

Code Block
# apt-get install python-software-properties
# add-apt-repository ppa:transmissionbt/ppa
# apt-get update

If you run Ubuntu 10.10 you onlu need to do the next bit.

Code Block

# apt-get install transmission-cli transmission-daemon deluge-common

At this point you should have a transmission daemon running after each reboot. Use the /etc/init.d/transmission-daemon tool to stop/start the service in the normal way.

Anchor
installstoragenode

lobberstoragenode

The lobberstoragenode is available from http://pypi.python.org/ and can be installed using the easy_install tool from python-setuptools:

...

installstoragenode

Install lobber-storagenode

Install dependencies:

Code Block
# apt-get install python-setuptoolspip python-twisted python-feedparser bittorrent
# easy_
Code Block

pip install stompservice transmissionrpc feedparser

Get the storage node from git.nordu.net:

Code Block
#git easy_install lobberstoragenode

...

clone git@git.nordu.net:lobber-storagenode.git

Install the storagenode:

Code Block

cd lobber-storagenode
python setup.py install

At this point twistd should have a new plugin registered. Verify this by running twistd --help and look for lobberstoragenode in the list of commands. If you see this then you're installation should be ok.

...

Code Block
$ twistd lobberstoragenode --help
Usage: twistd [options] lobberstoragenode [options]
Options:
  -n, --standardNotifications      Add standard notificiation destinations
  -R, --register                   Register new torrents with lobber
  -a, --announceUrl=               Announce URL (tracker) to use for new
                                   torrents
  -A, --acl=                       Access Control List to apply to new torrents
  -b, --dropbox=                   A directory to watch for new content
  -d, --torrentDir=                The directory where to store torrents
                                   [default: torrents]
  -D, --transmissionDownloadsDir=  The downloads directory for transmission
                                   [default:
                                   /var/lib/transmission-daemon/downloads]
  -h, --lobberHost=                The host running both STOMP and https for
                                   lobber
  -k, --lobberKey=                 The Lobber application key to use
  -p, --trackerProxyTrackerUrl=    Enable tracker proxying for given https
                                   tracker (HOST[:PORT])
  -P, --trackerProxyListenOn=      Adress to bind the tracker proxy to [default:
                                   localhost:8080]
  -r, --removeLimit=               Remove torrent and data when this many other
                                   storage-nodes have the data (0=never remove)
                                   [default: 0]
  -S, --stompUrl=                  The STOMP protocol URL to use for
                                   notifications [default:
                                   stomp://localhost:61613]
  -T, --transmissionRpc=           The RPC URL for transmission [default:
                                   http://transmission:transmission@localhost:9091]
      --version                    
      --help                       Display this help and exit.

Anchor
config
config

Configuration

Anchor
standalone
standalone

Stand-alone storage node

Anchor
webapp
webapp

Storage node for Lobber web application

When running a storage-node for development purposes you will typically run it with both the --stompUrl and --lobberUrl parameters pointing to endpoints on your local development sandbox. When running a storage-node off of beta.lobber.se you will typically want to start it this way:

...