Skip to content

Latest commit

 

History

History
149 lines (108 loc) · 3.62 KB

File metadata and controls

149 lines (108 loc) · 3.62 KB

Docker Setup for Markdown Ticket Board

Complete Docker containerization with hot reload and MCP HTTP transport.


Quick Start

1. Prerequisites

  • Docker Desktop or Docker Engine 20.10+
  • Docker Compose 1.29+ (or docker compose plugin)
  • Markdown ticket projects configured in ~/.config/markdown-ticket/

2. Start

./bin/dc up        # Start in foreground
./bin/dc up -d     # Start in background

3. Verify

4. Connect MCP to Claude

HTTP transport (recommended):

claude mcp add --scope user --transport http mdt-all http://localhost:3012/mcp

STDIO transport (via Docker):

claude mcp remove mdt-all --scope user  # delete existing if needed
claude mcp add --scope user mdt-all docker -- exec --env MCP_HTTP_ENABLED=false -i markdown-ticket-mcp node /app/mcp-server/dist/index.js

Common Commands

# Start/Stop
./bin/dc up -d [--build] [--force-recreate]    # Start
./bin/dc down      # Stop

# Logs
./bin/dc logs -f           # All logs
./bin/dc logs -f backend   # Specific service

# Rebuild
./bin/dc build             # Rebuild all
./bin/dc build frontend    # Rebuild specific

Note: Commands use MDT_DOCKER_MODE (default: prod). Set MDT_DOCKER_MODE=dev for development mode.


Mode Selection

Aspect Dev (MDT_DOCKER_MODE=dev) Prod (default)
Hot Reload Yes No
Port 5174 80
Use Case Active development Deployment/testing

Configuration

Volume Mounting

For mounting your local project, use docker-compose.override.yml(or declare MDT_DOCKER_PROJECTS_YML=docker-compose.my.yml .env.local):

# Copy the sample
cp docker-compose.override.sample.yml docker-compose.override.yml

# Edit with your project paths
vim docker-compose.override.yml

The override file is automatically loaded by ./bin/dc. Example:

x-shared-volumes: &project-volumes
  volumes:
    - ~/my-project:/projects/my-project

services:
  backend:
    <<: *project-volumes
  mcp:
    <<: *project-volumes

For advanced configuration (security, rate limiting, custom volumes), see docs/DOCKER_REFERENCE.md.


Troubleshooting

Containers won't start:

docker info                    # Check Docker daemon
./bin/dc logs                  # View errors
./bin/dc down -v && ./bin/dc build --no-cache && ./bin/dc up

Port conflicts:

lsof -i :5174   # Frontend
lsof -i :3012   # MCP

File watching not working:

  1. Verify volume mounts in docker-compose.dev.yml
  2. Check CHOKIDAR_USEPOLLING=true is set
  3. Restart: ./bin/dc restart

MCP Integration

Configure LLM clients (Claude Desktop, etc.):

{
  "mcpServers": {
    "markdown-ticket": {
      "url": "http://localhost:3012/mcp",
      "transport": "http"
    }
  }
}

For detailed MCP endpoints, session management, and advanced features, see docs/DOCKER_REFERENCE.md.


Additional Resources