# Use an official Python runtime as a parent image FROM python:3.9-slim # Set the working directory in the container WORKDIR /app # Ensure cron is installed RUN apt-get update && apt-get install -y cron && rm -rf /var/lib/apt/lists/* # Install any needed packages specified in requirements.txt COPY requirements.txt . RUN 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 ["crontab", "-f"]