pict-rs/docker/prod/Dockerfile

49 lines
754 B
Docker

ARG REPO_ARCH=amd64
# cross-build environment
FROM asonix/rust-builder:$REPO_ARCH-latest AS builder
ARG TAG=main
ARG BINARY=pict-rs
ARG PROJECT=pict-rs
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
USER root
COPY --from=builder \
/opt/build/binary \
/usr/local/bin/application
RUN \
apk add ffmpeg imagemagick exiftool
RUN \
chown -R app:app /mnt
COPY root/ /
VOLUME /mnt
USER app
EXPOSE 8080
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/usr/local/bin/application", "-p", "/mnt"]