Bisq on Docker allows you to securely host your personal Bisq exchange 24/7 on any server device, like:
- Network Attached Storage (NAS) devices supporting Docker
- Virtualized Private Server (VPS) supporting Docker compatible OCI containers
- Any OS supporting Docker compatible OCI containers, like Linux, OS X, and Windows
This Docker image provides Ubuntu Desktop Linux running MATE with pre-installed Bisq Software. Bisq on Docker can be accessed securely using a Remote Desktop (RDP) application.
Bisq is an open-source, peer-to-peer application that allows you to buy and sell cryptocurrencies in exchange for national currencies. No registration required. Bisq is non-custodial in that it never touches or controls user funds. These are held in user-controlled wallets and accounts. Security deposits are done through multi-signature Bitcoin addresses. 1 2
More information about Bisq on Docker can be found here. 3
Bisq on Docker needs at least 2GB of free RAM and 4GB of free disk space. It’s required to forward (expose) a TCP port to the Bisq on Docker TCP port 3389 for remote access using RDP.
The Bisq desktop application contains a Bitcoin and DAO wallet. It is highly recommended to set up dedicated storage for the Bisq on Docker application data with regular backups in place.
Always backup your Bisq application wallets and private keys. Otherwise, your funds are lost if you accidentally delete your Docker container and/or data volume containing this information.
Use the following command sets up a Bisq on Docker application container storing Bisq desktop application data using the Docker volume bisq-on-docker-data:
$ docker run -d --rm --name bisq-on-docker \
-p 3389:3389 -v bisq-on-docker-data:/bisq fflo/bisq-on-docker
On the first startup, the default user account bisq with a random password will be auto-generated. This auto-generated password can be extracted from the container log using:
$ docker logs bisq-on-docker
If you like you can manually provide the default username and password using the following environment variables on the first startup:
$ docker run -d --rm --name bisq-on-docker \
-p 3389:3389 -v bisq-on-docker-data:/bisq \
-e BISQ_USER=bisq \
-e BISQ_PASSWORD=bisqTRADER \
fflo/bisq-on-docker
Instead of using a bisq-on-docker-data container you may also mount any local directory to bisq-on-docker, i.e.
$ docker run -d --rm --name bisq-on-docker \
-p 3389:3389 -v [your-local-Bisq-on-Docker-path]:/bisq \
fflo/bisq-on-docker
For usage of Bisq on Docker, it is recommended to set up mobile notifications. Use Bisq Mobile Notifications to stay up-to-date on your trades and receive notifications on your mobile phone.
To start a Bisq on Docker instance running the latest version:
$ docker run fflo/bisq-on-docker
Bisq on Docker provides different tags so that you can specify the exact version you wish to run. For example, to selectively run version 1.9.8:
$ docker run fflo/bisq-on-docker:1.9.8
To run a Bisq on Docker container in the background, pass the -d
option to docker run
, and give your container a name for easy reference later:
$ docker run -d --name bisq-on-docker fflo/bisq-on-docker
For remote access using the remote desktop protocol (RDP), it is required to expose the container TCP port 3389:
$ docker run -d --name bisq-on-docker \
-p 3389:3389 fflo/bisq-on-docker
Bisq on Docker can be configured using the following environment variables:
- BISQ_USER to setup a bisq user (default: bisq)
- BISQ_PASSWORD to configure a password (default: random auto-generated, pushed to container log)
- TZ to adapt the timezone (default: UTC)
Example command to run Bisq on Docker with individual startup settings, a Docker data container with the name bisq-on-docker-data
and with the Docker setting to auto-remove the container image of bisq-on-docker
on stop signal:
$ docker run -d --rm --name bisq-on-docker \
-p 3389:3389 \
-v bisq-on-docker-data:/bisq \
-e BISQ_USER=bisq
-e BISQ_PASSWORD=bisqTRADER \
-e TZ=UTC \
fflo/bisq-on-docker
It is also possible to set up multiple user accounts providing a file /root/createusers.txt
using the following syntax:
## USERNAME:PASSWORD:SUDO ##
adminuser:adminpassword:Y
bisquser01:bisqpassword01:N
bisquser02:bisqpassword02:N
Once you have a Bisq on Docker service running in the background, you can show running containers:
$ docker ps
Or view the logs of a service:
$ docker logs -f bisq-on-docker
To stop and restart a running container:
$ docker stop bisq-on-docker
$ docker start bisq-on-docker
By default, Docker will create ephemeral containers. That is, the Bisq on Docker data will not be persisted, and you will need to sync and set up everything from scratch each time you launch a container.
To keep your Bisq on Docker desktop application data between container restarts or upgrades, simply add the -v option to create a data volume:
$ docker run -d --rm --name bisq-on-docker \
-v bisq-on-docker-data:/bisq fflo/bisq-on-docker
$ docker ps
$ docker inspect bisq-on-docker-data
Alternatively, you can map the data volume to a location on your host:
$ docker run -d --rm --name bisq-on-docker \
-v "$PWD/bisq:/bisq" fflo/bisq-on-docker
$ ls -alh ./bisq
Bisq on Docker is based on the awesome work of rattydave. Thank you!
By default, Bisq on Docker will dump log information to the Docker logs. To debug use:
$ docker logs -t bisq-on-docker
Bisq is licensed under the GNU Affero General Public License v3.0. 6
Ubuntu Linux is a collection of thousands of computer programs and documents created by a range of individuals, teams, and companies. Each of these programs may come under a different license. More information about the Ubuntu Licensing Policy can be found here. 7
Neutrinolabs/xrdp is licensed under the Apache License 2.0. 8
Configuration files and code in this repository are distributed under the MIT license.