23 lines
867 B
Docker
23 lines
867 B
Docker
FROM python:3.12-slim AS builder
|
|
WORKDIR /build
|
|
RUN pip install --no-cache-dir --upgrade pip build
|
|
COPY pyproject.toml ./
|
|
COPY app ./app
|
|
RUN python -m build --wheel
|
|
|
|
FROM python:3.12-slim
|
|
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
|
|
RUN addgroup --system --gid 10001 han && adduser --system --uid 10001 --ingroup han han
|
|
WORKDIR /app
|
|
COPY --from=builder /build/dist/*.whl /tmp/
|
|
RUN pip install --no-cache-dir /tmp/*.whl && rm -f /tmp/*.whl
|
|
COPY alembic.ini ./
|
|
COPY alembic ./alembic
|
|
COPY --chmod=0555 container-entrypoint.sh /usr/local/bin/han-container-entrypoint
|
|
RUN sed -i 's/\r$//' /usr/local/bin/han-container-entrypoint \
|
|
&& /bin/sh -n /usr/local/bin/han-container-entrypoint
|
|
USER 10001:10001
|
|
EXPOSE 8000
|
|
ENTRYPOINT ["/usr/local/bin/han-container-entrypoint"]
|
|
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--no-proxy-headers"]
|