Guide to node services

Introduction

Every node (server) must have one or more services defined that determines what role the node performs. For example:

workstation$ cat nodes/stallman.json
{
  "ip_address": "199.99.99.1",
  "services": ["webapp", "tor"]
}

Here are common questions to ask when adding a new node to your provider:

Available services

Service VPN Email Notes
webapp User control panel, provider API, and support system.
couchdb Data storage for everything. Private node.
soledad User data synchronization daemon. Usually paired with couchdb nodes.
mx Incoming and outgoing MX servers.
openvpn OpenVPN gateways.
monitor Nagios monitoring. This service must be on the webapp node.
tor Tor exit node.

Key: Required, Optional, Not Used

couchdb

Data storage for all user data.

openvpn

OpenVPN egress gateways

monitor

Nagios monitoring and continuous testing.

mx

Incoming and outgoing MX servers.

soledad

User data synchronization daemon

tor

Tor exit node or hidden service

webapp

leap_web user management application and provider API.