- Add syncStatus() to InstanceService: detects crashed/stopped containers, marks them ERROR with last log line as context - Reconcile now syncs container status first (detect dead before counting) - Add 30s periodic sync loop in main.ts - Switch node-runner from alpine to slim (Debian) for npm compatibility (fixes home-assistant-mcp-server binary not found on Alpine) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
14 lines
425 B
Docker
14 lines
425 B
Docker
# Base container for npm-based MCP servers (STDIO transport).
|
|
# mcpd uses this image to run `npx -y <packageName>` when a server
|
|
# has packageName but no dockerImage.
|
|
# Using slim (Debian) instead of alpine for better npm package compatibility.
|
|
FROM node:20-slim
|
|
|
|
WORKDIR /mcp
|
|
|
|
# Pre-warm npx cache directory
|
|
RUN mkdir -p /root/.npm
|
|
|
|
# Default entrypoint — overridden by mcpd via container command
|
|
ENTRYPOINT ["npx", "-y"]
|