41 lines
1.6 KiB
Docker
41 lines
1.6 KiB
Docker
FROM python:3.14-slim@sha256:cea0e6040540fb2b965b6e7fb5ffa00871e632eef63719f0ea54bca189ce14a6 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.14-slim@sha256:cea0e6040540fb2b965b6e7fb5ffa00871e632eef63719f0ea54bca189ce14a6
|
|
|
|
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}" \
|
|
HOME=/tmp \
|
|
XDG_CONFIG_HOME=/tmp/.config \
|
|
XDG_CACHE_HOME=/tmp/.cache \
|
|
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 urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3)"
|
|
|
|
ENTRYPOINT ["/usr/local/bin/run-arr-mcp"]
|