Installing Spark to be accessible remotely:

In this example, Ubuntu 18.04 is used. In prior versions of Ubuntu, nodejs must be installed differently. Look here to see how to install nodejs if using an older version of Ubuntu.

$ sudo apt install nodejs npm $ sudo npm install -g spark-wallet $ spark-wallet -l /path/to/lightning

That is all you need to run on Ubuntu 18.04.

Once started, Spark will generate and print a random username and password that will be used to login into the wallet. To customize the login credentials, pass --login user:pass . To bind on an address, pass -i <ip address> . -i allows the user to access the Spark server remotely. It also generates and enables a TLS self-signed certificate.

To view other options for Spark, pass --help . Command line options can also be added to a configuration file in ~/.spark-wallet/config .

To view Spark, open http://ip_address:9737/ in your browser and login with the username and password specified earlier.

LetsEncrypt integration:

Since Spark uses self-signed certificates by default when binding to an IP address other than localhost , web browsers will present a warning. Fortunately, Spark supports LetsEncrypt CA-signed certificates. All that is required is a registered domain.

To register a certificate with LetsEncrypt:

$ spark-wallet --host example.com --letsencrypt admin@example.com

More information on LetsEncrypt integration can be found here.

Tor support:

Spark also has support for creating Tor Hidden Service v3 .onion addresses which have some advantages versus having to purchase a domain and setup port forwarding for clearnet usage.

.onion addresses are self-authenticating and are pinned to your server’s public key, and also serve to authenticate the user accessing Spark since access to the server is only possible if the user knows the .onion address.

To start Spark to run as a Tor Hidden Service v3, simply set --onion on the command line:

$ spark-wallet --onion

Spark will automatically install Tor when first running with --onion , and present the v3 address in the command line output.

Desktop Electron app: