feat: multi platform support
- use build platform argument Signed-off-by: Lakshya Singh <lakshay.singh1108@gmail.com>
This commit is contained in:
parent
f8ac3be2d8
commit
6ba96d6798
@ -1,5 +1,8 @@
|
|||||||
# Build stage for Bitcoin Core
|
# Build stage for Bitcoin Core
|
||||||
FROM alpine as bitcoin-core
|
FROM --platform=${TARGETPLATFORM:-${BUILDPLATFORM}} alpine:3.18 as bitcoin-core
|
||||||
|
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
|
||||||
|
|
||||||
RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
|
RUN sed -i 's/http\:\/\/dl-cdn.alpinelinux.org/https\:\/\/alpine.global.ssl.fastly.net/g' /etc/apk/repositories
|
||||||
RUN apk add \
|
RUN apk add \
|
||||||
@ -71,7 +74,7 @@ RUN ./configure LDFLAGS=-L`ls -d /opt/db*`/lib/ CPPFLAGS=-I`ls -d /opt/db*`/incl
|
|||||||
--with-libs \
|
--with-libs \
|
||||||
--with-sqlite=yes \
|
--with-sqlite=yes \
|
||||||
--with-daemon
|
--with-daemon
|
||||||
RUN make -j`nproc`
|
RUN make -j $(nproc)
|
||||||
RUN make install
|
RUN make install
|
||||||
RUN strip ${BITCOIN_PREFIX}/bin/bitcoin-cli
|
RUN strip ${BITCOIN_PREFIX}/bin/bitcoin-cli
|
||||||
RUN strip ${BITCOIN_PREFIX}/bin/bitcoin-tx
|
RUN strip ${BITCOIN_PREFIX}/bin/bitcoin-tx
|
||||||
@ -79,8 +82,8 @@ RUN strip ${BITCOIN_PREFIX}/bin/bitcoind
|
|||||||
RUN strip ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.a
|
RUN strip ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.a
|
||||||
RUN strip ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.so.0.0.0
|
RUN strip ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.so.0.0.0
|
||||||
|
|
||||||
# Build stage for compiled artifacts
|
# Runtime binaries and setup stage
|
||||||
FROM alpine
|
FROM --platform=${TARGETPLATFORM:-${BUILDPLATFORM}} alpine:3.18 as runner
|
||||||
|
|
||||||
ARG UID=100
|
ARG UID=100
|
||||||
ARG GID=101
|
ARG GID=101
|
||||||
@ -100,8 +103,8 @@ RUN apk --no-cache add \
|
|||||||
libzmq
|
libzmq
|
||||||
|
|
||||||
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin
|
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin
|
||||||
ENV BITCOIN_VERSION=23.0
|
ARG BITCOIN_VERSION=23.0
|
||||||
ENV BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
|
ARG BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
|
||||||
|
|
||||||
COPY --from=bitcoin-core ${BITCOIN_PREFIX}/bin/bitcoin-cli /usr/bin/bitcoin-cli
|
COPY --from=bitcoin-core ${BITCOIN_PREFIX}/bin/bitcoin-cli /usr/bin/bitcoin-cli
|
||||||
COPY --from=bitcoin-core ${BITCOIN_PREFIX}/bin/bitcoin-tx /usr/bin/bitcoin-tx
|
COPY --from=bitcoin-core ${BITCOIN_PREFIX}/bin/bitcoin-tx /usr/bin/bitcoin-tx
|
||||||
@ -115,7 +118,7 @@ COPY assets/bitcoin.conf /bitcoin.conf
|
|||||||
COPY bitcoind/healthcheck.sh /healthcheck.sh
|
COPY bitcoind/healthcheck.sh /healthcheck.sh
|
||||||
RUN chmod +x /healthcheck.sh
|
RUN chmod +x /healthcheck.sh
|
||||||
|
|
||||||
VOLUME ["/home/bitcoin/.bitcoin"]
|
VOLUME ["${BITCOIN_DATA}"]
|
||||||
|
|
||||||
EXPOSE 8332 8333 18332 18333 18444
|
EXPOSE 8332 8333 18332 18333 18444
|
||||||
|
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
FROM alpine:3.16 as builder
|
# build stage for core lightning and clboss
|
||||||
|
FROM --platform=${TARGETPLATFORM:-${BUILDPLATFORM}} alpine:3.18 as builder
|
||||||
|
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
@ -45,7 +48,9 @@ RUN git clone -b 2023-09-gnuc-version --recurse-submodules https://github.com/ks
|
|||||||
make -j $(nproc) && \
|
make -j $(nproc) && \
|
||||||
make install
|
make install
|
||||||
|
|
||||||
FROM alpine:3.16 as runner
|
# final stage with runtime dependencies and pkgs
|
||||||
|
FROM --platform=${TARGETPLATFORM:-${BUILDPLATFORM}} alpine:3.18 as runner
|
||||||
|
|
||||||
LABEL maintainer.0="Lakshya Singh (@king-11)" \
|
LABEL maintainer.0="Lakshya Singh (@king-11)" \
|
||||||
maintainer.1="Dev Random (@devrandom01)"
|
maintainer.1="Dev Random (@devrandom01)"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user