mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-11-22 00:47:28 -06:00
77 lines
2.2 KiB
Markdown
77 lines
2.2 KiB
Markdown
|
# Starting a 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
|
||
|
**As root**
|
||
|
|
||
|
```shell
|
||
|
wget -O- https://packages.veilid.net/keys/veilid-packages-key.public | gpg --dearmor -o /usr/share/keyrings/veilid-packages-keyring.gpg
|
||
|
```
|
||
|
```shell
|
||
|
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/veilid-packages-keyring.gpg] https://packages.veilid.net/repos stable main" > /etc/apt/sources.list.d/veilid.list
|
||
|
```
|
||
|
```shell
|
||
|
apt update && apt install veilid-server veilid-cli
|
||
|
```
|
||
|
|
||
|
## Configure Veilid
|
||
|
**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.veilid.net']_ in the _routing_table:_ section
|
||
|
|
||
|
**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
|
||
|
```
|
||
|
|
||
|
_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 |
|