This is how to run a Tahoe-LAFS client or a complete Tahoe-LAFS grid. First you have to install the Tahoe-LAFS software, as documented in install.html.
The tahoe
program 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 storage nodes and client nodes running the Tahoe-LAFS code. There is also an introducer node that is responsible for getting the other nodes talking to each other.
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 several initial storage nodes (see the note about small grids below).
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-LAFS, including how to get other clients to connect to your node if it is behind a firewall or NAT device.
By default, Tahoe-LAFS ships with the configuration parameter
shares.happy
set to 7. If you are using Tahoe-LAFS on a
grid with fewer than 7 storage nodes, this won't work well for you
— none of your uploads will succeed. To fix this, see configuration.txt to learn how to set
shares.happy
to a more suitable value for your
grid.
This is how to use your Tahoe node.
Point your web browser to http://127.0.0.1:3456 — which is the URL of the gateway running on your own local computer — to use your newly created node.
Create a new directory (with the button labelled "create a directory"). Your web browser will load the new directory. Now if you want to be able to come back to this directory later, you have to bookmark it, or otherwise save a copy of the URL. If you lose URL to this directory, then you can never again come back to this directory.
You can do more or less everything you want to do with a decentralized filesystem through the WUI.
Prefer the command-line? Run "tahoe --help
" (the same
command-line tool that is used to start and stop nodes serves to navigate
and use the decentralized filesystem). To get started, create a new
directory and mark it as the 'tahoe:' alias by running "tahoe
create-alias tahoe
". Once you've done that, you can do
"tahoe ls tahoe:
" and "tahoe cp LOCALFILE
tahoe:foo.txt
" to work with your filesystem. The Tahoe CLI uses
similar syntax to the well-known scp and rsync tools. See CLI.txt for more details.
As with the WUI (and with all current interfaces to Tahoe), you are responsible for remembering directory capabilities yourself. If you create a new directory and lose the capability to it, then you cannot access that directory ever again.
You can access your Tahoe grid via any SFTP or
FTP client.
See FTP-and-SFTP.txt for how to set this up.
On most Unix platforms, you can also use SFTP to plug Tahoe into your computer's
local filesystem via sshfs
.
The SftpFrontend page on the wiki has more information about using SFTP with Tahoe.
Want to program your Tahoe node to do your bidding? Easy! See webapi.txt.
You can chat with other users of and hackers of this software on the
#tahoe IRC channel at irc.freenode.net
, or on the tahoe-dev mailing list.