# syntax=docker/dockerfile:1 FROM python:3.12-slim WORKDIR /app/backend # System deps for lxml/bs4 + general networking RUN apt-get update \ && apt-get install -y --no-install-recommends \ curl \ ca-certificates \ gcc \ g++ \ libc6-dev \ && rm -rf /var/lib/apt/lists/* # Install uv RUN curl -LsSf https://astral.sh/uv/install.sh | sh \ && ln -s /root/.local/bin/uv /usr/local/bin/uv # Copy dependency metadata first for better layer caching COPY backend/pyproject.toml backend/uv.lock* /app/backend/ # Create venv + install deps RUN uv venv --python 3.12 \ && uv sync # Copy backend app code COPY backend /app/backend # Copy and prepare startup script COPY start.sh /app/start.sh RUN chmod +x /app/start.sh EXPOSE 7860 CMD ["/bin/sh", "/app/start.sh"]