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 && \ cd validating-lightning-signer && \ git checkout $GIT_HASH RUN cd validating-lightning-signer && \ cargo build --bins --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/validating-lightning-signer/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"]