Setup a Pub

Note, this guide assumes moderate technical ability. If you are looking for easier ways to setup a SSB pub, you might want to try ssb-pub or ssb-easy-pub.

1. Get the Server

Pub servers need a static, publicly-reachable IP address. The easiest way to get a public server is by renting a virtual server from businesses such as Amazon, Linode, or Digital Ocean.

After renting the server, follow the guides provided by your host to configure the software. We recommend using a common Linux distribution, such as Ubuntu.

Scuttlebot by default uses port 8008, so make sure to expose that port (or whatever port you configure scuttlebot to use) to the internet.

2. Install Node

On the server, install NVM:

curl -o- | bash

Then install NodeJS:

nvm install 10
nvm alias default 10

3. Install Scuttlebot

Install Scuttlebot using NPM. (If you prefer to install using git, follow the instructions here).

npm install -g ssb-server

To update scuttlebot in the future, simply run the global install again.

4. Create a script

Save the following script somewhere easy to find, such as ~/ This script will help ensure uptime, even if scuttlebot experiences a crash:

while true; do
  ssb-server start --host {your-hostname}
  sleep 3

Be sure to replace {your-hostname} with the actual hostname of your server For instance, if your server is, then you should enter ssb-server start --host

5. Run the server script

Use a session-manager such as screen or tmux to create a detachable session. Start the session and run the script:

sh ~/

Then, detach the session.

6. Confirm Scuttlebot server is running

To check if the server is running, use the following command:

ssb-server whoami

If all is well, your Pub's ID will be logged to the console. If this fails, check that the server-script is still active, and isn't failing during startup.

7. Create the Pub's profile

It's a good idea to give your Pub a name, by publishing one on its feed. To do this, first get the Pub's ID, with ssb-server whoami. Then, publish a name with the following command:

ssb-server publish --type about --about {pub-id} --name {name}

It's a good idea to use your Pub's hostname. Also, don't use spaces, or include the @ symbol. Here's an example usage (dont copy this!):

ssb-server publish --type about --about @2mIg4e/GO53+hKJBBrn+KZtb+1aMYazb/9FGEHoQp3U=.ed25519 --name

8. Create invites

For a last step, you should create invite codes, which you can send to other users to let them join the pub. The command to create an invite code is:

ssb-server invite.create 1

This may now be given out to friends, to command your pub to follow them. If you want to let a single code be used more than once, you can provide a number larger than 1.

9. Backup your data directory (optional)

It's a good idea to regularly backup the Pub's data directory, in case of failures. The data-directory will include the Pub's keypair, messages, and files. It can be found at ~/.ssb, where ~ points to the home directory of the user running Scuttlebot.

results matching ""

    No results matching ""