vls-container/vlsd/Dockerfile
Lakshya Singh 35da6dafe0
vls: separate repo download and build
- flexbile build option with network caching
- build only vlsd2 not all
- improve build speed
Signed-off-by: Lakshya Singh <lakshay.singh1108@gmail.com>
2023-12-05 22:26:12 +05:30

62 lines
1.3 KiB
Docker

FROM --platform=${TARGETPLATFORM:-${BUILDPLATFORM:-linux/amd64}} alpine:3.18 as builder
WORKDIR /build
RUN apk update && \
apk add \
build-base \
cargo \
git \
grpc \
protobuf \
protobuf-dev \
rust
ARG GIT_HASH=af02dac8b855c361d74234387d288a9591fad1d5
RUN git clone https://gitlab.com/lightning-signer/validating-lightning-signer.git vls
RUN cd vls && \
git checkout $GIT_HASH && \
cargo build --bin vlsd2 --release
FROM --platform=${TARGETPLATFORM:-${BUILDPLATFORM:-linux/amd64}} alpine:3.18 as runner
ARG UID=100
ARG GID=101
LABEL maintainer.0="Lakshya Singh (@king-11)" \
maintainer.1="Dev Random (@devrandom01)"
RUN addgroup vls --gid ${GID} --system
RUN adduser --uid ${UID} --system vls --ingroup vls
RUN apk update && \
apk add \
build-base \
curl-dev \
protobuf \
bind-tools
COPY --from=builder /build/vls/target/release/vlsd2 /usr/local/bin/vlsd2
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
COPY vlsd2.toml /vlsd2.toml
ENV VLS_DATA=/home/vls/.lightning-signer
RUN mkdir ${VLS_DATA}
RUN chown vls:vls ${VLS_DATA}
ENV REMOTE_SIGNER_ALLOWLIST=${VLS_DATA}/ALLOWLIST
RUN touch ${REMOTE_SIGNER_ALLOWLIST}
VOLUME ["${VLS_DATA}"]
USER vls
ENTRYPOINT ["/entrypoint.sh"]
RUN vlsd2 --git-desc
CMD ["vlsd2"]