ARG RTORRENT_IMAGE=docker.io/jesec/rtorrent:master

FROM docker.io/alpine AS build

WORKDIR /root

# Install Flood and dependencies to /bin
RUN mkdir -p /root/sysroot/bin

COPY ./artifacts artifacts
RUN if [[ `uname -m` == "aarch64" ]]; \
    then mv artifacts/flood-linux-arm64 flood; \
    elif [[ `uname -m` == "x86_64" ]]; \
    then mv artifacts/flood-linux-x64 flood; \
    fi
RUN mv flood /root/sysroot/bin/flood


RUN apk --no-cache add tini-static coreutils
RUN cp /bin/df /root/sysroot/bin/df
RUN cp /sbin/tini-static /root/sysroot/bin/tini

RUN chmod 0555 /root/sysroot/bin/*

# Create 1001:1001 user
RUN mkdir -p /root/sysroot/home/download
RUN chown 1001:1001 /root/sysroot/home/download

# flood image
FROM scratch AS flood
LABEL org.opencontainers.image.source="https://github.com/jesec/flood"

COPY --from=build /root/sysroot /

# Run as 1001:1001 user
ENV HOME=/home/download
USER 1001:1001

# Expose port 3000
EXPOSE 3000

# Flood
ENV FLOOD_OPTION_HOST="0.0.0.0"
ENTRYPOINT ["/bin/tini", "--", "flood"]

# rtorrent-flood image
FROM ${RTORRENT_IMAGE} AS rtorrent
FROM flood AS rtorrent-flood

# Install rTorrent
COPY --from=rtorrent / /

# Flood with managed rTorrent daemon
ENV FLOOD_OPTION_RTORRENT="true"
