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