32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
FROM python:3.11-slim
 | 
						|
 | 
						|
WORKDIR /app
 | 
						|
 | 
						|
# ---- base utils ----
 | 
						|
RUN apt-get update && \
 | 
						|
    apt-get install -y --no-install-recommends git ca-certificates && \
 | 
						|
    rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
RUN pip install --no-cache-dir pip setuptools wheel
 | 
						|
 | 
						|
# ---- (optional) Playwright runtime libs ----
 | 
						|
ARG WITH_PLAYWRIGHT=1
 | 
						|
RUN if [ "$WITH_PLAYWRIGHT" = "1" ]; then \
 | 
						|
      set -eux; \
 | 
						|
      apt-get update && apt-get install -y --no-install-recommends \
 | 
						|
        libgtk-3-0 libgdk-pixbuf-2.0-0 libpangocairo-1.0-0 libcairo-gobject2 libxcursor1 \
 | 
						|
        libnss3 libnspr4 libdrm2 libgbm1 libxss1 libxshmfence1 libx11-xcb1 \
 | 
						|
        libxcomposite1 libxdamage1 libxrandr2 libxtst6 libxfixes3 libxext6 libxi6 \
 | 
						|
        libxkbcommon0 libpango-1.0-0 libasound2 xdg-utils fonts-liberation wget \
 | 
						|
        && rm -rf /var/lib/apt/lists/*; \
 | 
						|
    fi
 | 
						|
 | 
						|
# ---- install wrapper python deps (includes playwright) ----
 | 
						|
COPY requirements.txt /app/requirements-wrapper.txt
 | 
						|
RUN pip install --no-cache-dir -r /app/requirements-wrapper.txt
 | 
						|
 | 
						|
# ---- wrapper entrypoint ----
 | 
						|
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
 | 
						|
RUN chmod +x /app/docker-entrypoint.sh
 | 
						|
ENTRYPOINT ["/app/docker-entrypoint.sh"]
 |