In order to run a Webportal, you will need 1 or more servers. At the end of this section, you should have a newly initialized server that meets the requirements and is accessible via
rootuser or compatible
The first step is to order a new server from your hosting provider that meets the following recommended requirements.
Here is a list of some hosting providers to consider:
1 Gbps up and down is recommended.
High limit or unlimited bandwidth is encouraged. Bandwidth usage is of course highly dependent on the usage of each portal but it is important to note, that even with low numbers of new uploads, repair bandwidth will continue to increase over time.
The following are the recommendations for hardware requirements.
500GB SSD/NVMe or more. SSD is required, disk space will be most impacted by the amount of logging the server does.
Current storage size considerations:
- skyd cache is at least 50G (default)
- sia consensus is ~35G
- handshake node is ~25G
- nginx access logs size will vary based on usage, 1 year of logs are ~25G+
- mongo will grow based on usage and cluster size. 50 node cluster is ~8.5G
- The default threshold for shutting down skyd is 60G free disk space and a warning is sent at 100G free disk space
32GB of RAM or more.
Intel Xeon E-2136 or AMD Ryzen 5 3600 CPU or better.
Once the server has been purchased, the next step will be to install the recommended OS which is Debian 10. Each hosting provider's UI is slightly different. Sometimes this is part of the server purchase and other times this must be done after the server is added to your account.
- Debian 10
- Debian 11
- Ubuntu 20.04
Once the OS is installed, verify that you have ssh access to the
rootuser, or a similar
If you either don't have a
rootuser or are prompted for a password when
sshing into the server, please see the following sections for help.
Most hosting providers have a way to add ssh keys to your account so that they are added automatically when the OS is installed on new servers. Check your hosting provider's support documentation to see if this is an option.
If your hosting provider doesn't have an option for adding an ssh key during the OS install, you can add your ssh key manually.
To add your key manually, you can execute the following command:
Some new OS distributions will not create a
rootuser for security purposes. In this case you might have a
debianuser for example. To verify that the user has the right
sudopermissions you can use the following command after you have ssh'd into the server:
sudo -l -U <username>
This will print out the following:
Matching Defaults entries for <username> on <host>:
User <username> may run the following commands on <host>:
(ALL : ALL) ALL
(ALL) NOPASSWD: ALL
(ALL) NOPASSWD: ALL
(root) NOPASSWD: ALL
The key things here are
(ALL : ALL) ALLand
NOPASSWDwhich confirm that this user has root access and doesn't require a password with