Docker

Docker (Dev + Prod)

bobmatnyc Updated 71 repo stars

File contents

Docker (Dev + Prod)

Development image (reload)

FROM python:3.11-slim
WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]

If reload does not trigger inside containers (common on mounted volumes), set polling:

environment:
  - WATCHFILES_FORCE_POLLING=true

Production image (Gunicorn)

FROM python:3.11-slim
WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
CMD ["gunicorn", "app.main:app", "-k", "uvicorn.workers.UvicornWorker", "-w", "4", "--bind", "0.0.0.0:8000"]

docker-compose (dev)

services:
  api:
    build: .
    ports: ["8000:8000"]
    volumes: ["./:/app"]
    environment:
      - PYTHONUNBUFFERED=1
      - WATCHFILES_FORCE_POLLING=true
    command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

bobmatnyc/claude-mpm/tree/main/plugin/skills/docker commit ad6d5c161c

Frequently asked questions

npx skillmds@latest add bobmatnyc/docker-3