| |
| |
| |
| FROM python:3.12-slim |
|
|
| |
| ENV PYTHONDONTWRITEBYTECODE=1 \ |
| PYTHONUNBUFFERED=1 \ |
| PORT=7860 \ |
| ZD_HEADLESS=true \ |
| NO_INITIAL_FETCH=true |
|
|
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| ca-certificates \ |
| curl \ |
| gnupg \ |
| wget \ |
| unzip \ |
| fonts-liberation \ |
| libnss3 \ |
| libxss1 \ |
| libasound2 \ |
| libatk1.0-0 \ |
| libcups2 \ |
| libx11-xcb1 \ |
| libxcomposite1 \ |
| libxdamage1 \ |
| libxrandr2 \ |
| libgbm1 \ |
| libgtk-3-0 \ |
| libxshmfence1 \ |
| procps \ |
| build-essential \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| |
| |
| RUN apt-get update && apt-get install -y --no-install-recommends chromium \ |
| || true && rm -rf /var/lib/apt/lists/* |
|
|
| |
| ENV CHROME_BIN=/usr/bin/chromium |
|
|
| |
| COPY requirements.txt /app/requirements.txt |
|
|
| |
| RUN python -m pip install --upgrade pip setuptools wheel \ |
| && pip --no-cache-dir install -r /app/requirements.txt |
|
|
| |
| COPY . /app |
|
|
| |
| COPY start.sh /app/start.sh |
| RUN chmod +x /app/start.sh |
|
|
| |
| EXPOSE ${PORT} |
|
|
| |
| |
| CMD ["sh", "-c", "/app/start.sh"] |