6e9610ecd2
Added guilds for setting up a public bootstrap, a dev network, and config templates for dev nodes. Added link in the contribution guide to dev network setup guide.
88 lines
2.1 KiB
Markdown
Executable File
88 lines
2.1 KiB
Markdown
Executable File
# Starting a Generic/Public Veilid Bootstrap Server
|
|
|
|
## Instance Recommended Setup
|
|
|
|
CPU: Single
|
|
RAM: 1GB
|
|
Storage: 25GB
|
|
IP: Static v4 & v6
|
|
Firewall: 5150/TCP/UDP inbound allow all
|
|
|
|
## Install Veilid
|
|
|
|
Follow instructions in [INSTALL.md](./INSTALL.md)
|
|
|
|
## Configure Veilid as Bootstrap
|
|
|
|
**As root**
|
|
|
|
### Stop the Veilid service
|
|
|
|
```shell
|
|
systemctl stop veilid-server.service
|
|
```
|
|
|
|
### Setup the config
|
|
|
|
In _/etc/veilid-server/veilid-server.conf`_ ensure _bootstrap: ['bootstrap.<your.domain>']_ in the _routing_table:_ section
|
|
|
|
If you came here from the [dev network setup](./dev-setup/dev-network-setup.md) guide, this is when you set the network key.
|
|
|
|
**Switch to veilid user**
|
|
|
|
```shell
|
|
sudo -u veilid /bin/bash
|
|
```
|
|
|
|
### Generate a new keypair
|
|
|
|
Copy the output to secure storage.
|
|
|
|
```shell
|
|
veilid-server --generate-key-pair
|
|
```
|
|
|
|
### Create new node ID and flush existing route table
|
|
|
|
Include the brackets [] when pasting the keys. Use the public key in the command. Secret key will be request interacitvly and will not echo when pasted.
|
|
|
|
```shell
|
|
veilid-server --set-node-id [PUBLIC_KEY] --delete-table-store
|
|
```
|
|
|
|
### Generate the DNS TXT record
|
|
|
|
Copy the output to secure storage.
|
|
|
|
```shell
|
|
veilid-server --dump-txt-record
|
|
```
|
|
|
|
**Switch back to root**
|
|
|
|
### Start the Veilid service
|
|
|
|
```shell
|
|
systemctl start veilid-server.service
|
|
```
|
|
|
|
Optionally configure the service to start at boot `sudo systemctl enable veilid-server.service`
|
|
|
|
_REPEAT FOR EACH BOOTSTRAP SERVER_
|
|
|
|
## Enter DNS Records
|
|
|
|
Create the following DNS Records for your domain:
|
|
|
|
(This example assumes two bootstrap serves are being created)
|
|
|
|
| Record | Value | Record Type |
|
|
|-----------|-----------------------------|-------------|
|
|
|bootstrap | 1,2 | TXT |
|
|
|1.bootstrap| IPv4 | A |
|
|
|1.bootstrap| IPv6 | AAAA |
|
|
|1.bootstrap| output of --dump-txt-record | TXT |
|
|
|2.bootstrap| IPv4 | A |
|
|
|2.bootstrap| IPv6 | AAAA |
|
|
|2.bootstrap| output of --dump-txt-record | TXT |
|