mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 18:10:34 +01:00
09d21345e1
Bump all build go versions to v1.21.0 Bump the minimum build package version to v1.19.0 Debian "buster" is not longer supported. Security updates have been discontinued since June 30th 2022. We will build using the latest version, "bookworm".
60 lines
1.8 KiB
Docker
60 lines
1.8 KiB
Docker
# If you change this value, please change it in the following files as well:
|
|
# /.travis.yml
|
|
# /dev.Dockerfile
|
|
# /make/builder.Dockerfile
|
|
# /.github/workflows/main.yml
|
|
# /.github/workflows/release.yml
|
|
FROM golang:1.21.0-alpine as builder
|
|
|
|
# Force Go to use the cgo based DNS resolver. This is required to ensure DNS
|
|
# queries required to connect to linked containers succeed.
|
|
ENV GODEBUG netdns=cgo
|
|
|
|
# Pass a tag, branch or a commit using build-arg. This allows a docker
|
|
# image to be built from a specified Git state. The default image
|
|
# will use the Git tip of master by default.
|
|
ARG checkout="master"
|
|
ARG git_url="https://github.com/lightningnetwork/lnd"
|
|
|
|
# Install dependencies and build the binaries.
|
|
RUN apk add --no-cache --update alpine-sdk \
|
|
git \
|
|
make \
|
|
gcc \
|
|
&& git clone $git_url /go/src/github.com/lightningnetwork/lnd \
|
|
&& cd /go/src/github.com/lightningnetwork/lnd \
|
|
&& git checkout $checkout \
|
|
&& make release-install
|
|
|
|
# Start a new, final image.
|
|
FROM alpine as final
|
|
|
|
# Define a root volume for data persistence.
|
|
VOLUME /root/.lnd
|
|
|
|
# Add utilities for quality of life and SSL-related reasons. We also require
|
|
# curl and gpg for the signature verification script.
|
|
RUN apk --no-cache add \
|
|
bash \
|
|
jq \
|
|
ca-certificates \
|
|
gnupg \
|
|
curl
|
|
|
|
# Copy the binaries from the builder image.
|
|
COPY --from=builder /go/bin/lncli /bin/
|
|
COPY --from=builder /go/bin/lnd /bin/
|
|
COPY --from=builder /go/src/github.com/lightningnetwork/lnd/scripts/verify-install.sh /
|
|
COPY --from=builder /go/src/github.com/lightningnetwork/lnd/scripts/keys/* /keys/
|
|
|
|
# Store the SHA256 hash of the binaries that were just produced for later
|
|
# verification.
|
|
RUN sha256sum /bin/lnd /bin/lncli > /shasums.txt \
|
|
&& cat /shasums.txt
|
|
|
|
# Expose lnd ports (p2p, rpc).
|
|
EXPOSE 9735 10009
|
|
|
|
# Specify the start command and entrypoint as the lnd daemon.
|
|
ENTRYPOINT ["lnd"]
|