Running Bisq on Qubes

From Bisq Wiki
Revision as of 16:43, 11 September 2020 by Cd2357 (talk | contribs) (Added initial content)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This guide shows how to run Bisq in a dedicated qube in QubesOS. The steps were tested using QubesOS 4.0.3 and a Bisq qube based on the debian-10 template.

How to setup

In dom0

Execute the following steps in dom0.

Create qube

Create a new dedicated qube called bisq-vm based on the debian-10 template.

  • Q Menu > Create Qubes VM > Qube based on a template
  • Template: choose debian-10
  • Check "Launch settings after creation"
  • Press OK

Within a few seconds, the qube is created and the Qube Settings popup opens. Adjust it as follows:

  • Basic > Disk Storage
    • Set "Private Storage max size" to at least 5000 MiB [1]
  • Advanced > Memory / CPU
    • Set "Initial memory" to 6000 MB [2]
    • Set "vCPUs no." to 4
    • Uncheck "Include in memory balancing" [3]
  • Press OK

In dedicated qube

Execute the following steps in the bisq-vm qube.

Configure binding dirs

Setup the binding dirs mapping for the system folders needed for the Bisq installation:

sudo mkdir -p /rw/config/qubes-bind-dirs.d

Specify which system folders are mapped to binding dirs. To do that, create the configuration file:

sudo nano /rw/config/qubes-bind-dirs.d/50_user.conf

and populate it with the following lines [5] :

binds+=( '/opt/Bisq' )
binds+=( '/usr/share/desktop-directories' )

Create binding dirs

Create the binding dirs needed for the Bisq installation:

sudo mkdir -p /rw/bind-dirs/opt/Bisq
sudo mkdir -p /rw/bind-dirs/usr/share/desktop-directories

Restart the qube to apply the binding dir settings.

Install Bisq

Download Debian package

Go to the Bisq Downloads page and download the Debian package and the corresponding PGP signature.

Verify PGP signature

Check that the downloaded package matches the signature [4]. Assuming the files were downloaded in the Downloads folder:

# Go to the folder where you downloaded the .deb package and the PGP signature
cd Downloads

# Import the signing key of Christoph Atteneder
curl https://bisq.network/pubkey/29CDFD3B.asc | gpg --import

# Verify the signature of the downloaded binary
gpg --digest-algo SHA256 --verify Bisq-*.asc

Install package

sudo dpkg -i Bisq-*.deb

Once this command finishes, Bisq is installed and ready to run.

How to run

From dedicated qube

Bisq can be started by running /opt/Bisq/Bisq in the bisq-vm qube.

From dom0

To start Bisq directly from dom0, a keyboard shortcut can be defined:

  • Q Menu > System Tools > Keyboard > Application Shortcuts
  • Add a shortcut where the command has the format qvm-run -q -a <qube-name> <command>
    • For example, in our case: qvm-run -q -a bisq-vm /opt/Bisq/Bisq
  • Assign a system-wide key combination for starting Bisq
    • For example Ctrl+Alt+B
  • Press OK

Now pressing the key combination anywhere in QubesOS will automatically start the Bisq application.

Further reading


References

[1] Assuming you only use this Qube for Bisq, this amount of storage will be used for all Bisq files (downloaded installer, installation folder, your local Bisq settings and profile, your Bisq wallet, Bisq logs, etc). Therefore it is important to have enough disk space available, because if Bisq runs out of storage space, this may lead to data corruption and loss of funds. For reference: A fresh Qube containing only a fully sync-ed new installation of Bisq 1.3.6, with no trades / accounts / balances, uses about 1GB of space.

[2] Bisq needs 4 GB, the rest is for other OS processes.

[3] This will ensure that the RAM allocated to this qube is not shared with other Qubes.

[4] For more details, see Verifications section on the Bisq GitHub releases page

[5] The /usr/share/desktop-directories is not really used, but is required during installation. See Issue 848