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 && \
|
2022-01-16 18:32:47 +00:00
|
|
|
apk add tini libgcc libstdc++ musl
|
2022-01-16 17:58:15 +00:00
|
|
|
|
|
|
|
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 18:32:47 +00:00
|
|
|
apk add clang linux-headers gcc g++ cargo rust && \
|
2022-01-16 17:58:15 +00:00
|
|
|
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
|
|
|
|
2022-01-16 18:09:59 +00:00
|
|
|
COPY --chown=app:app . /conduit
|
|
|
|
|
|
|
|
WORKDIR /conduit
|
|
|
|
|
2021-12-14 00:07:05 +00:00
|
|
|
RUN \
|
2022-01-16 18:09:59 +00:00
|
|
|
cargo build --release --no-default-features --features conduit_bin,backend_rocksdb && \
|
2022-01-16 17:58:15 +00:00
|
|
|
strip target/release/conduit
|
|
|
|
|
|
|
|
FROM base as runner
|
2021-12-14 00:07:05 +00:00
|
|
|
|
2022-01-16 18:29:37 +00:00
|
|
|
COPY --from=builder /conduit/target/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" ]
|