summaryrefslogtreecommitdiff
path: root/docs/en/services.html
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2016-08-29 22:55:41 -0700
committerelijah <elijah@riseup.net>2016-08-29 22:55:41 -0700
commit0a09a6e6f247729457d15480f8d2b9bb0b89ae5e (patch)
treeaec1e88cb9d8a4942068fb46333d5719ed5af79f /docs/en/services.html
parent568688b5a7d17de26a275a2f6dde8bbd3054cdc6 (diff)
Updated (very out of date) docs and README.md
Diffstat (limited to 'docs/en/services.html')
-rw-r--r--docs/en/services.html251
1 files changed, 251 insertions, 0 deletions
diff --git a/docs/en/services.html b/docs/en/services.html
new file mode 100644
index 00000000..55211e64
--- /dev/null
+++ b/docs/en/services.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<html lang='en'>
+<head>
+<title>
+Services - LEAP Platform Documentation
+</title>
+<meta content='width=device-width, initial-scale=1.0' name='viewport'>
+<meta charset='UTF-8'>
+<base href="" />
+<style>
+ body {
+ background: #444;
+ display: flex;
+ flex-direction: row;
+ padding: 10px;
+ margin: 0px;
+ }
+ #sidebar {
+ flex: 0 0 250px;
+ background: white;
+ margin-right: 10px;
+ padding: 20px;
+ }
+ #sidebar ul {
+ list-style-type: none;
+ padding-left: 0px;
+ margin: 0;
+ }
+ #sidebar li { padding: 4px }
+ #sidebar li a { text-decoration: none }
+ #sidebar li.active { background: #444 }
+ #sidebar li.active a { color: white }
+ #sidebar li.level1 { padding-left: 20px }
+ #sidebar li.level2 { padding-left: 40px }
+ #main {
+ flex: 1 1 auto;
+ background: white;
+ padding: 20px;
+ }
+ #title-box {
+ padding-bottom: 20px;
+ border-bottom: 5px solid #eee;
+ }
+ #title-box h1 {
+ margin-top: 0px;
+ }
+ pre {
+ padding: 10px;
+ background: #eef;
+ }
+ code {
+ background: #eef;
+ }
+ table {border-collapse: collapse}
+ table td {
+ border: 1px solid #ccc;
+ padding: 4px;
+ vertical-align: top;
+ }
+</style>
+</head>
+<body>
+<div id='sidebar'>
+<ul>
+<li class=''>
+<a href='../index.html'>Home</a>
+</li>
+<li class=' level0'>
+<a class='' href='guide.html'>Guide</a>
+</li>
+<li class=' level0'>
+<a class='' href='tutorials.html'>Tutorials</a>
+</li>
+<li class='active level0'>
+<a class='' href='services.html'>Services</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/couchdb.html'>couchdb</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/openvpn.html'>openvpn</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/monitor.html'>monitor</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/mx.html'>mx</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/soledad.html'>soledad</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/tor.html'>tor</a>
+</li>
+<li class=' level1'>
+<a class='' href='services/webapp.html'>webapp</a>
+</li>
+<li class=' level0'>
+<a class='' href='upgrading.html'>Upgrading</a>
+</li>
+<li class=' level0'>
+<a class='' href='troubleshooting.html'>Troubleshooting</a>
+</li>
+<li class=' level0'>
+<a class='' href='details.html'>Details</a>
+</li>
+</ul>
+</div>
+<div id='main'>
+<div id='title-box'>
+<h1>Guide to node services</h1>
+
+<div id='summary'></div>
+</div>
+<div id='content-box'>
+<div id="TOC"><ol>
+ <li>
+ <a href="services/index.html#introduction">Introduction</a>
+ </li>
+ <li>
+ <a href="services/index.html#available-services">Available services</a>
+ </li>
+</ol></div>
+
+<h1><a name="introduction"></a>Introduction</h1>
+
+<p>Every node (server) must have one or more <code>services</code> defined that determines what role the node performs. For example:</p>
+
+<pre><code>workstation$ cat nodes/stallman.json
+{
+ "ip_address": "199.99.99.1",
+ "services": ["webapp", "tor"]
+}
+</code></pre>
+
+<p>Here are common questions to ask when adding a new node to your provider:</p>
+
+<ul>
+<li><strong>many or few?</strong> Some services benefit from having many nodes, while some services are best run on only one or two nodes.</li>
+<li><strong>required or optional?</strong> Some services are required, while others can be left out.</li>
+<li><strong>who does the node communicate with?</strong> Some services communicate very heavily with other particular services. Nodes running these services should be close together.</li>
+<li><strong>public or private network?</strong> Some services communicate with the public internet, while others only need to communicate with other nodes in the infrastructure.</li>
+</ul>
+
+
+<h1><a name="available-services"></a>Available services</h1>
+
+<table class="table table-striped">
+<tr>
+ <th>Service</th>
+ <th>VPN</th>
+ <th>Email</th>
+ <th>Notes</th>
+</tr>
+<tr>
+ <td>webapp</td>
+ <td><i class="fa fa-circle"></i></td>
+ <td><i class="fa fa-circle"></i></td>
+ <td>User control panel, provider API, and support system.</td>
+</tr>
+<tr>
+ <td>couchdb</td>
+ <td><i class="fa fa-circle"></i></td>
+ <td><i class="fa fa-circle"></i></td>
+ <td>Data storage for everything. Private node.</td>
+<td></td>
+</tr>
+<tr>
+ <td>soledad</td>
+ <td><i class="fa fa-circle-o"></i></td>
+ <td><i class="fa fa-circle"></i></td>
+ <td>User data synchronization daemon. Usually paired with <code>couchdb</code> nodes.</td>
+<td></td>
+</tr>
+<tr>
+ <td>mx</td>
+ <td><i class="fa fa-circle-o"></i></td>
+ <td><i class="fa fa-circle"></i></td>
+ <td>Incoming and outgoing MX servers.</td>
+</tr>
+<tr>
+ <td>openvpn</td>
+ <td><i class="fa fa-circle"></i></td>
+ <td><i class="fa fa-circle-o"></i></td>
+ <td>OpenVPN gateways.</td>
+</tr>
+<tr>
+ <td>monitor</td>
+ <td><i class="fa fa-dot-circle-o"></i></td>
+ <td><i class="fa fa-dot-circle-o"></i></td>
+ <td>Nagios monitoring. This service must be on the webapp node.</td>
+</tr>
+<tr>
+ <td>tor</td>
+ <td><i class="fa fa-dot-circle-o"></i></td>
+ <td><i class="fa fa-dot-circle-o"></i></td>
+ <td>Tor exit node.</td>
+</tr>
+</table>
+
+
+<p>Key: <i class="fa fa-circle"> Required</i>, <i class="fa fa-dot-circle-o"> Optional</i>, <i class="fa fa-circle-o"> Not Used</i></p>
+
+<p><div class=' page-summary'>
+<h2>
+<a href='services/couchdb.html'>couchdb</a>
+</h2>
+<div class='summary'>Data storage for all user data.</div>
+</div>
+<div class=' page-summary'>
+<h2>
+<a href='services/openvpn.html'>openvpn</a>
+</h2>
+<div class='summary'>OpenVPN egress gateways</div>
+</div>
+<div class=' page-summary'>
+<h2>
+<a href='services/monitor.html'>monitor</a>
+</h2>
+<div class='summary'>Nagios monitoring and continuous testing.</div>
+</div>
+<div class=' page-summary'>
+<h2>
+<a href='services/mx.html'>mx</a>
+</h2>
+<div class='summary'>Incoming and outgoing MX servers.</div>
+</div>
+<div class=' page-summary'>
+<h2>
+<a href='services/soledad.html'>soledad</a>
+</h2>
+<div class='summary'>User data synchronization daemon</div>
+</div>
+<div class=' page-summary'>
+<h2>
+<a href='services/tor.html'>tor</a>
+</h2>
+<div class='summary'>Tor exit node or hidden service</div>
+</div>
+<div class=' page-summary'>
+<h2>
+<a href='services/webapp.html'>webapp</a>
+</h2>
+<div class='summary'>leap_web user management application and provider API.</div>
+</div>
+</p>
+
+</div>
+</div>
+</body>
+</html>