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" ]
|