43 lines
		
	
	
		
			756 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			756 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Builder stage
 | |
| FROM python:3.11-slim-bookworm AS builder
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY requirements.txt .
 | |
| RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
 | |
| 
 | |
| # Final stage
 | |
| FROM python:3.11-slim-bookworm AS final
 | |
| 
 | |
| RUN apt-get update && apt-get install -y --no-install-recommends \
 | |
|     libgomp1 \
 | |
|  && apt-get clean \
 | |
|  && rm -rf /var/lib/apt/lists/*
 | |
| 
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY --from=builder /install /usr/local
 | |
| COPY app.py .
 | |
| COPY gunicorn.conf.py .
 | |
| COPY run.sh .
 | |
| COPY VERSION .
 | |
| COPY backend/ backend/
 | |
| COPY lib/ lib/
 | |
| COPY static/ static/
 | |
| COPY templates/ templates/
 | |
| 
 | |
| 
 | |
| RUN chmod +x run.sh
 | |
| 
 | |
| ARG VERSION
 | |
| RUN echo $VERSION > VERSION
 | |
| 
 | |
| # Create a non-root user
 | |
| RUN useradd --create-home appuser
 | |
| USER appuser
 | |
| 
 | |
| EXPOSE 5000
 | |
| 
 | |
| ENV FLASK_ENV=production
 | |
| CMD ["./run.sh"]
 |