forked from mirrors/relay
41 lines
631 B
Docker
41 lines
631 B
Docker
ARG REPO_ARCH=amd64
|
|
|
|
# cross-build environment
|
|
FROM asonix/rust-builder:$REPO_ARCH-latest AS builder
|
|
|
|
ARG TAG=main
|
|
ARG BINARY=relay
|
|
ARG PROJECT=relay
|
|
ARG GIT_REPOSITORY=https://git.asonix.dog/asonix/$PROJECT
|
|
|
|
ENV \
|
|
BINARY=${BINARY}
|
|
|
|
ADD \
|
|
--chown=build:build \
|
|
$GIT_REPOSITORY/archive/$TAG.tar.gz \
|
|
/opt/build/repo.tar.gz
|
|
|
|
RUN \
|
|
tar zxf repo.tar.gz
|
|
|
|
WORKDIR /opt/build/$PROJECT
|
|
|
|
RUN \
|
|
build
|
|
|
|
# production environment
|
|
FROM asonix/rust-runner:$REPO_ARCH-latest
|
|
|
|
ARG BINARY=relay
|
|
|
|
ENV \
|
|
BINARY=${BINARY}
|
|
|
|
COPY \
|
|
--from=builder \
|
|
/opt/build/binary \
|
|
/usr/bin/${BINARY}
|
|
|
|
ENTRYPOINT ["/sbin/tini", "--"]
|
|
CMD /usr/bin/${BINARY}
|