lbry-docker/lbrynet
Ryan McGuire bf89578fde lbrynet refactorings
* Production: Multi-stage Dockerfile.
 * Production: Adds VERSION ARG to specify the lbrynet version to download.
 * Compiler: Adds REPO ARG to specify alternate git repository to build from.
 * Fixes checkmount arg passing.
 * Adds correct binding IP address to start.sh
 * Adds mountable config to start.sh
 * Does not yet add any Layered Config like #70 (it's harder 'cause yaml)
2019-05-04 16:33:45 -04:00
..
compose More removals 2019-04-27 14:37:55 -04:00
stuff lbrynet refactorings 2019-05-04 16:33:45 -04:00
.gitignore Merge branch 'master' into lbrynet 2018-11-29 19:04:50 +00:00
Dockerfile-linux-multiarch-compiler lbrynet refactorings 2019-05-04 16:33:45 -04:00
Dockerfile-linux-x86_64-production lbrynet refactorings 2019-05-04 16:33:45 -04:00
README.md Docker Hub doesn't like self referential markdown urs 2019-04-27 17:52:39 -04:00

lbrynet

Docker image tags

lbry/lbrycrd [linux-x86_64-production](https://github.com/lbryio/lbry-docker/blob/master/chainquery/Dockerfile-linux-x86_64-production) (Latest release)

Compiler container

The Dockerfile-linux-multiarch-compiler is for building lbrynet for any architecture supported by an Ubuntu 18.04 base image.

Register qemu to run docker images built for platforms other than your host

docker run --rm --privileged multiarch/qemu-user-static:register

Build for the default x86_64 platform:

docker build -t lbrynet -f Dockerfile-linux-multiarch-compiler .

Build for an ARM 32-bit platform:

docker build -t lbrynet-armhf -f Dockerfile-linux-multiarch-compiler --build-arg BASE_IMAGE=multiarch/ubuntu-core:armhf-bionic .

Build for an ARM 64-bit platform:

docker build -t lbrynet-arm64 -f Dockerfile-linux-multiarch-compiler --build-arg BASE_IMAGE=multiarch/ubuntu-core:arm64-bionic .

Extra build arguments

VERSION

Compile any version of lbrynet by specifying the git tag:

docker build -t lbrynet:v0.36.0 --build-arg VERSION=v0.36.0 -f Dockerfile-linux-multiarch-compiler .

Running from the compiler container directly

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.

If you compiled lbrynet as above, with the tag lbrynet-x86, you could run docker like so:

docker run --rm -it -v wallet:/home/lbrynet lbrynet-x86 lbrynet start

This automatically creates a docker volume called wallet and it will persist across container restarts. See more in the Docker volume documentation