docker-conduit/Dockerfile

39 lines
742 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 && \
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" ]