37 lines
896 B
Docker
37 lines
896 B
Docker
FROM python:3.13-slim-bookworm
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
bash wget gnupg curl zip unzip \
|
|
libnss3 libatk1.0-0 libatk-bridge2.0-0 \
|
|
libcups2 libxrandr2 libxss1 libasound2 \
|
|
libxdamage1 libgbm-dev \
|
|
libxcomposite1 libcurl4 xvfb \
|
|
fonts-liberation libnspr4 chromium && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN useradd -m -d /home/bro -s /bin/bash bro
|
|
|
|
WORKDIR /home/bro/app
|
|
|
|
RUN chown -R bro:bro /home/bro
|
|
|
|
USER bro
|
|
|
|
ENV PATH="$PATH:/home/bro/.local/bin"
|
|
|
|
RUN pip install --user --no-cache-dir uv
|
|
|
|
RUN uv python install 3.13
|
|
|
|
COPY --chown=bro:bro workers/ticket_scraper/uv.lock workers/ticket_scraper/pyproject.toml workers/ticket_scraper/.python-version ./
|
|
|
|
RUN uv lock
|
|
|
|
COPY --chown=bro:bro workers/ticket_scraper ./
|
|
|
|
EXPOSE 8080
|
|
|
|
ENV CHROME_EXECUTABLE_PATH="/usr/bin/chromium"
|
|
|
|
CMD ["uv", "run", "python", "-m", "fastapi", "run", "--port=8080", "main.py"]
|