|  |  | 
					
						
						|  | FROM python:3.11-slim | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | WORKDIR /app | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ENV PYTHONUNBUFFERED=1 | 
					
						
						|  | ENV PYTHONDONTWRITEBYTECODE=1 | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | RUN apt-get update && apt-get install -y \ | 
					
						
						|  | gcc \ | 
					
						
						|  | g++ \ | 
					
						
						|  | curl \ | 
					
						
						|  | git \ | 
					
						
						|  | jq \ | 
					
						
						|  | && rm -rf /var/lib/apt/lists/* | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | COPY requirements.txt . | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | RUN pip install --no-cache-dir --upgrade pip && \ | 
					
						
						|  | pip install --no-cache-dir gradio==4.29.0 && \ | 
					
						
						|  | pip install --no-cache-dir google-cloud-storage google-auth google-auth-oauthlib google-auth-httplib2 && \ | 
					
						
						|  | pip install --no-cache-dir -r requirements.txt | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | COPY . . | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | RUN mkdir -p /app/gradio_cached_examples && \ | 
					
						
						|  | mkdir -p /app/cache && \ | 
					
						
						|  | chmod -R 755 /app | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | EXPOSE 7860 | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ | 
					
						
						|  | CMD curl -f http://localhost:7860/health || exit 1 | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | CMD ["python", "app.py"] |