| | |
| | FROM ubuntu:22.04 |
| |
|
| | ENV DEBIAN_FRONTEND=noninteractive \ |
| | PYTHONUNBUFFERED=1 \ |
| | TZ=Etc/UTC \ |
| | PORT=7860 \ |
| | ZD_HEADLESS=false \ |
| | USE_VIRTUAL_DISPLAY=true \ |
| | NO_INITIAL_FETCH=0 |
| |
|
| | |
| | RUN apt-get update \ |
| | && apt-get install -y --no-install-recommends \ |
| | python3 python3-pip python3-venv python3-distutils \ |
| | ca-certificates wget curl gnupg unzip \ |
| | xvfb x11-xkb-utils xauth xdg-utils \ |
| | libnss3 libxss1 libasound2 libatk1.0-0 libatk-bridge2.0-0 \ |
| | libgtk-3-0 libx11-xcb1 libxcomposite1 libxdamage1 libxrandr2 libgbm1 \ |
| | fonts-liberation fonts-dejavu-core fonts-noto-cjk \ |
| | tzdata \ |
| | && rm -rf /var/lib/apt/lists/* |
| |
|
| | WORKDIR /app |
| |
|
| | |
| | COPY server.py /app/server.py |
| | COPY requirements.txt /app/requirements.txt |
| | COPY entrypoint.sh /app/entrypoint.sh |
| | RUN chmod +x /app/entrypoint.sh |
| |
|
| | |
| | RUN python3 -m pip install --upgrade pip setuptools wheel \ |
| | && pip install --no-cache-dir -r /app/requirements.txt |
| |
|
| | EXPOSE ${PORT} |
| |
|
| | |
| | HEALTHCHECK --interval=30s --timeout=3s --start-period=15s --retries=3 \ |
| | CMD curl -fsS http://127.0.0.1:${PORT}/health || exit 1 |
| |
|
| | ENTRYPOINT ["/app/entrypoint.sh"] |