Skip to content

Instantly share code, notes, and snippets.

@tmakerman
Last active November 22, 2024 09:28
Show Gist options
  • Save tmakerman/ee53a94c3cfc8362192ad9df20709547 to your computer and use it in GitHub Desktop.
Save tmakerman/ee53a94c3cfc8362192ad9df20709547 to your computer and use it in GitHub Desktop.
Running Bisq on Raspberry Pi

Running Bisq on Raspberry Pi

Working as of 2023-01-13

My setup:

Raspberry Pi 4 Model B Rev 1.5 2GB Raspberry Pi OS 64-bit with Desktop Release Date: September 22nd 2022

Bisq 1.9.9 built from source

Install Java

Build Bisq from source

  • git clone https://github.com/tmakerman/bisq.git
  • cd bisq
  • git checkout bisq-on-rpi-v1.9.9
  • ./gradlew build
    • some artifact dependency verifications fail, this can be ignored
    • build took ~ 26 min on my RPi 4 4GB
    • Bisq is ready to run, however when it initializes it will try to connect to Bitcoin network over Tor using its bundled Tor which fails and it will eventually time out. Instead setup a Tor hidden service and configure Bisq to connect through that…

Setup Tor

deb [arch=arm64] http://deb.torproject.org/torproject.org bullseye main
deb-src [arch=arm64] http://deb.torproject.org/torproject.org bullseye main
  • curl https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo apt-key add -
  • sudo apt-get update
  • sudo apt-get install tor deb.torproject.org-keyring
  • Edit /etc/tor/torrc adding the following lines to bottom of file:
SOCKSPort 9050
Log notice stdout
ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1
HiddenServiceDir /var/lib/tor/bisq/
HiddenServicePort 8080 127.0.0.1:8080
  • Determine Tor group:
  • grep User /usr/share/tor/tor-service-defaults-torrc
  • sudo usermod -a -G debian-tor satoshi
    • replace satoshi with your username
  • sudo shutdown -r now
  • Wait for system to come back up
  • sudo systemctl enable tor
  • sudo systemctl start tor

Running Bisq

  • from RPi Desktop environment terminal window
  • cd bisq
  • ./bisq-desktop --torControlPort 9051 --torControlCookieFile=/var/run/tor/control.authcookie --torControlUseSafeCookieAuth
@richardalg
Copy link

It turned out that one of the unzipped files did not have write permission, not that difficult to fix.
but my attempts to get 1.9.14 up and running on my Pi are unsuccessful thus far.
gradlew builds, but invoking the bisq desktop as before, this quickly fails.
A window appears with a message about NodeHelper.treeShowingProperty.
Probably this bug : Recent change in JavaFX (17-ea+2) breaks JFXProgressBar · Issue #1187 · sshahine/JFoenix · GitHub
Recent change in JavaFX (17-ea+2) breaks JFXProgressBar

desktop src MainView has several instances of JFXProgressBar
which leaves me trying to figure out what to do next?
I suppose the next step is to wipe out all my installed java and try again?
Any thoughts anyone?

@tmakerman
Copy link
Author

Sorry @richardalg not sure. I haven't run on RPi for a while. I do remember running into issue somewhere along the way with that library, but I don't remember specifics. I saw at this comment
bisq-network/bisq#6758 (comment)
@napoly says they "Changed it for pure JavaFX ProgressBar"
maybe you could ask them to elaborate

@napoly
Copy link

napoly commented Mar 13, 2024

there is not enough gun powder to push this for Bisq as it all goes to Bisq 2.. I have done this for Haveno (which is a fork of Bisq) mainly in this commit: haveno-dex/haveno@c777133 it uses the newest java 21 with newest gradle 8.6 and newest java fx 21.. (not sure how it will act on Raspberry Pi)

@tmakerman
Copy link
Author

Thank you for the note @napoly

@richardalg
Copy link

richardalg commented Mar 15, 2024 via email

@HoldTheCellarDoor
Copy link

@tmakerman Thank you for creating this installer! I need help updating, because I get this error message upon launch:

Warning
Please update to the latest Bisq version. A mandatory update was released which disables trading for old versions. Please check out the Bisq Forum for more information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment