mirror of
https://github.com/immich-app/immich.git
synced 2024-12-26 10:50:29 +02:00
d5d0624311
* Use multi stage build to slim down ML image size
* Use gunicorn as WSGI server in ML image
* Configure gunicorn server for ML use case
* Use requirements.txt file to install python dependencies in ML image
* Make ML listen IP configurable
* Revert "Use requirements.txt file to install python dependencies in ML image"
This reverts commit 32e706c7f3
.
* Separate out pip installs in ML builder image
26 lines
682 B
Docker
26 lines
682 B
Docker
FROM python:3.10 as builder
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=true
|
|
|
|
RUN python -m venv /opt/venv
|
|
RUN /opt/venv/bin/pip install --pre torch -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
|
RUN /opt/venv/bin/pip install transformers tqdm numpy scikit-learn scipy nltk sentencepiece flask Pillow gunicorn
|
|
RUN /opt/venv/bin/pip install --no-deps sentence-transformers
|
|
|
|
FROM python:3.10-slim
|
|
|
|
COPY --from=builder /opt/venv /opt/venv
|
|
|
|
ENV TRANSFORMERS_CACHE=/cache \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PATH="/opt/venv/bin:$PATH"
|
|
|
|
WORKDIR /usr/src/app
|
|
|
|
COPY . .
|
|
|
|
CMD ["gunicorn", "src.main:server"]
|