Replace alpine crond with supercronic
alpine crond requires root; supercronic works as any user. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+8
-7
@@ -1,15 +1,16 @@
|
|||||||
FROM alpine:3.19
|
FROM alpine:3.19
|
||||||
|
|
||||||
# zstd for compression, tzdata so cron fires at correct local time
|
# zstd for compression, tzdata so cron fires at correct local time
|
||||||
RUN apk add --no-cache zstd tzdata
|
RUN apk add --no-cache zstd tzdata curl
|
||||||
|
|
||||||
COPY compress.sh /usr/local/bin/compress.sh
|
COPY compress.sh /usr/local/bin/compress.sh
|
||||||
RUN chmod +x /usr/local/bin/compress.sh
|
RUN chmod +x /usr/local/bin/compress.sh
|
||||||
|
|
||||||
# Install crontab: run compress at 02:00 every night
|
# supercronic runs as any user (unlike alpine crond which requires root)
|
||||||
RUN echo "0 2 * * * /usr/local/bin/compress.sh > /proc/1/fd/1 2>&1" \
|
RUN ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') && \
|
||||||
| crontab -
|
curl -fsSL "https://github.com/aptible/supercronic/releases/latest/download/supercronic-linux-${ARCH}" \
|
||||||
|
-o /usr/local/bin/supercronic && chmod +x /usr/local/bin/supercronic
|
||||||
|
|
||||||
# crond -f: foreground (required for containers)
|
RUN echo "0 2 * * * /usr/local/bin/compress.sh > /proc/1/fd/1 2>&1" > /etc/crontab
|
||||||
# crond -l 2: log level warning and above
|
|
||||||
CMD ["crond", "-f", "-l", "2"]
|
CMD ["supercronic", "/etc/crontab"]
|
||||||
|
|||||||
Reference in New Issue
Block a user