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 REPOSITORY=recyclarr/recyclarr
ARG BUILD_FROM_BRANCH ARG BUILD_FROM_BRANCH
COPY --chmod=544 ./scripts/build/*.sh .
RUN apk add unzip bash RUN apk add unzip bash
COPY --chmod=544 ./scripts/build/*.sh .
RUN ./build.sh RUN ./build.sh
############################################################################# #############################################################################
@ -17,16 +17,14 @@ FROM alpine AS final
# Required by environment and/or dotnet # Required by environment and/or dotnet
ENV RECYCLARR_APP_DATA=/config \ 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" \ 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). # The GLOBALIZATION variable is so that we do not need libicu installed (saves us ~40MB).
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
RUN set -e; \ RUN set -ex; \
apk add --no-cache bash libstdc++ tzdata; \ apk add --no-cache bash libstdc++ tzdata supercronic; \
mkdir -p "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" && chmod 777 "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" 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 --from=build /build/recyclarr /usr/local/bin
COPY --chmod=555 ./scripts/prod/*.sh / COPY --chmod=555 ./scripts/prod/*.sh /

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

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

Loading…
Cancel
Save