mirror of
https://github.com/ThePhaseless/Byparr.git
synced 2026-09-24 14:20:08 +01:00
* use camoufox * build custom branches * organize compose * ignore missing stubs * add init method * create ADDON PATH * check if solving is required * type checking and remove logger * uv sync * add timeout * add descriptiuon * cancel previous runs * wildcard minor * fix proxy * syntax fix * [skip ci] fix loop warning * fix proxy format * copy over docker ignore * remove testing line * comment out port expose * remove idope * use strict typechecking * refactor * adjust compose * run init only before test * try test without init * add curl * handle page response * remove turnsile test * fix dockerignore symlink * use newer debian * bump pytest * add docker in docker in devcontaienr * remove unused values * handle timeouts * fix edgecase * use new envs for proxy * remove init command * remove testing line * remove setuptools * fix linters * reimport * readd setuptools * better float handling
43 lines
1.0 KiB
Docker
43 lines
1.0 KiB
Docker
FROM debian:stable-slim AS base
|
|
ENV HOME=/root
|
|
|
|
ARG GITHUB_BUILD=false \
|
|
VERSION
|
|
|
|
ENV GITHUB_BUILD=${GITHUB_BUILD}\
|
|
VERSION=${VERSION}\
|
|
DEBIAN_FRONTEND=noninteractive \
|
|
PYTHONUNBUFFERED=1 \
|
|
# prevents python creating .pyc files
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
UV_LINK_MODE=copy \
|
|
PATH="${HOME}/.local/bin:$PATH"
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt update && apt -y upgrade && apt install -y curl
|
|
|
|
ADD https://astral.sh/uv/install.sh install.sh
|
|
RUN sh install.sh && uv --version
|
|
RUN uvx playwright install-deps firefox && uvx camoufox fetch
|
|
|
|
FROM base AS devcontainer
|
|
RUN apt install -y git
|
|
ENTRYPOINT [ "sleep", "infinity" ]
|
|
|
|
|
|
FROM base AS app
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN --mount=type=cache,target=${HOME}/.cache/uv uv sync
|
|
|
|
COPY . .
|
|
|
|
FROM app AS test
|
|
RUN --mount=type=cache,target=${HOME}/.cache/uv uv sync --group test
|
|
RUN uv run pytest --retries 3 -n auto
|
|
|
|
FROM app
|
|
EXPOSE 8191
|
|
HEALTHCHECK --interval=15m --timeout=30s --start-period=5s --retries=3 CMD [ "curl", "http://localhost:8191/health" ]
|
|
ENTRYPOINT ["uv", "run", "main.py"]
|