12 KiB
Executable File
Sovran Systems offers limited support of a DIY install of Sovran_SystemsOS. You can reach out to others in the matrix room https://matrix.to/#/#DIY_Sovran_SystemsOS:anarchyislove.xyz.
These instructions will change over time due to new software development and Sovran Systems creator finding more efficient ways to install Sovran_SystemsOS. 9-12-2024
Also, to fully complete the install, the Bitcoin blockchain will have to download. This could take up to 3 weeks.
Lastly, if you gift to the computer movement https://zaps.sovransystems.com to receive a Sovran Pro, you do not have to do any of this. It is all done for you. On top of that, the Bitcoin blockchain is already installed. 😉
Requirements
- First machine with Linux OS already installed (like NixOS, Ubuntu, Arch, etc.) to download and burn the NixOS image to a USB thumb drive.
- USB thumb drive 16GB or larger
- Second machine that is ready to have Sovran_SystemsOS installed (Safe Boot turned off in the UEFI[BIOS] and be prepared for the entire storage drive to be ERASED!).
- Second machine needs the following hardware specs:
- Intel or AMD processor (NO ARM processors)
- 32GB of RAM or Larger
- First main NVME internal drive to install Sovran_SystemsOS (500GB or larger)
- Second NVME internal drive to store the Bitcoin blockchain and the automatic backups (NVME 4TB or larger)
- Also, the second NVME internal drive needs to be installed FIRST into a USB enclosure. You will need a NVME USB enclosure. The USB enclosure will be plugged into the first Linux machine.
- Working Internet connection for both machines
- Personalized Domain names already purchased from Njal.la. See the explanation here: https://sovransystems.com/how-to-setup/
- Your Router with ports open (Port Forwarding) to your second machine's internal IP address. This will usually be
192.168.1.(some number)
You will complete this at the end.
- Port 80
- Port 443
- Port 22
- Port 5349
- Port 8448
Preparing the Second Internal Drive
- Install the second NVME internal drive into the USB enclosure, NOT into the Second machine yet.
- Plug in the USB enclosure into the first machine with Linux OS already installed into one of its available USB ports.
- Please Make Sure You Know The Existing Storage Names On This First Linux Machine. If You Run The Script Below And You Do Not Know What You Are Doing, You Could Potentially Erase Your First Linux Machine's Data. I Am Not Responsibly For Your Errors
- Open a terminal in the first Linux machine and log in as root.
- Type in or copy and paste:
wget https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/raw/branch/main/for_new_sovran_pros/sdpsp.sh
then press enter.
- Now, type
bash sdpsp.sh
then press enter. - Then the screen will ask for "what block..." which will be the drive in the list that is not mounted, which will be the drive you just plugged in. It might be labeled
nvme0n1
, ornvme0n2
etc. Type in the drive name and pressenter
. - Then the screen will ask for "what partition...,"which will be whatever you typed into the first prompt, but with a "1" on it. For example,
nvme0n1p1
ornvme0n2p1
. Type it into the terminal and pressenter
. - Since the script is made to copy the blockchain from another Sovran Pro that already has the full blockchain installed it will throw an error. However, it should complete the setup just fine.
- Once complete, remove the second drive from the USB enclosure and install it into your second machine in which you are installing Sovran_SystemsOS.
Preparing the First Main Internal Drive
Procedure One - Installing base NixOS
-
Still on the first machine with Linux OS already installed, download the latest NixOS minimal (64-bit Intel/AMD) image from here: https://nixos.org/download
-
Burn that ISO image onto the USB thumb drive.
-
Insert the newly created USB thumb drive with the ISO image into the second machine (the one you are installing Sovran_SystemsOS).
-
Reboot the second machine while the USB thumb drive is inserted and boot into the USB thumb drive. This may require you to press the F7 or F12 key at boot. (Also, make sure the second machine has "safe boot" turned off in the UEFI[BIOS]).
-
Proceed with the NixOS boot menu
-
Once at the command prompt type in
sudo su
to move to the root user -
Once logged into the root user type in
passwd
then set the root user password toa
-
Type in
ip a
to get your internal IP address. It will usually be192.1681.1.(somenumber)
make a note of this IP as you will need it later. -
Now, that you are logged in as the root user type in or copy and paste:
curl https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/raw/branch/main/for_new_sovran_pros/psp_physical_ram.sh -o psp_physical_ram.sh
the command to install the base NixOS and press enter.
-
Now, type
bash psp.sh
then press enter. -
The script will ask for name of first main internal drive. Type that in and hit enter. It usually will be
nvme0n1
. Basically, it will be the drive without any data and it will not be mounted per the list on the screen. -
Then the script will ask for the 'Boot' partition. Type it in and press enter. It will be the SMALLER partition and usually named
nvme0n1p1
. -
Then it will ask for the 'Primary' partition. Type it in and press enter. It will be the LARGER partition usually named
nvme0n1p2
. -
The script will finish installing the base NixOS. At the end it will ask for a root password. Type
a
and press enter and typea
again to confirm and press enter. -
Remove the USB thumb drive from the second machine.
-
The machine will reboot into a very basic install of NixOS command prompt.
Procedure Two - Installing Sovran_SystemsOS
-
Now at the basic install of NixOS from step
16
, typeroot
to log into root and type the passworda
when asked then press enter. -
Now you are logged in as
root
. -
Now type in or copy and paste:
wget https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/raw/branch/main/for_new_sovran_pros/sp.sh
then press enter.
-
Type in
bash sp.sh
then press enter. -
Next the script will ask for your domain names from Njal.la. Type them in the corresponding prompts and then press enter for each prompt.
-
Then it will ask for an email for the SSL certificates. Type it in and press enter.
-
The script is long so it will take some time.
-
Then it will ask for your root password which is
a
to install Flatpaks. -
It will finish by stating
All Finished! Please Reboot then Enjoy your New Sovran Pro!
Finishing the Install
Opening The Ports on Your Router - Internal IP
- Go to port forwarding on your router and open the above mentioned ports to the internal IP (the one you found above) of your new Sovran_SystemsOS machine
Putting the External IP of your Sovran Pro into your new domain names you just bought at njal.la
-
Log into your njal.la account
-
Make a "dynamic" record for each subdomain
-
Njal.la with then display a
curl
commands for each sub-domain. -
Open the
Terminal
on your New DIY Sovran Pro and type in or copy and paste:```bash ssh root@localhost ``` It will as you for a password which is `gosovransystems` as this is the default temporary password from Sovran Systems. Now you will be logged in as root.
-
Now open the Terminal app and type:
`nano /var/lib/njalla/njalla.sh` and press enter.
-
Paste the
curl
command from njal.la's website into/var/lib/njalla/njalla.sh
with each sub-domain getting a new line. For example:curl "https://njal.la/update/?h=test.testsovransystems.com&k=8n7vk3afj-jkyg37&a=${IP}"
Make sure the default &auto
from njal.la is replaced by &a=${IP}
at the end of each curl
command in the /var/lib/njalla/njalla.sh
as in the example above.
- After you have added all the sub-domins into
/var/lib/njalla/njalla.sh
, pressctrl + s
then pressctrl + x
to save and exitnano
.
Setting the Desktop
- Open the Terminal app and type in:
dconf load / < /home/free/Downloads/Sovran_SystemsOS-Desktop
. Do NOT log in as root.
Setting Up Nextcloud and Wordpress
Nextcloud
- Open a web browser and navigate to your domain name you bought from njal.la for example "cloud.myfreedomsite.com" you attributed to your Nextcloud instance.
- Nextcloud will as you to set up a new account to be used as a log in. Do so.
- Nextcloud will also ask you where you want the data directory. Type in
/var/lib/nextcloud/data
- Nextcloud will ask you to connect the database:
- Choose
Postgresql
from the optoins. - Database username is
ncusr
- Database name is
nextclouddb
- Database password is found by doing this:
-
Open the Terminal app and type in or copy and paste:
ssh root@localhost
It will as you for a password which is
gosovransystems
as this is the default temporary password from Sovran Systems.Now you will be logged in as root.
-
Now open the Terminal app and type:
cat /var/lib/secrets/nextclouddb
and press enter.
-
Your database password will be displayed in the Terminal window.
-
Type that into the password field
-
- Now, press install and Nextcloud will be installed. It will take a few minutes. Follow the on screen prompts.
- Choose
Wordpress
- Open a web browser and navigate to your domain name you bought from njal.la for example "myfreedomsite.com" you attributed to your Wordpress instance.
- Wordpress will ask you to connect the database:
- Database username is
wpusr
- Database name is
wordpressdb
- Database password is found by doing this:
-
Open the Terminal app and type in or copy and paste:
ssh root@localhost
It will as you for a password which is
gosovransystems
as this is the default temporary password from Sovran Systems.Now you will be logged in as root.
-
Now open the Terminal app and type:
cat /var/lib/secrets/wordpressdb
and press enter.
-
Your database password will be displayed in the Terminal window.
-
Type that into the password field
-
- Now, press install and Wordpress will be installed. It will take a few minutes. Follow the on screen prompts.
- Database username is
Final Install for Coturn and Nextcloud
-
Open the Terminal app and type in or copy and paste:
ssh root@localhost
-
It will as you for a password which is
gosovransystems
as this is the default temporary password from Sovran Systems. -
Now you will be logged in as root.
-
Now open the Terminal app and type or copy and paste:
sed -i '$e cat /var/lib/nextcloudaddition/nextcloudaddition' /var/lib/www/nextcloud/config/config.php chown caddy:php /var/lib/www -R chmod 700 /var/lib/www -R
and press enter.
- Now type or copy and paste:
set DOMAIN $(cat /var/lib/domains/matrix) && cp -n /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/{$DOMAIN}/{$DOMAIN}.crt /var/lib/coturn/{$DOMAIN}.crt.pem && cp -n /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/{$DOMAIN}/{$DOMAIN}.key /var/lib/coturn/{$DOMAIN}.key.pem && chown turnserver:turnserver /var/lib/coturn -R && chmod 770 /var/lib/coturn -R && systemctl restart coturn
and press enter.