chore(docker): Use supercronic instead of crond

Since the container is rootless now, crond can't be used.
pull/108/head
Robert Dailey 2 years ago
parent fff66ee860
commit 956f370350

@ -7,9 +7,9 @@ ARG TARGETPLATFORM
ARG REPOSITORY=recyclarr/recyclarr
ARG BUILD_FROM_BRANCH
COPY --chmod=544 ./scripts/build/*.sh .
RUN apk add unzip bash
COPY --chmod=544 ./scripts/build/*.sh .
RUN ./build.sh
#############################################################################
@ -17,16 +17,14 @@ FROM alpine AS final
# Required by environment and/or dotnet
ENV RECYCLARR_APP_DATA=/config \
DOTNET_BUNDLE_EXTRACT_BASE_DIR=/tmp/.net \
# Environment variables used by the entrypoint script. These may be overridden from `docker run`
# as needed.
CRON_SCHEDULE="@daily" \
DOTNET_BUNDLE_EXTRACT_BASE_DIR=/tmp/.net \
# The GLOBALIZATION variable is so that we do not need libicu installed (saves us ~40MB).
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
RUN set -e; \
apk add --no-cache bash libstdc++ tzdata; \
mkdir -p "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" && chmod 777 "$DOTNET_BUNDLE_EXTRACT_BASE_DIR"
RUN set -ex; \
apk add --no-cache bash libstdc++ tzdata supercronic; \
mkdir -p "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" && chmod 777 "$DOTNET_BUNDLE_EXTRACT_BASE_DIR";
COPY --chmod=555 --from=build /build/recyclarr /usr/local/bin
COPY --chmod=555 ./scripts/prod/*.sh /

@ -1,9 +1,15 @@
#!/usr/bin/env bash
echo
echo "-------------------------------------------------------------"
echo " Executing Cron Tasks: $(date)"
echo " Executing Tasks: $(date)"
echo "-------------------------------------------------------------"
echo
echo
echo ">>> Sonarr <<<"
echo
recyclarr sonarr
echo
echo ">>> Radarr <<<"
echo
recyclarr radarr

@ -11,21 +11,11 @@ if [[ ! -z ${PGID+x} ]]; then
exit 1
fi
# If the script has any arguments, invoke the CLI instead. This allows the image to be used as a CLI
# with something like:
#
# ```
# docker run --rm -v ./config:/config ghcr.io/recyclarr/recyclarr sonarr
# ```
#
# If the script has any arguments, invoke the CLI instead
if [ "$#" -gt 0 ]; then
recyclarr "$@"
else
echo "Creating crontab file..."
echo "$CRON_SCHEDULE /cron.sh" | crontab -
crontab -l
echo "Starting cron daemon..."
exec crond -f
echo "Starting cron schedule..."
echo "$CRON_SCHEDULE /cron.sh" > /tmp/crontab
supercronic -passthrough-logs /tmp/crontab
fi

Loading…
Cancel
Save