FROM python:3.13-slim

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    && rm -rf /var/lib/apt/lists/*

COPY pyproject.toml .

COPY devplacepy/ devplacepy/

ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright

RUN pip install --no-cache-dir ".[bots]" \
    && python -m playwright install --with-deps chromium \
    && chmod -R a+rx /ms-playwright

RUN mkdir -p /app/devplacepy/static/uploads/attachments

EXPOSE 10500

ENV DEVPLACE_WEB_WORKERS=2

HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=10s \
    CMD curl -f http://localhost:10500/ || exit 1

CMD ["uvicorn", "devplacepy.main:app", "--host", "0.0.0.0", "--port", "10500", "--workers", "2", "--backlog", "8192", "--proxy-headers", "--forwarded-allow-ips", "*"]
