- Add crush.json with comprehensive MCP configurations for Crush AI assistant - Configure stdio-based MCPs: penpot, context7, docker, drawio, redmine - Configure HTTP-based MCP: nextcloud (port 8083 with SSE endpoint) - Fix mcp-redmine Dockerfile with correct python module entrypoint - Fix nextcloud-mcp Dockerfile to handle .dockerignore blocking observability - Fix drawio-mcp Dockerfile to use pnpm and correct build directory - Update docker-compose.yml with proper MCP server configurations - Add environment variable configuration for MCPs requiring external services - Create MCP validation script to test servers with protocol messages - Update STATUS.md with confirmed working MCP servers and their requirements - Validate: penpot, context7, docker, drawio, redmine, nextcloud (HTTP) - Document required env vars for ghost, imap, proxmox, penpot MCPs - Configure Crush to use both stdio (docker run) and HTTP endpoints
45 lines
899 B
Docker
45 lines
899 B
Docker
FROM docker.io/library/python:3.12-slim
|
|
|
|
# Install uv
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
# Install dependencies
|
|
RUN apt update && apt install --no-install-recommends --no-install-suggests -y \
|
|
git \
|
|
tesseract-ocr \
|
|
sqlite3 && apt clean
|
|
|
|
WORKDIR /app
|
|
|
|
COPY pyproject.toml uv.lock README.md ./
|
|
|
|
RUN uv sync --no-dev --no-install-project --no-cache
|
|
|
|
# Copy source code (create permissive .dockerignore first)
|
|
# We need to override the vendor .dockerignore
|
|
RUN rm -f /app/.dockerignore 2>/dev/null || true
|
|
RUN cat > /app/.dockerignore << 'EOF'
|
|
*.pyc
|
|
__pycache__/
|
|
.venv/
|
|
.DS_Store
|
|
.git/
|
|
.gitignore
|
|
uv.lock
|
|
README.md
|
|
ARCHITECTURE.md
|
|
CONTRIBUTING.md
|
|
DEVELOPMENT.md
|
|
PROMPTS.md
|
|
TROUBLESHOOTING.md
|
|
EOF
|
|
COPY . .
|
|
|
|
RUN uv sync --no-dev --no-editable --no-cache
|
|
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PATH=/app/.venv/bin:$PATH
|
|
|
|
ENTRYPOINT ["/app/.venv/bin/nextcloud-mcp-server"]
|
|
CMD ["run"]
|