This is how to run a Tahoe client or a complete Tahoe grid. First you have to install the Tahoe software, as documented in install.html.
The tahoe executable in the bin
directory is
used to create, start, and stop nodes. Each node lives in a separate base
directory, in which there is a configuration file named tahoe.cfg
. Nodes
read and write files within this base directory.
A grid consists of a set of nodes, computers running the tahoe code, each of these nodes functions as in one of the following roles:
If you're getting started we recommend you try connecting to the the public test grid as you only need to create a client node. When you want to create your own grid you'll need to create the introducer and an initial storage nodes.
To construct a client node, run
"path-to-the-tahoe-bin-directory/tahoe
create-client
", which will create ~/.tahoe
to be the
node's base directory. Acquire a copy of the introducer.furl
from the introducer and put it into this directory, then use
"path-to-the-tahoe-bin-directory/tahoe
run
". After that, the node should be off and running. The first
thing it will do is connect to the introducer and get itself connected to
all other nodes on the grid. By default, a node will serve as a storage
node, meaning that it offers its disk space to other nodes. To configure
other behavior, see configuration.txt.
To construct an introducer, create a new base directory for it (the name
of the directory is up to you), cd into it, and run
"path-to-the-tahoe-bin-directory/tahoe
create-introducer .
". Now run the introducer using
"tahoe start .
". After it starts, it will write a file named
introducer.furl
in that base directory. This file contains the
URL the other nodes must use in order to connect to this introducer.
The "tahoe run
" command above
will run the node in the foreground. On Unix, you can run it in the background
instead by using the "tahoe start
" command.
To stop a node started in this way, use "tahoe stop
".
tahoe --help
gives a summary of all commands.
See configuration.txt for more details about how to configure tahoe.
If your node is behind a firewall or NAT device and want other
clients to connect to it then you'll need to open a port
in your firewall. To do that you'll need to know which port tahoe
is listening on as, by default, it listens on an arbitrary port
number. To tell tahoe to listen to a fixed port, open the
~/.tahoe/tahoe.cfg
file in your favourite text editor
and changing the tub.port
line to something like the
following:
tub.port = 8098
This tells tahoe to always listen on port 8098 of your
computer. The next issue is that your computer may be behind a
NATing router and isn't directly connected to the internet but
goes through a router to get out. If that's the case then you'll
need to set the tub.location
option so that tahoe
tells the introducer where you're really listening:
tub.location = myserver.mydomain.org:8098
or probably more likely
tub.location = 123.456.789.012:8098
The configuration.txt file contains more details
Now you have a decentralized filesystem. See using.html for instructions about how to interact with it.