From 1180bbdc1d8eef23403dc7cacc9ede863b44a415 Mon Sep 17 00:00:00 2001 From: Michal Date: Thu, 1 Oct 2026 23:47:12 +0100 Subject: [PATCH] templates/dav: baked stdio image instead of npx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dav-mcp declares tsdav/tsdav-utils as GitHub-URL deps — npx on the git-less node-runner dies with 'spawn git ENOENT' (observed: dav-michal CrashLoopBackOff on first deploy). Upstream's ghcr image PID-1s the HTTP server, so mysources.co.uk/michal/dav-mcp bakes the install and execs src/server-stdio.js. Co-Authored-By: Claude Fable 5 --- templates/dav.yaml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/templates/dav.yaml b/templates/dav.yaml index e16d0d1..6eaacfe 100644 --- a/templates/dav.yaml +++ b/templates/dav.yaml @@ -1,10 +1,13 @@ name: dav version: "1.0.0" description: CalDAV/CardDAV/VTODO (Stalwart or any RFC 4791/6352 server) — calendars, events, tasks, contacts -packageName: "dav-mcp" -runtime: node +# NOT packageName: dav-mcp declares tsdav/tsdav-utils as GitHub-URL deps, so +# `npx -y dav-mcp` dies with `spawn git ENOENT` on the git-less node-runner, +# and the upstream ghcr image starts the HTTP server as PID 1. This image +# bakes the install and execs the stdio entrypoint (NODE_OPTIONS baked in). +dockerImage: "mysources.co.uk/michal/dav-mcp:4.0.1-stdio1" transport: STDIO -repositoryUrl: https://github.com/PhilflowIO/dav-mcp +repositoryUrl: https://mysources.co.uk/michal/dav-mcp-image healthCheck: # A real CalDAV PROPFIND: a pass proves server URL and credentials. tool: list_calendars @@ -21,7 +24,3 @@ env: - name: CALDAV_PASSWORD description: DAV password (use an app password) required: true - - name: NODE_OPTIONS - description: V8 heap cap; Node sizes its heap off host RAM, not the cgroup limit - required: false - defaultValue: "--max-old-space-size=384"