diff --git a/.env b/.env index a763500..7e38d7b 100644 --- a/.env +++ b/.env @@ -43,7 +43,7 @@ DISCOURSE_API_KEY=dummy-api-key-replace-with-real DISCOURSE_API_USERNAME=admin # IMAP -IMAP_SERVER=imap.example.com +IMAP_HOST=imap.example.com IMAP_PORT=993 IMAP_USERNAME=user@example.com IMAP_PASSWORD=dummy-password-replace-with-real diff --git a/docker-compose.yml b/docker-compose.yml index a117b9d..875dafd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -248,20 +248,20 @@ services: - ops # IMAP MCP - Email processing + # NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run imap-mcp: image: kneldevstack-aimiddleware-imap-mcp build: context: ./vendor/imap-mcp - dockerfile: Dockerfile + dockerfile: ../../dockerfiles/imap-mcp/Dockerfile container_name: kneldevstack-aimiddleware-imap-mcp - restart: unless-stopped + restart: "no" environment: - PYTHONUNBUFFERED=1 - - IMAP_SERVER=${IMAP_SERVER} + - IMAP_HOST=${IMAP_HOST} - IMAP_PORT=${IMAP_PORT:-993} - IMAP_USERNAME=${IMAP_USERNAME} - IMAP_PASSWORD=${IMAP_PASSWORD} - command: ["uvx", "imap-mcp"] profiles: - ops @@ -460,13 +460,14 @@ services: # ========================================== # Penpot MCP - Design collaboration platform + # NOTE: This is a stdio-based MCP server, run on-demand by Crush via docker run penpot-mcp: image: kneldevstack-aimiddleware-penpot-mcp build: context: ./vendor/penpot-mcp dockerfile: Dockerfile container_name: kneldevstack-aimiddleware-penpot-mcp - restart: unless-stopped + restart: "no" environment: - PENPOT_URL=${PENPOT_URL:-https://design.penpot.app} - PENPOT_TOKEN=${PENPOT_TOKEN} diff --git a/dockerfiles/imap-mcp/Dockerfile b/dockerfiles/imap-mcp/Dockerfile new file mode 100644 index 0000000..6382fd1 --- /dev/null +++ b/dockerfiles/imap-mcp/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.12-slim + +# Install uv for faster package management +COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ + +WORKDIR /app + +# Copy dependency files +COPY pyproject.toml ./ + +# Install dependencies +RUN uv sync --no-dev --no-install-project --no-cache + +# Copy source code +COPY . . + +# Install the project +RUN uv sync --no-dev --no-editable --no-cache + +# Set up environment +ENV PYTHONUNBUFFERED=1 +ENV PATH=/app/.venv/bin:$PATH + +ENTRYPOINT ["python", "-m", "imap_mcp.server"]