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"]