aboutsummaryrefslogtreecommitdiff
path: root/Docker
diff options
context:
space:
mode:
authorGravatar Chris Francy <zoredache@users.noreply.github.com> 2021-10-24 08:25:03 -0700
committerGravatar GitHub <noreply@github.com> 2021-10-24 17:25:03 +0200
commit07e00c7681e5fd9e680cba75125b166b96a96198 (patch)
tree724b01fd3e0b135ce56ac2c893f730b5de468973 /Docker
parentc5ab4cea4a773b2d61e2413a955785431517c3ce (diff)
Docker: don't add crontab unless needed. (#3927)
Adding the crontab as part of the image build makes it more complicated to add custom entries to the crontab. Adjusting the image and entrypoint to make it so that the crontab is only added when CRON_MIN is set simplifies having a custom crontab.
Diffstat (limited to 'Docker')
-rw-r--r--Docker/Dockerfile2
-rw-r--r--Docker/Dockerfile-Alpine2
-rw-r--r--Docker/Dockerfile-Newest2
-rw-r--r--Docker/Dockerfile-Oldest2
-rw-r--r--Docker/Dockerfile-QEMU-ARM2
-rw-r--r--Docker/README.md15
-rwxr-xr-xDocker/entrypoint.sh3
7 files changed, 22 insertions, 6 deletions
diff --git a/Docker/Dockerfile b/Docker/Dockerfile
index 3dd81f926..c86298b20 100644
--- a/Docker/Dockerfile
+++ b/Docker/Dockerfile
@@ -45,7 +45,7 @@ RUN sed -r -i "/^\s*(CustomLog|ErrorLog|Listen) /s/^/#/" /etc/apache2/apache2.co
touch /var/www/FreshRSS/Docker/env.txt && \
echo "7,37 * * * * . /var/www/FreshRSS/Docker/env.txt; \
su www-data -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' \
- 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" | crontab -
+ 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" > /var/www/FreshRSS/Docker/crontab.default
ENV COPY_LOG_TO_SYSLOG On
ENV COPY_SYSLOG_TO_STDERR On
diff --git a/Docker/Dockerfile-Alpine b/Docker/Dockerfile-Alpine
index 95ab0c540..3cbe3edf4 100644
--- a/Docker/Dockerfile-Alpine
+++ b/Docker/Dockerfile-Alpine
@@ -42,7 +42,7 @@ RUN rm -f /etc/apache2/conf.d/languages.conf /etc/apache2/conf.d/info.conf \
touch /var/www/FreshRSS/Docker/env.txt && \
echo "27,57 * * * * . /var/www/FreshRSS/Docker/env.txt; \
su apache -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' \
- 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" | crontab -
+ 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" > /var/www/FreshRSS/Docker/crontab.default
ENV COPY_LOG_TO_SYSLOG On
ENV COPY_SYSLOG_TO_STDERR On
diff --git a/Docker/Dockerfile-Newest b/Docker/Dockerfile-Newest
index 55fa0db78..892c69a6f 100644
--- a/Docker/Dockerfile-Newest
+++ b/Docker/Dockerfile-Newest
@@ -42,7 +42,7 @@ RUN rm -f /etc/apache2/conf.d/languages.conf /etc/apache2/conf.d/info.conf \
touch /var/www/FreshRSS/Docker/env.txt && \
echo "27,57 * * * * . /var/www/FreshRSS/Docker/env.txt; \
su apache -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' \
- 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" | crontab -
+ 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" > /var/www/FreshRSS/Docker/crontab.default
ENV COPY_LOG_TO_SYSLOG On
ENV COPY_SYSLOG_TO_STDERR On
diff --git a/Docker/Dockerfile-Oldest b/Docker/Dockerfile-Oldest
index b54d8bbe7..9762653be 100644
--- a/Docker/Dockerfile-Oldest
+++ b/Docker/Dockerfile-Oldest
@@ -42,7 +42,7 @@ RUN rm -f /etc/apache2/conf.d/languages.conf /etc/apache2/conf.d/info.conf \
touch /var/www/FreshRSS/Docker/env.txt && \
echo "27,57 * * * * . /var/www/FreshRSS/Docker/env.txt; \
su apache -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' \
- 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" | crontab -
+ 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" > /var/www/FreshRSS/Docker/crontab.default
ENV COPY_LOG_TO_SYSLOG On
ENV COPY_SYSLOG_TO_STDERR On
diff --git a/Docker/Dockerfile-QEMU-ARM b/Docker/Dockerfile-QEMU-ARM
index 68595f66c..53cc73723 100644
--- a/Docker/Dockerfile-QEMU-ARM
+++ b/Docker/Dockerfile-QEMU-ARM
@@ -51,7 +51,7 @@ RUN sed -r -i "/^\s*(CustomLog|ErrorLog|Listen) /s/^/#/" /etc/apache2/apache2.co
touch /var/www/FreshRSS/Docker/env.txt && \
echo "17,47 * * * * . /var/www/FreshRSS/Docker/env.txt; \
su www-data -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' \
- 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" | crontab -
+ 2>> /proc/1/fd/2 > /tmp/FreshRSS.log" > /var/www/FreshRSS/Docker/crontab.default
# Seems needed for arm32v7/ubuntu on Docker Hub
RUN update-ca-certificates -f
diff --git a/Docker/README.md b/Docker/README.md
index 0f3591ba8..c5a6792e3 100644
--- a/Docker/README.md
+++ b/Docker/README.md
@@ -248,6 +248,21 @@ docker run -d --restart unless-stopped --log-opt max-size=10m \
cron -f
```
+#### For the Debian image (default) using a custom cron.d fragment
+
+This method gives you the most flexibility most flexiblity to
+execute various freshrss cli commands.
+
+```sh
+docker run -d --restart unless-stopped --log-opt max-size=10m \
+ -v freshrss-data:/var/www/FreshRSS/data \
+ -v freshrss-extensions:/var/www/FreshRSS/extensions \
+ -v ./freshrss_crontab:/etc/cron.d/freshrss \
+ --net freshrss-network \
+ --name freshrss_cron freshrss/freshrss \
+ cron -f
+```
+
#### For the Alpine image
```sh
diff --git a/Docker/entrypoint.sh b/Docker/entrypoint.sh
index 7043cf153..d6cc34506 100755
--- a/Docker/entrypoint.sh
+++ b/Docker/entrypoint.sh
@@ -20,7 +20,8 @@ if [ -n "$CRON_MIN" ]; then
echo "export COPY_SYSLOG_TO_STDERR=$COPY_SYSLOG_TO_STDERR"
echo "export FRESHRSS_ENV=$FRESHRSS_ENV"
) >/var/www/FreshRSS/Docker/env.txt
- crontab -l | sed -r "\\#FreshRSS#s#^[^ ]+ #$CRON_MIN #" | crontab -
+ sed </var/www/FreshRSS/Docker/crontab.default \
+ -r "s#^[^ ]+ #$CRON_MIN #" | crontab -
fi
if [ -n "$FRESHRSS_INSTALL" ]; then