lbry/lbrycrd
[linux-x86_64-production](https://github.com/lbryio/lbry-docker/blob/master/chainquery/Dockerfile-linux-x86_64-production)
(Latest release)
The Dockerfile-linux-multiarch-compiler is for building lbrynet for any architecture supported by an Ubuntu 18.04 base image.
docker run --rm --privileged multiarch/qemu-user-static:register
docker build -t lbrynet -f Dockerfile-linux-multiarch-compiler .
docker build -t lbrynet-armhf -f Dockerfile-linux-multiarch-compiler --build-arg BASE_IMAGE=multiarch/ubuntu-core:armhf-bionic .
docker build -t lbrynet-arm64 -f Dockerfile-linux-multiarch-compiler --build-arg BASE_IMAGE=multiarch/ubuntu-core:arm64-bionic .
Compile any version of lbrynet by specifying the git tag:
VERSION can be any git reference. Examples:
- master
- v0.37.2
- 588568752b983f46f8f492d4bd5d76feeb74dfbf
docker build -t lbrynet:v0.36.0 --build-arg VERSION=v0.36.0 -f Dockerfile-linux-multiarch-compiler .
Compile from any fork of lbrynet:
docker build -t lbrynet:v0.37.2-enigmacurry --build-arg VERSION=v0.37.2 \
--build-arg REPO=https://github.com/EnigmaCurry/lbry.git -f Dockerfile-linux-multiarch-compiler .
The container requires a home directory to be mounted at /home/lbrynet
. This
is to ensure that the wallet is backed up to a real storage device. You must run
the container with the appropriate volume argument, or else lbrynet will refuse
to run.
The config file must be mounted at /etc/lbry/daemon_settings.yml
.
If you compiled lbrynet as above, with the tag lbrynet:v0.37.2
, you could run
docker like so:
docker run --rm -it -v wallet:/home/lbrynet -v $(pwd)/stuff/daemon_settings_test.yml:/etc/lbry/daemon_settings.yml lbrynet:v0.37.2
This automatically creates a docker volume called wallet
and it will persist
across container restarts. See more in the Docker volume
documentation
If you would rather not use a docker volume, you can mount a directory from your host instead:
docker run --rm -it -v /path/on/your/host:/home/lbrynet -v $(pwd)/stuff/daemon_settings_test.yml:/etc/lbry/daemon_settings.yml lbrynet:v0.37.2
Either way, the container uses the configuration from /home/lbrynet
inside the container.