docker-conduit/Dockerfile

35 lines
667 B
Docker
Raw Normal View History

2022-01-16 17:58:15 +00:00
ARG REPO_ARCH
2021-12-14 00:07:05 +00:00
2022-01-16 17:58:15 +00:00
FROM $REPO_ARCH/alpine:edge as base
2021-12-14 00:07:05 +00:00
2022-01-16 17:58:15 +00:00
ARG UID=991
ARG GID=991
RUN \
addgroup --gid "${GID}" app && \
adduser -D -G app -u "${UID}" -g "" -h /opt/app app && \
apk add tini gcc g++ musl
WORKDIR /opt/app
2021-12-14 00:07:05 +00:00
2022-01-16 17:58:15 +00:00
FROM base as builder
2021-12-14 00:07:05 +00:00
RUN \
2022-01-16 17:58:15 +00:00
apk add clang linux-headers cargo rust && \
chown -R app:app .
2021-12-14 00:07:05 +00:00
2022-01-16 17:58:15 +00:00
USER app
2021-12-14 00:07:05 +00:00
RUN \
2022-01-16 17:58:15 +00:00
cargo build --release --no-default-features --features conduit-bin,backend_rocksdb && \
strip target/release/conduit
FROM base as runner
2021-12-14 00:07:05 +00:00
2022-01-16 17:58:15 +00:00
COPY --from=builder /conduit/release/conduit /usr/local/bin/conduit
2021-12-14 00:07:05 +00:00
2022-01-16 17:58:15 +00:00
ENV CONDUIT_CONFIG="/opt/app/conduit.toml"
2021-12-14 00:07:05 +00:00
USER app
2022-01-16 17:58:15 +00:00
ENTRYPOINT [ "/sbin/tini", "--" ]
CMD [ "/usr/local/bin/conduit" ]