| 
							 | 
						FROM node:20-alpine AS builder | 
					
					
						
						| 
							 | 
						RUN apk add --no-cache libc6-compat | 
					
					
						
						| 
							 | 
						WORKDIR /app | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						COPY frontend . | 
					
					
						
						| 
							 | 
						RUN \ | 
					
					
						
						| 
							 | 
						    if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ | 
					
					
						
						| 
							 | 
						    elif [ -f package-lock.json ]; then npm ci; \ | 
					
					
						
						| 
							 | 
						    elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i --frozen-lockfile; \ | 
					
					
						
						| 
							 | 
						    else echo "Lockfile not found." && exit 1; \ | 
					
					
						
						| 
							 | 
						    fi | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						RUN npm run build | 
					
					
						
						| 
							 | 
						FROM python:3.10-slim AS backend | 
					
					
						
						| 
							 | 
						WORKDIR /app | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						RUN apt-get update && apt-get install --no-install-recommends -y \ | 
					
					
						
						| 
							 | 
						    git ffmpeg curl gnupg \ | 
					
					
						
						| 
							 | 
						    && apt-get clean && rm -rf /var/lib/apt/lists/* | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						RUN useradd -m -u 1000 user | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						COPY ./requirements.txt . | 
					
					
						
						| 
							 | 
						RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						USER user | 
					
					
						
						| 
							 | 
						ENV HOME=/home/user \ | 
					
					
						
						| 
							 | 
						    PATH=/home/user/.local/bin:$PATH | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						WORKDIR $HOME/app | 
					
					
						
						| 
							 | 
						COPY --from=builder /app/build ./static | 
					
					
						
						| 
							 | 
						COPY . .     | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						 | 
					
					
						
						| 
							 | 
						CMD ["python", "app.py"] |