ss-up

ss-up is the main script that let you deploy websites according to your various remote.conf, project.conf and site.conf files. ss-up is a bash alias for up.sh.

ss-up brings your current Deployment up.

💡
To see your current deployment, run incus project list.

You should Is requires both a project.conf as well as any site.conf files. ss-up will automatically stub these files out for the System Owner if they don't yet exist.

💡
Note! Typically residential internet connections come with ONE and ONLY ONE public IP address. Thus, you can only have ONE public deployment of Sovereign Stack. But worry not! You can create many websites at that one public IP address.

There's a lot to know about ss-up. Let's cover the command line arguments first:

Command Line Arguments

You can add any of the arguments below to ss-up.

Parameter Type Description
--restore-certs flag When flag exists, TLS certificates (if any) will be restored.
--restore-www flag TODO!!! When flag exists, the System Owner will be asked whether to restore various aspects of the system.
--restore-btcpay flag When flag exists, the scripts will restore an archive (set with --backup-archive-path) to the btcpay server.
--update-btcpay flag When flag exists, the btcpay update script gets executed.
--skip-wwwserver flag When present, none of the www scripts will be executed.
--skip-btcpayserver flag When present, none of the btcpay server scripts will be executed.
--skip-lnplayserver flag When present, none of the lnplay server scripts will be executed.
--no-cert-renew flag When present, Let'sEncrypt certificate create/renewal is not attemped.
--reconfigure-btcpay flag When present, the BTCPay server provision script is executed allowing you to reconfigure your btcpayserver.
--backup-archive-path=/path/to/archive file path The file path to the btcpay server archive output file, or when the --restore-btcpay flag is present, the restore archive.
--skip-base-image flag When present, the base image will NOT be created.

project.conf

The project.conf is where you give each deployment VM a network identity (i.e., a MAC address). This simply means that you specify the MAC address to use for those respective VMs when attaching to the network underlay. You MUST set WWW_SERVER_MAC_ADDRESS, BTCPAYSERVER_MAC_ADDRESS, LNPLAY_SERVER_MAC_ADDRESS to the MAC addresses that you have reserved in the DHCP (and set up DNS entries for)!

ubuntu@ss-mgmt:~/ss-projects/dev-regtest$ cat project.conf 
# see https://www.sovereign-stack.org/ss-deploy for more info.

PRIMARY_DOMAIN="domain0.tld"
# OTHER_SITES_LIST="domain1.tld,domain2.tld,domain3.tld"

WWW_SERVER_MAC_ADDRESS="11:44:55:00:00:01"
# WWW_SERVER_CPU_COUNT="6"
# WWW_SERVER_MEMORY_MB="4096"

BTCPAYSERVER_MAC_ADDRESS="11:44:55:00:00:02"
# BTCPAY_SERVER_CPU_COUNT="4"
# BTCPAY_SERVER_MEMORY_MB="4096"

LNPLAY_SERVER_MAC_ADDRESS="11:44:55:00:00:03"
# LNPLAY_SERVER_CPU_COUNT="8"
# LNPLAY_SERVER_MEMORY_MB="32768"

Each project.conf contains a field for the PRIMARY_DOMAIN. The PRIMARY_DOMAIN is the base domain where your BTCPay Server and lightning node reside. In fact, the core lightning node alias is set to the PRIMARY_DOMAIN, so choose this domain with care and foresight. In most deployments with just one company or income stream, this will simply be the business domain name. If you are running multiple websites and/or stores, you may want to use a parent or over-arching domain as the PRIMARY_DOMAIN.