Files
krosh a830623fcd
Container / test (push) Canceled after 0s
Container / image (push) Canceled after 0s
ai did his job.
2026-08-08 03:53:10 +03:00

40 lines
1.1 KiB
Docker

FROM ghcr.io/astral-sh/uv:0.12.3-python3.11-trixie-slim AS builder
ENV UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy
WORKDIR /app
COPY pyproject.toml uv.lock README.md ./
COPY src ./src
RUN uv sync --frozen --no-dev --no-editable
FROM docker.io/library/python:3.11-slim-trixie AS runtime
# Debian security updates intentionally determine the exact package revisions.
# hadolint ignore=DL3008
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes ca-certificates ffmpeg \
&& rm -rf /var/lib/apt/lists/* \
&& groupadd --gid 10001 app \
&& useradd --uid 10001 --gid app --home-dir /app --no-create-home app
WORKDIR /app
COPY --from=builder --chown=app:app /app/.venv /app/.venv
RUN mkdir --parents /app/data && chown app:app /app/data
ENV DATABASE_PATH=/app/data/favorites.sqlite3 \
PATH="/app/.venv/bin:$PATH" \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
VOLUME ["/app/data"]
USER 10001:10001
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD ["python", "-c", "import os; os.kill(1, 0)"]
ENTRYPOINT ["tg-favorite-stickers"]