# Use an official Python runtime as a parent image FROM python:3.9-slim # Set the working directory in the container WORKDIR /app # Install cron and any needed packages specified in requirements.txt RUN apt-get update && apt-get install -y cron \ && pip install --no-cache-dir -r requirements.txt # Copy the current directory contents into the container at /app COPY . /app # Copy the crontab file to the cron.d directory COPY crontab /etc/cron.d/scraper-cron # Give execution rights on the cron job RUN chmod 0644 /etc/cron.d/scraper-cron # Apply cron job RUN crontab /etc/cron.d/scraper-cron # Create the log file to be able to run tail RUN touch /var/log/cron.log # Copy the script to run the scraper COPY run_scraper.sh /usr/local/bin/run_scraper.sh # Grant execution rights to the script RUN chmod +x /usr/local/bin/run_scraper.sh # Run the command on container startup CMD ["cron", "-f"]