# How To Instantiate Re6st Registry

This document explains how to instantiate a Re6st Registry, a register which manages Re6st nodes in a network and issues tokens for new nodes to join the network.

It will explain the different instantiation parameters. Please refer to other documents on add a software to the SlapOS Master catalog or supplying/installing a software

# Table of Content

- Re6st Registry Configuration

# Configuring Re6st Registry

The process of installing (supplying) a software and providing it as a service (instantiation) are the same for all software. However during instantiation each instance can be configured differently.

This section will cover the specific configuration parameters used for a Re6st Registry including the steps required to get Re6st to work.

# Registry Configuration

After selecting Services, adding a new service Re6st and selecting the latest version, you should be on the configuration screen of the Registry.

Select Software Type `Default` which will load a form with software-specific parameters.

Set the following parameters:

    IPv6 prefix: fc01::/7
    Default length of allocated prefix: 16

Don't forget to select your computer at the end of the form to prevent the SlapOS Master allocating the Registry on a computer of its choice.

Click Proceed to start instantitation. This will forward you to the list of current services.

# Registry Instantiation and Port Forwarding

Refresh the page to show your instance and installation status.

You can follow the compilation by looking at the `slapos-node-software.log` using:

    # tail opt/slapos/log/slapos-node-software.log -f

Since the Registry is listening on port 19201 (see system requirements) and user permissions in Linux systems prevent accessing ports above 1024, traffic must be forwarded (also describe in installing SlapOS node COMP-0).

This can be done using a Firewall with NAT traversal or using Socat. Socat is a relay for bidirectional data transfer between two independent data channels. Data channels can be files, pipes, devices (terminal or modem, etc.), or sockets (Unix, IP4, IP6 - raw, UDP, TCP), etc. For more information, please refer to the Free Software Directory).

To install socat in case required, use

    $ sudo su
    # sudo apt-get install socat

Then start by finding the IP adress to bind to:

    # netstat -natp | grep 9201
    tcp         0       0 10.0.27.44:9201       0.0.0.0:*          LISTEN       26027/python2.7
    tcp         0       0 10.0.27.44:40706      10.0.27.44:9201    TIME_WAIT    -
    tcp         0       0 10.0.27.44:40699      10.0.27.44:9201    TIME_WAIT    -
    tcp         0       0 10.0.27.44.9201       10.0.27.44.:40655  TIME_WAIT    -
    tcp         0       0 :::9201               :::*               LISTEN       26027/python2.7

Continue with:

    # ifconifg eth0 | grep inet\
      inet addr:167.114.246.26  Bcast:167.114.246.26  Mask:255.255.255.255

Then call Socat:

    # socat TCP4-LISTEN:9201,fork,bind=167.114.246.26 TCP4:10.0.27.44:9201 & [3] 13443

Note, that your Registry master-url in the example is 167.114.246.26:9201. SAVE THIS URL. You will need to provide it whenever you want to connect a new node to the network.

To verify whether port forwarding works, you can:

    # ps aux | grep socat
    root      3234  0.0  0.0  12728  2180 pts/0    S+   09:02   0:00 grep socat

# Verify Re6st Is Accessible

Once port forwarding is setup, try accessing the registry over the url `167.114.246.26:9201`.

# Thank You

- Nexedi SA
- 147 Rue du Ballon
- 59110 La Madeleine
- France

- nexedi.com/contact