mirror of
https://github.com/ThePhaseless/Byparr.git
synced 2025-03-15 01:40:21 +08:00
62 lines
1.2 KiB
Docker
62 lines
1.2 KiB
Docker
FROM python:3.12-alpine
|
|
|
|
# Inspired by https://github.com/Hudrolax/uc-docker-alpine/
|
|
|
|
ARG GITHUB_BUILD=false
|
|
ENV GITHUB_BUILD=${GITHUB_BUILD}
|
|
|
|
# Install build dependencies
|
|
RUN apk update && apk upgrade && \
|
|
apk add --no-cache --virtual .build-deps \
|
|
alpine-sdk \
|
|
curl \
|
|
wget \
|
|
unzip \
|
|
gnupg
|
|
|
|
# Install dependencies
|
|
RUN apk add --no-cache \
|
|
xvfb \
|
|
x11vnc \
|
|
fluxbox \
|
|
xterm \
|
|
libffi-dev \
|
|
openssl-dev \
|
|
zlib-dev \
|
|
bzip2-dev \
|
|
readline-dev \
|
|
git \
|
|
nss \
|
|
freetype \
|
|
freetype-dev \
|
|
harfbuzz \
|
|
ca-certificates \
|
|
ttf-freefont \
|
|
pipx \
|
|
chromium \
|
|
chromium-chromedriver
|
|
|
|
WORKDIR /app
|
|
EXPOSE 8191
|
|
|
|
# python
|
|
ENV \
|
|
DEBIAN_FRONTEND=noninteractive \
|
|
PYTHONUNBUFFERED=1 \
|
|
# prevents python creating .pyc files
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
# do not ask any interactive question
|
|
POETRY_NO_INTERACTION=1 \
|
|
POETRY_VIRTUALENVS_IN_PROJECT=true \
|
|
DISPLAY=:0
|
|
|
|
RUN pipx install poetry
|
|
ENV PATH="/root/.local/bin:$PATH"
|
|
COPY pyproject.toml poetry.lock ./
|
|
RUN poetry install
|
|
|
|
COPY fix_nodriver.py ./
|
|
RUN . /app/.venv/bin/activate && python fix_nodriver.py
|
|
COPY . .
|
|
RUN ./run_vnc.sh && . /app/.venv/bin/activate && poetry run pytest
|
|
CMD ["./entrypoint.sh"] |