Linux Full License Software Installation Guide
Please note that this guide is for providers who have purchased the Full or Full Upgrade License and are migrating from an existing DIY provider. For those with only Basic Licenses you only need to apply your license to your provider as explained in the Licensing FAQ.
This guide will help DIY Linux users to install the new Full License Software on their providers. To do this you will need to have purchased a Full License from the Xa-Miner Store and registered it to your DIY Provider ID at the XNS Console. The installer supports all major Linux distros including Ubuntu, CentOS and Alpine Linux.
The first step to install the software is to either SSH to your Linux provider, open a Terminal window if running a GUI or simply the CLI console. Run the
./spc hostcommand to check your provider details, spd needs to be running while you run the installer script.
If you are logged in to your Linux Provider with a user account (not root), enter the following command (note this is all one command):
curl -fsSL https://releases.scpri.me/storage_appliance/diy/xm-installer.sh | sudo bash
If you are logged in as root, then enter the following command:
curl -fsSL https://releases.scpri.me/storage_appliance/diy/xm-installer.sh | bash
This will start the installation script, install any necessary components for your Linux install and finally present you with the following page:
The URL in the above text will be for the local IP address of your provider. Now copy (note do NOT use Ctrl-C to copy the URL as that will quit the installer and stop it running, in most terminal apps just highlighting the URL copies it into the clipboard) and paste this into a browser to continue the installation. NOTE:- keep this terminal window open until it shows the message ‘Installer Finished’ which will happen after the UI installation is complete.
You will see the following page in your browser or something similar depending on the browser you use:
If the page fails to load, it might be due to a local firewall running on the Linux Provider blocking TCP port 8135, if this is the case you will need to open that port on the firewall to allow it through.
In this case for Chrome, click Advanced and then ‘Proceed to 192.168.254.21 (unsafe)’ (this will contain your Provider’s IP address). This will bring you to the following page:
Click on Next. You’ll now be presented with the following options:
To migrate your existing provider, click on the Migrate from DIY icon. This will take you to the following screen where you need to enter either the wallet password if you have set one up or the 28/29 word recovery seed phrase. You can if you wish change the Application Config Folder but for most instances the default location is recommended (this is not where you have spd installed currently, this is the location where the installer will install new files to as part of the application).
Once you’ve entered your password or seed, the installer will verify it’s correct and will then find your running spd instance, your API password, your metadata folder and your existing storage folders. Verify all this looks correct for your installation.
Should your wallet password or seed be incorrect, you will see the following:
Click on Back and re-enter your password or seed.
Once your details are all correct, click on Finish.
The installer will backup your metadata for you and the browser will download a zip file of it plus a copy will be saved in the Linux user’s home folder in case it’s required. SPD is then stopped and the docker container is started up. Once finished (takes typically 1-2 mins), you will be presented with this screen:
At which point you can click on the link to access your new Xa-Miner
Click on Next. Should the Internet Status show Not Connected in the page above, this indicates the docker container that has been installed does not have internet access, this is likely related to having a firewall running on the Linux OS which is blocking the docker container. Either disable this firewall or add rules to allow the docker container to have internet access.
This page can be safely ignored as you already have a recovery seed for your provider. Click on Next.
Enter your e-mail address used for the XNS Console to register your new Xa-Miner. On the next screen click on Dashboard and you’re taken to the Xa-Miner UI as below:
The GUI defaults to the Financials page where you can see your wallet balance, you can send or receive coins to the provider’s wallet, see a summary of your provider’s contracts and Income.
On the Stats page, you can see your provider’s stats. This is essentially your Grafana page that you are used to shown within the Xa-Miner UI. You can click on the Open in Grafana button to open up your public Grafana page in a new tab.
On the Storage page, you can see the storage folders which were discovered on the provider during the installation process. Here you can remove storage folders if you need to. See the Provider Maintenance section later in this guide for how to add new storage folders to a Full License DIY Xa-Miner.
On the Settings page, you can see your provider’s pricing config. Note these are now set for auto pricing so you do not need to change these settings and your provider will update them regularly to keep in line with the standard pricing structure for Xa-Miners. You can set your desired fiat currency which is used throughout the Xa-Miner UI from the drop down list at the bottom of the page.
Finally on the Support page, the status of Supervisor and the Daemon (spd) are shown, if either are offline there will be an Orange Restart button next to them where you can try to restart the processes. The rest of the buttons are as follows:
Download logs - this will zip up all the log files from your provider and the browser will download them to its default download location.
Reannounce - this is a manual reannounce button, Supervisor will now automatically re-announce your provider should the public IP address or ports change (so DDNS is no longer required for your provider). This button can be used should that not work or if the Support Team instructs you to use it.
Redownload - this button will redownload a fresh copy of the blockchain. Occasionally the consensus.db file can get corrupted and requires a fresh copy downloading.
Change Ports - should you need to change the ports your Xa-Miner is running on, click this button and enter the desired hosting port and relayer port. Typically these are consecutive ports like 4272 and 4273 or 14282 and 14283.
Reset Ports - this will reset your provider back to the default 4282 and 4283 ports.
Upload logs - this button will zip up your log files and then upload them to the Support Team’s server so they can be inspected to help in troubleshooting issues with a provider. Only use this at the instruction of the Support Team.
Open Chat Window - this feature allows you to chat 1:1 with a member of the Support Team without having to visit Discord. Please note that the Support Team is not necessarily available 24/7 and if no one is available, the chat button is disabled and will indicate that no one is online.
At the bottom of this page you will see some log files from various components of your Xa-Miner, these are not generally for users to concern themselves with but the Support Team or the devs may ask you for the latest log messages from a particular component for example.
The final step now that the Xa-Miner UI is up and running is, if you have previously setup and auto startup script on your Linux provider to startup spd after a reboot, this needs to be disabled as the xa–miner docker container will automatically startup after a reload, Supervisor will then startup spd and unlock your wallet. If you followed the official Linux Setup guide, then your script will be located in /usr/local/sbin/spd-startup.sh. This can be deleted with
sudo rm /usr/local/sbin/spd-startup.shand then disable the system service with
sudo systemctl disable spd-startup.serviceand
sudo rm /etc/systemd/system/spd-startup.service.
If you see either Supervisor (SPV) or Daemon (SPD) showing offline in the Xa-Miner UI, it is likely because an auto startup script is starting spd in the Linux OS which is conflicting with the spd running in the docker container which supervisor attempts to startup. To fix this, follow the steps above to disable the auto startup script or disable the method you have configured to auto start spd.
After running the installer script and opening the URL, if you see the following page in your browser, you likely need to change your browser's language settings to English.
Some typical maintenance tasks which a user needs to perform on their provider will now be slightly different with the UI. These are documented below.
When a new version of the SPD daemon is released, for example, prior to the fork in January 2023, the process for full license installations is very straightforward.
Step 1 - On the Linux CLI, stop the container running using 'sudo docker stop xa-miner' (if logged in as root you don't need to use sudo)
Step 2 - Identify where your Xa-Miner app folder is located, the default location is in the root folder /root/xa-miner/app. The spd binary is located in /config/spd in the app folder. You need to delete this file using 'sudo rm /root/xa-miner/app/config/spd/spd' (again if logged in as root you don't need to use sudo). If you chose a different location for the xa-miner app folder during installation of the software then you will need to use the path to the custom folder in place of /root/ in the above commands
Step 3 - Start up the container again using 'sudo docker start xa-miner'. Within a few secs after starting the container, supervisor will automatically download the latest spd binary and place it in the same location in the app folder. If you refresh the Xa-Miner UI now, you will see on the Dashboard the updated SPD version.
When a new version of the Software Xa-Miner is released, the process to update the software is to run the installer script from the CLI of the provider PC using the same command used when first installing the software from the Installation section. Then access the URL the script shows to bring up the installer UI as below:
Click on Next.
If there is a new version of the Xa-Miner container detected by the installer, the Update Existing button will be active and show Update Required underneath. Simply click on Update Existing, the installer will perform the upgrade (takes 1-2 mins) and when it's finished, the updated version will be running and the installer will exit. Refresh the Xa-Miner UI and the updated versions of the SPD, Supervisor and UI versions will show on the Dashboard.
To add a new storage folder to your provider, you will first need to create a partition, format and mount the drive in Linux as you would normally and ensure the drive auto mounts on reboot in the /etc/fstab file. Also create a single folder on the drive which will be the storage folder. In Linux there is no need to create multiple folders on a single drive, except if your drive is larger than 16TB and you are using ext4 format as ext4 can only support up to 16TB file sizes. In the case of 18TB and greater drives, you will need to create 2 folders, one 16TB and one for the rest of the drive space or 2 equal sized folders.
Once you have the folder created, run the installer script again using the same curl command in the installation section of this guide, then open a browser to the installer GUI with the 4 options as below:
When the installer is run and it detects an existing installation, the Configure Existing button is active and note the Fresh Installation and Migrate from DIY are deactivated now.
After clicking on Configure Existing, you’ll be presented with the following screen showing all the existing provider’s storage folders.
Click on Add Storage Folder
Create Folder will create the new folder at the default path shown. Most likely you will want to create the folder on a newly mounted drive, click Goto Home Folder.
From here you can navigate to the mounted drive and folder you previously setup either by typing in the path in the Current Folder box or by clicking the Up arrow to get to the root folder and then choose your path from there, for example /mnt/disk7/hostdata. Note folders can also be created at this step using the Add Folder button.
Once you have your new folder selected, click Select Folder.
Then you will see your new folder added to the list of storage folders.
Click on Finish. This GUI will show it configuring your Xa-Miner and then will present you with the following screen at which point you can close the browser tab.
Now return to the main Xa-Miner UI, go to the Storage page and you’ll see the added storage folder there.
Enter the size in GB you want to set the folder size to and click Assign. Note, be careful not to over provision the folders here, the units are in GB which don’t equate to the drive sizes you see in Linux when running lsblk for example. In the above example, the /mnt/disk5/hostdata folder is on a 6TB drive, lsblk reports this as 5.5T (which is 5.5TiB), using spd from the CLI this folder was created as a 5.4TB folder but the UI reports it as 5029GB. So if disk7 was a 6TB drive, you would want to configure 5029GB in the UI as the capacity.
A similar process can be used in reverse to remove storage folders in a similar way to using ‘spc host folder remove <PATH>’ from the CLI. First navigate to the Storage page on the Xa-Miner UI, find the folder from the first column you wish to remove and click on the Remove button to the right.
Any data stored in the folder being removed will be moved by spd to other folders. This process may take some time depending on how much data needs moving so it’s recommended to remove just one folder at a time.
Once the folder is removed from the Xa-Miner UI, run the installer script again and choose Configure Existing:
The following screen will show all the drives which have been added to the Xa-Miner, note if you have more than 10 drives/folders then you may need to go to the next page or change the rows per page value to All to see the one(s) you want to remove.
Simply click on the red icon in the Action column against the folder you wish to remove and then click Finish. Now the drive can be safely unmounted in Linux and removed.
Should the wallet seed phrase be forgotten, this can be recovered from the CLI of the provider. The spc application has been added into the xa-miner container now, if spc is not available, an update of the Xa-Miner software will be required using the process above in the Upgrading to a new Xa-Miner Software Release section.
Assuming you are logged in to Linux with a non-root account, run the following command to show the wallet seed:
sudo docker exec -it xa-miner spc wallet seeds
This will display the Primary Seed.