Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Docker configuration #2710

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.md
Expand Up @@ -18,3 +18,11 @@ Follow the step-by-step instructions at https://bisq.network/get-started.
## Contribute to Bisq

See [CONTRIBUTING.md](CONTRIBUTING.md) and the [developer docs](docs#readme).

## Build from source

For instructions on how to build from source, see [docs/build.md](docs/build.md)

## Run with Docker

To run Bisq using Docker, see [docker/](docker#readme).
14 changes: 14 additions & 0 deletions docker/Dockerfile
@@ -0,0 +1,14 @@
FROM openjdk:10-jdk

# This docker image should be used with
# `docker run ... -v /path/to/host/dir:/root/.local/share/Bisq` in order to
# persist Bisq configuration to the host.

RUN apt-get update \
&& apt-get install -y x11-apps \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir /src && git clone https://github.com/bisq-network/bisq /src/bisq
WORKDIR /src/bisq
RUN ./gradlew build
VOLUME /home/root/.local/share/Bisq
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add CMD ./bisq-desktop
so that user could invoke run without additional command param

38 changes: 38 additions & 0 deletions docker/README.md
@@ -0,0 +1,38 @@
# Running Bisq using Docker

Running Bisq using Docker has currently only been tested using Linux.

## Build the image

```sh
docker build -t bisq .
```

## Running Bisq
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to have docker-compose configured with several containers like

  • prod, which would have default volume bound to $HOME/.local/share/Bisq
  • dev, without data dir volume bound

That way user would only need to call docker-compose up prod or docker-compose up dev


To ensure that your Bisq configuration is persisted to the host
to survive between `docker run` invocations,
we create a directory and then bind-mount it into the container.

```sh
if [ ! -d "${HOME}/.local/share/Bisq" ]; then
mkdir -p ~/.local/share/Bisq
fi

docker run -ti --rm \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-v $HOME/.local/share/Bisq:/root/.local/share/Bisq:rw \
bisq ./bisq-desktop
```

## Troubleshooting

#### I see "Exception in thread "main" java.lang.UnsupportedOperationException: Unable to open DISPLAY" when I start the Docker container.

You may need to modify your X11 access; try running
```sh
xhost +
```

and then retrying the `docker run` command.