add Docker support for running caldav-mcp

Introduce a multi-stage Docker build and runtime image so the server can be built and launched consistently across environments, and document build/run usage in README.
This commit is contained in:
2026-03-20 16:15:54 +01:00
parent 78a6007afd
commit 5804fe0437
3 changed files with 50 additions and 0 deletions

10
.dockerignore Normal file
View File

@@ -0,0 +1,10 @@
node_modules
dist
.git
.gitignore
npm-debug.log
README.md
docs
tests
.env
.env.*

24
Dockerfile Normal file
View File

@@ -0,0 +1,24 @@
FROM node:20-bookworm-slim AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src ./src
RUN npm run build
FROM node:20-bookworm-slim AS runtime
WORKDIR /app
ENV NODE_ENV=production
COPY package*.json ./
RUN npm ci --omit=dev
COPY --from=builder /app/dist ./dist
EXPOSE 3000
CMD ["node", "dist/index.js"]

View File

@@ -40,6 +40,22 @@ npm run build
npm test
```
## Docker
Build the image:
```bash
docker build -t caldav-mcp .
```
Run the container:
```bash
docker run --rm -p 3000:3000 --env-file .env caldav-mcp
```
The server listens on port `3000` in the container.
## MCP Tools
- `caldav_discover_principal`