mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 02:39:03 -04:00 
			
		
		
		
	* 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 32e706c7f3db1d0aa1a66b3733ab9ec9dfb86534. * 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"]
 |