FROM python:3.14.7-alpine AS base ENV TZ=Europe/Paris RUN apk add --no-cache tzdata curl su-exec \ && cp /usr/share/zoneinfo/$TZ /etc/localtime \ && echo $TZ > /etc/timezone WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY blocklist_scheduler.py entrypoint.sh VERSION ./ RUN chmod +x entrypoint.sh FROM base AS test RUN pip install --no-cache-dir pytest==9.1.1 pytest-cov==7.1.0 COPY tests/ tests/ COPY pytest.ini . FROM base AS lint RUN pip install --no-cache-dir ruff==0.16.4 COPY ruff.toml . COPY tests/ tests/ RUN ruff check . && ruff format --check . FROM base ENTRYPOINT ["./entrypoint.sh"]