FROM python:3.11-slim

ENV DEBIAN_FRONTEND=noninteractive \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    TZ=Europe/Berlin

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        cron \
        git \
        ca-certificates \
        tzdata \
    && rm -rf /var/lib/apt/lists/*

RUN groupadd --system bot \
    && useradd --system --gid bot --home /app --shell /usr/sbin/nologin bot

WORKDIR /app

RUN mkdir -p /app/data \
    && chown -R bot:bot /app

COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir --upgrade pip \
    && pip install --no-cache-dir -r /app/requirements.txt

COPY --chown=bot:bot crontab/ /app/crontab/
COPY --chown=bot:bot entrypoint.sh /app/entrypoint.sh
COPY --chown=bot:bot src/ /app/src/

RUN chmod 0755 /app/entrypoint.sh \
    && chmod 0755 /app/crontab/install-cron.sh \
    && chmod 0644 /app/crontab/tenbackward.cron

ENV PYTHONPATH=/app/src

USER bot

ENTRYPOINT ["/app/entrypoint.sh"]
