diff --git a/Dockerfile.cron b/Dockerfile.cron index 8b1a4bb..afa77b6 100644 --- a/Dockerfile.cron +++ b/Dockerfile.cron @@ -2,7 +2,7 @@ FROM python:3.12-slim WORKDIR /app -RUN apt-get update && apt-get install -y --no-install-recommends dcron && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y --no-install-recommends cron && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt @@ -10,9 +10,12 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . # Write cron job: refresh podcast feeds every hour -RUN echo "0 * * * * root cd /app && python manage.py refresh_feeds >> /var/log/cron.log 2>&1" \ +# The job sources /etc/environment so Docker env vars (DB path, secret key etc.) are available. +RUN echo "0 * * * * root . /etc/environment; cd /app && python manage.py refresh_feeds >> /var/log/cron.log 2>&1" \ > /etc/cron.d/podcast-refresh && \ chmod 0644 /etc/cron.d/podcast-refresh && \ touch /var/log/cron.log -CMD ["dcron", "-f"] +# Dump Docker env vars into /etc/environment at container start so cron jobs can read them, +# then launch vixie cron in foreground. +CMD ["bash", "-c", "printenv > /etc/environment && cron -f"]