2008-01-02 00:20:07 +00:00
|
|
|
<!DOCtype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
2010-02-01 18:18:09 +00:00
|
|
|
<title>Running Tahoe-LAFS</title>
|
2008-01-02 00:20:07 +00:00
|
|
|
<link rev="made" class="mailto" href="mailto:zooko[at]zooko[dot]com">
|
2010-02-01 18:18:09 +00:00
|
|
|
<meta name="description" content="how to run Tahoe-LAFS">
|
2008-01-02 00:20:07 +00:00
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
2010-06-17 00:09:52 +00:00
|
|
|
<meta name="keywords" content="tahoe Tahoe-LAFS secure decentralized filesystem operation">
|
2008-01-02 00:20:07 +00:00
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
2010-06-17 01:28:57 +00:00
|
|
|
<h1>How To Run Tahoe-LAFS</h1>
|
2008-01-02 00:20:07 +00:00
|
|
|
|
2010-06-16 14:02:27 +00:00
|
|
|
<p>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 <a
|
2008-01-02 04:50:46 +00:00
|
|
|
href="install.html">install.html</a>.</p>
|
|
|
|
|
2010-06-17 00:09:52 +00:00
|
|
|
<p>The <code>tahoe</code> program in the <code>bin</code> directory is
|
2009-06-21 17:50:05 +00:00
|
|
|
used to create, start, and stop nodes. Each node lives in a separate base
|
2009-08-09 20:14:16 +00:00
|
|
|
directory, in which there is a configuration file named <code>tahoe.cfg</code>. Nodes
|
|
|
|
read and write files within this base directory.</p>
|
2008-01-02 04:50:46 +00:00
|
|
|
|
2010-06-17 00:09:52 +00:00
|
|
|
<p>A grid consists of a set of <em>storage nodes</em> and <em>client nodes</em>
|
|
|
|
running the Tahoe-LAFS code. There is also an <em>introducer node</em> that
|
|
|
|
is responsible for getting the other nodes talking to each other.</p>
|
2009-08-09 20:14:16 +00:00
|
|
|
|
|
|
|
<p>If you're getting started we recommend you try connecting to
|
2010-06-17 00:09:52 +00:00
|
|
|
the <a href="http://tahoe-lafs.org/trac/tahoe-lafs/wiki/TestGrid">the
|
2009-08-09 20:14:16 +00:00
|
|
|
public test grid</a> as you only need to create a client node.
|
|
|
|
When you want to create your own grid you'll need to create the
|
2010-06-17 00:09:52 +00:00
|
|
|
introducer and several initial storage nodes (see the note about
|
|
|
|
small grids below).</p>
|
2009-06-21 17:50:05 +00:00
|
|
|
|
2009-08-09 20:14:16 +00:00
|
|
|
<p>To construct a client node, run
|
2010-06-17 00:09:52 +00:00
|
|
|
"<code><strong>path-to-the-tahoe-bin-directory</strong>/tahoe
|
2009-08-09 20:14:16 +00:00
|
|
|
create-client</code>", which will create <code>~/.tahoe</code> to be the
|
|
|
|
node's base directory. Acquire a copy of the <code>introducer.furl</code>
|
2010-01-12 04:44:09 +00:00
|
|
|
from the introducer and put it into this directory, then use
|
2010-06-17 00:09:52 +00:00
|
|
|
"<code><strong>path-to-the-tahoe-bin-directory</strong>/tahoe
|
2010-01-12 04:44:09 +00:00
|
|
|
run</code>". After that, the node should be off and running. The first
|
2009-06-21 17:50:05 +00:00
|
|
|
thing it will do is connect to the introducer and get itself connected to
|
2009-08-09 20:14:16 +00:00
|
|
|
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
|
2009-06-21 17:50:05 +00:00
|
|
|
other behavior, see <a href="configuration.txt">configuration.txt</a>.</p>
|
|
|
|
|
2009-08-09 20:14:16 +00:00
|
|
|
|
|
|
|
<p>To construct an introducer, create a new base directory for it (the name
|
2010-06-17 00:09:52 +00:00
|
|
|
of the directory is up to you), <code>cd</code> into it, and run
|
|
|
|
"<code><strong>path-to-the-tahoe-bin-directory</strong>/tahoe
|
2010-01-12 04:44:09 +00:00
|
|
|
create-introducer .</code>". Now run the introducer using
|
2010-06-17 00:09:52 +00:00
|
|
|
"<code>tahoe start .</code>". After it starts, it will write a file named
|
2009-08-09 20:14:16 +00:00
|
|
|
<code>introducer.furl</code> in that base directory. This file contains the
|
|
|
|
URL the other nodes must use in order to connect to this introducer.</p>
|
2009-06-21 17:50:05 +00:00
|
|
|
|
2010-01-12 04:44:09 +00:00
|
|
|
|
2010-06-17 00:09:52 +00:00
|
|
|
<p>The "<code>tahoe run</code>" command above
|
2010-01-12 04:44:09 +00:00
|
|
|
will run the node in the foreground. On Unix, you can run it in the background
|
2010-06-17 00:09:52 +00:00
|
|
|
instead by using the "<code>tahoe start</code>" command.
|
|
|
|
To stop a node started in this way, use "<code>tahoe stop</code>".
|
|
|
|
<code>tahoe --help</code> gives a summary of all commands.</p>
|
2009-08-09 20:14:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
<p>See <a href="configuration.txt">configuration.txt</a> for more
|
2010-06-17 00:45:13 +00:00
|
|
|
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.
|
2009-08-09 20:14:16 +00:00
|
|
|
|
|
|
|
|
2010-06-17 01:28:57 +00:00
|
|
|
<h3>A note about small grids</h3>
|
2010-06-16 14:02:27 +00:00
|
|
|
|
|
|
|
<p>By default, Tahoe-LAFS ships with the configuration parameter
|
|
|
|
<code>shares.happy</code> 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
|
2010-06-17 00:09:52 +00:00
|
|
|
— none of your uploads will succeed. To fix this, see <a
|
2010-06-16 14:02:27 +00:00
|
|
|
href='configuration.txt'>configuration.txt</a> to learn how to set
|
|
|
|
<code>shares.happy</code> to a more suitable value for your
|
|
|
|
grid.</p>
|
|
|
|
|
2010-06-17 01:28:57 +00:00
|
|
|
|
2008-02-14 15:54:34 +00:00
|
|
|
<h2>Do Stuff With It</h2>
|
2008-01-08 17:32:41 +00:00
|
|
|
|
2010-06-17 01:28:57 +00:00
|
|
|
<p>This is how to use your Tahoe node.</p>
|
|
|
|
|
|
|
|
<h3>The WUI</h3>
|
|
|
|
|
|
|
|
<p>Point your web browser to <a
|
|
|
|
href="http://127.0.0.1:3456">http://127.0.0.1:3456</a> — which is the URL
|
|
|
|
of the gateway running on your own local computer — to use your newly
|
|
|
|
created node.</p>
|
|
|
|
|
|
|
|
<p>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.</p>
|
|
|
|
|
|
|
|
<p>You can do more or less everything you want to do with a decentralized
|
|
|
|
filesystem through the WUI.</p>
|
|
|
|
|
|
|
|
<h3>The CLI</h3>
|
|
|
|
|
|
|
|
<p>Prefer the command-line? Run "<code>tahoe --help</code>" (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 "<code>tahoe
|
|
|
|
create-alias tahoe</code>". Once you've done that, you can do
|
|
|
|
"<code>tahoe ls tahoe:</code>" and "<code>tahoe cp LOCALFILE
|
|
|
|
tahoe:foo.txt</code>" to work with your filesystem. The Tahoe CLI uses
|
|
|
|
similar syntax to the well-known scp and rsync tools. See <a
|
|
|
|
href="frontends/CLI.txt">CLI.txt</a> for more details.</p>
|
|
|
|
|
|
|
|
<p>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.</p>
|
|
|
|
|
|
|
|
<h3>The SFTP and FTP frontends</h3>
|
|
|
|
|
|
|
|
<p>You can access your Tahoe grid via any <a href="http://en.wikipedia.org/wiki/SSH_file_transfer_protocol">SFTP</a> or
|
|
|
|
<a href="http://en.wikipedia.org/wiki/File_Transfer_Protocol">FTP</a> client.
|
|
|
|
See <a href="frontends/FTP-and-SFTP.txt">FTP-and-SFTP.txt</a> 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 <code>sshfs</code>.
|
|
|
|
|
|
|
|
<p>The <a href="http://tahoe-lafs.org/trac/tahoe-lafs/wiki/SftpFrontend">SftpFrontend</a> page
|
|
|
|
on the wiki has more information about using SFTP with Tahoe.</p>
|
|
|
|
|
|
|
|
<h3>The WAPI</h3>
|
|
|
|
|
|
|
|
<p>Want to program your Tahoe node to do your bidding? Easy! See <a
|
|
|
|
href="frontends/webapi.txt">webapi.txt</a>.</p>
|
|
|
|
|
|
|
|
<h2>Socialize</h2>
|
|
|
|
|
|
|
|
<p>You can chat with other users of and hackers of this software on the
|
|
|
|
#tahoe IRC channel at <code>irc.freenode.net</code>, or on the <a
|
|
|
|
href="http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev">tahoe-dev mailing list</a>.</p>
|
2008-01-02 04:50:46 +00:00
|
|
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|