Dockerfile 768 B

123456789101112131415161718192021222324252627282930313233
  1. # Multi-stage build for weather-mcp-server
  2. FROM python:3.12-slim-bookworm as base
  3. # Set working directory
  4. WORKDIR /app
  5. # Install system dependencies
  6. RUN apt-get update && apt-get install -y \
  7. --no-install-recommends \
  8. && rm -rf /var/lib/apt/lists/*
  9. # Copy project files
  10. COPY pyproject.toml requirements.txt ./
  11. COPY server.py ./
  12. # Install Python dependencies
  13. RUN pip install --no-cache-dir --upgrade pip && \
  14. pip install --no-cache-dir -r requirements.txt
  15. # Set environment variables
  16. ENV PYTHONUNBUFFERED=1
  17. ENV PORT=8081
  18. # Expose port (Smithery uses 8081)
  19. EXPOSE 8081
  20. # Health check
  21. HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  22. CMD python -c "import sys; sys.exit(0)"
  23. # Run the MCP server
  24. CMD ["python", "server.py"]