diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..c0ba4a6969 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,41 @@ +# This Dockerfile builds btcwallet from source and creates a small (55 MB) docker container based on alpine linux. +# +# Clone this repository and run the following command to build and tag a fresh btcd amd64 container: +# +# docker build . -t yourregistry/btcwallet +# +# You can use the following command to buid an arm64v8 container: +# +# docker build . -t yourregistry/btcwallet --build-arg ARCH=arm64v8 +# +# For more information how to use this docker image visit: +# https://github.com/btcsuite/btcwallet/tree/master/docs +# +# 8333 Mainnet Bitcoin peer-to-peer port +# 8334 Mainet RPC port + +ARG ARCH=amd64 + +FROM golang:1.14-alpine3.12 AS build-container + +ARG ARCH +ENV GO111MODULE=on + +ADD . /app +WORKDIR /app +RUN set -ex \ + && if [ "${ARCH}" = "amd64" ]; then export GOARCH=amd64; fi \ + && if [ "${ARCH}" = "arm32v7" ]; then export GOARCH=arm; fi \ + && if [ "${ARCH}" = "arm64v8" ]; then export GOARCH=arm64; fi \ + && echo "Compiling for $GOARCH" \ + && go install -v . ./cmd/... + +FROM $ARCH/alpine:3.12 + +COPY --from=build-container /go/bin /bin + +VOLUME ["/root/.btcwallet"] + +EXPOSE 8332 + +ENTRYPOINT ["/bin/btcwallet"] diff --git a/config.go b/config.go index 7c80280e96..d2629730f3 100644 --- a/config.go +++ b/config.go @@ -48,7 +48,7 @@ type config struct { ConfigFile *cfgutil.ExplicitString `short:"C" long:"configfile" description:"Path to configuration file"` ShowVersion bool `short:"V" long:"version" description:"Display version information and exit"` Create bool `long:"create" description:"Create the wallet if it does not exist"` - CreateTemp bool `long:"createtemp" description:"Create a temporary simulation wallet (pass=password) in the data directory indicated; must call with --datadir"` + CreateTemp bool `long:"createtemp" description:"Create a temporary simulation wallet (pass=password) in the data directory indicated; must call with --appdata"` AppDataDir *cfgutil.ExplicitString `short:"A" long:"appdata" description:"Application data directory for wallet config, databases and logs"` TestNet3 bool `long:"testnet" description:"Use the test Bitcoin network (version 3) (default mainnet)"` SimNet bool `long:"simnet" description:"Use the simulation test network (default mainnet)"`