# 小红书 MCP 服务器 Docker Compose 配置

version: '3.8'

services:
  xiaohongshu-mcp:
    build: .
    container_name: xiaohongshu-mcp-server
    restart: unless-stopped
    
    # 端口映射（如果需要 HTTP 接口）
    ports:
      - "8000:8000"
    
    # 环境变量
    environment:
      - XIAOHONGSHU_LOG_LEVEL=INFO
      - XIAOHONGSHU_DATA_DIR=/app/data/browser_data
      - DISPLAY=:99
    
    # 数据卷
    volumes:
      - xiaohongshu_data:/app/data
      - /tmp/.X11-unix:/tmp/.X11-unix:rw
    
    # 网络模式
    network_mode: "host"
    
    # 安全配置
    security_opt:
      - seccomp:unconfined
    
    # 设备访问（如果需要音频/视频）
    devices:
      - /dev/snd:/dev/snd
    
    # 健康检查
    healthcheck:
      test: ["CMD", "python", "-c", "import requests; requests.get('http://localhost:8000/health', timeout=5)"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

volumes:
  xiaohongshu_data:
    driver: local

# 用于开发的配置
---
version: '3.8'

services:
  xiaohongshu-mcp-dev:
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: xiaohongshu-mcp-dev
    
    # 开发模式配置
    environment:
      - XIAOHONGSHU_LOG_LEVEL=DEBUG
      - XIAOHONGSHU_DEV_MODE=true
    
    # 挂载源代码用于开发
    volumes:
      - ./src:/app/src:ro
      - xiaohongshu_dev_data:/app/data
    
    # 交互式终端
    stdin_open: true
    tty: true
    
    # 命令覆盖
    command: ["--dev"]

volumes:
  xiaohongshu_dev_data:
    driver: local
