FROM alpine:3.19

# zstd for compression, tzdata so cron fires at correct local time
RUN apk add --no-cache zstd tzdata curl

COPY compress.sh /usr/local/bin/compress.sh
RUN chmod +x /usr/local/bin/compress.sh

# supercronic runs as any user (unlike alpine crond which requires root)
RUN ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') && \
    curl -fsSL "https://github.com/aptible/supercronic/releases/latest/download/supercronic-linux-${ARCH}" \
    -o /usr/local/bin/supercronic && chmod +x /usr/local/bin/supercronic

RUN echo "0 2 * * * /usr/local/bin/compress.sh > /proc/1/fd/1 2>&1" > /etc/crontab

CMD ["supercronic", "/etc/crontab"]
