FROM python:3.13-slim AS builder

ARG ARR_MCP_VERSION=1.0.1

RUN python -m venv /opt/arr-mcp/venv \
    && /opt/arr-mcp/venv/bin/pip install --no-cache-dir --upgrade pip \
    && /opt/arr-mcp/venv/bin/pip install --no-cache-dir "arr-mcp[mcp]==${ARR_MCP_VERSION}"

COPY platform/mcp/patches/mcp_sonarr.py /tmp/mcp_sonarr.py
COPY platform/mcp/patches/mcp_radarr.py /tmp/mcp_radarr.py

RUN site_packages="$(/opt/arr-mcp/venv/bin/python -c 'import site; print(site.getsitepackages()[0])')" \
    && install -m 0644 /tmp/mcp_sonarr.py "$site_packages/arr_mcp/mcp/mcp_sonarr.py" \
    && install -m 0644 /tmp/mcp_radarr.py "$site_packages/arr_mcp/mcp/mcp_radarr.py" \
    && /opt/arr-mcp/venv/bin/python -m compileall -q "$site_packages/arr_mcp/mcp"

FROM python:3.13-slim

RUN groupadd --system --gid 10001 arrmcp \
    && useradd --system --uid 10001 --gid 10001 --no-create-home arrmcp

COPY --from=builder /opt/arr-mcp /opt/arr-mcp
COPY services/arr-mcp/run.sh /usr/local/bin/run-arr-mcp

ENV PATH="/opt/arr-mcp/venv/bin:${PATH}" \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

RUN chmod 0755 /usr/local/bin/run-arr-mcp

USER 10001:10001
EXPOSE 8000

HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
  CMD python -c "import socket; s=socket.create_connection(('127.0.0.1',8000),3); s.close()"

ENTRYPOINT ["/usr/local/bin/run-arr-mcp"]
