Linux Multiple Provider Guide
This guide will help DIY Linux users who wish to setup more than one provider on their network. It is assumed that the first provider, whether it’s an XA miner or a DIY Windows/Linux/Docker/NAS provider, is running on the default ports of 4281-4285 (note only 4282 and 4283 need to be forwarded from spd 1.6.2 onwards). A second provider cannot be run on the same default ports as the port forwarding on your router can only forward port 4282 & 4283 to a single internal IP address. Therefore when setting up multiple providers behind the same external public IP address, the ports need to be changed on the second (and subsequent) provider to non-default ones.
This involves a few extra steps in addition to the basic installation guide documented here (note this guide actually details what’s required for running multiple providers as well).
The first step is to decide on what ports you are going to use for the second provider. We recommend using ports at least 10 away from the default ports to ensure you don’t overlap so 429x or 427x are typical choices or adding a 1 to the front of the ports making 1428x, just as long as the ports are not already in use on your PC or router you can choose any ports you wish. For this guide we are going to use 429x.
Next step is to start spd using these non-default ports and every time spd is started, these ports need to be specified. We do this using the following:
./spd --host-addr :4292 --host-api-addr :4293 -M gctwh
With versions of spd before 1.6.2 you also needed to specify the siamux-addr port but from 1.6.2 that no longer needs to be forwarded.
The final step you need to take is to announce your provider on the 4292 port using the following command:
./spc host announce <EXTERNAL_IP|DNS>:4292
Where EXTERNAL_IP is your public IP address (check on https://whatismyip.com) or if using a dynamic DNS. While not covered in this guide, you will of course need to forward ports 4292 and 4293 to the internal IP address of the 2nd provider following the same process you would have used for the 4282 and 4283 ports on your primary provider.