/ Containerfile
Containerfile
 1  FROM python:3.12-alpine AS builder-py
 2  
 3  WORKDIR /install
 4  
 5  RUN apk update  \
 6      && apk --no-cache add build-base~=0.5 linux-headers~=6 gcc~=15 \
 7      && apk --no-cache add musl-dev~=1 py3-pip~=25 python3-dev~=3 zlib-dev~=1 git~=2
 8  
 9  COPY requirements.txt /requirements.txt
10  RUN pip install --prefix=/install --no-cache-dir -r /requirements.txt
11  
12  FROM python:3.12-alpine AS runner
13  
14  WORKDIR /app
15  
16  COPY --from=builder-py /install /usr/local
17  COPY . .
18  
19  EXPOSE 8088
20  
21  CMD ["granian", "--interface", "asgi", "--host", "0.0.0.0", "--port", "8088", "--workers", "3", "--log-level", "info", "--access-log", "main:app"]