ARG RIPTIDE_TAG=0.1.0

FROM rust:alpine AS build

ARG TARGETARCH
ARG RIPTIDE_TAG

ENV RUSTFLAGS="-C target-feature=+crt-static"

RUN apk add --no-cache build-base musl-dev pkgconf git

RUN case "$TARGETARCH" in \
      amd64) cargo_target=x86_64-unknown-linux-musl ;; \
      arm64) cargo_target=aarch64-unknown-linux-musl ;; \
      *) exit 1 ;; \
    esac && \
    rustup target add "$cargo_target" && \
    cargo install \
      --git https://codeberg.org/gigirassy/riptide \
      --tag "$RIPTIDE_TAG" \
      --root /out \
      --target "$cargo_target"

FROM kgrv/mini:tn

COPY --from=build --chown=mini:mini /out/bin/riptide /riptide

VOLUME ["/data"]

WORKDIR /data

ENTRYPOINT ["tini", "--", "/riptide"]

CMD []