32 lines
755 B
Docker
32 lines
755 B
Docker
# builder
|
|
FROM python:3.14.3-alpine as builder
|
|
|
|
RUN mkdir /opt/fooder
|
|
WORKDIR /opt/fooder
|
|
|
|
RUN pip install setuptools
|
|
|
|
COPY fooder /opt/fooder/fooder
|
|
COPY setup.py /opt/fooder/setup.py
|
|
|
|
RUN python /opt/fooder/setup.py sdist
|
|
RUN mv /opt/fooder/dist/*.tar.gz /opt/fooder/dist/fooder.tar.gz
|
|
|
|
# final image
|
|
FROM python:3.14.3-alpine
|
|
|
|
RUN apk add --no-cache postgresql-dev
|
|
|
|
COPY requirements/docker.txt requirements.txt
|
|
RUN pip install -r requirements.txt
|
|
|
|
RUN adduser -D fooder
|
|
|
|
RUN mkdir /opt/fooder && chown fooder:fooder /opt/fooder
|
|
WORKDIR /opt/fooder
|
|
|
|
COPY --from=builder /opt/fooder/dist/fooder.tar.gz /opt/fooder/fooder.tar.gz
|
|
RUN pip install fooder.tar.gz
|
|
RUN rm fooder.tar.gz
|
|
|
|
CMD ["uvicorn", "fooder.app:app", "--host", "0.0.0.0", "--port", "8000"]
|