From 144149f45d9e64edee4d4f8ac32226edb23a41c9 Mon Sep 17 00:00:00 2001 From: sarah Date: Wed, 25 Mar 2026 09:27:02 +0000 Subject: [PATCH] Fix Dockerfile: Switch from Alpine to Debian Slim for better Python package compatibility Changes: - Use python:3.11-slim instead of python:3.11-alpine - Install libgl1-mesa-glx and libglib2.0-0 for rembg dependencies - Remove gcc and musl-dev (not needed in Debian) - Fixes build errors with opencv-python-headless, numba, and llvmlite - Debian provides better support for Python packages with C extensions --- Dockerfile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8137bf2..0703376 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,15 @@ -FROM python:3.11-alpine +FROM python:3.11-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 # Install system dependencies -RUN apk add --no-cache gcc musl-dev ffmpeg +RUN apt-get update && apt-get install -y --no-install-recommends \ + ffmpeg \ + libgl1-mesa-glx \ + libglib2.0-0 \ + && rm -rf /var/lib/apt/lists/* # Set work directory WORKDIR /app @@ -20,7 +24,7 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . # Create non-root user -RUN adduser -D -u 1000 appuser && chown -R appuser:appuser /app +RUN adduser --disabled-password --gecos '' --uid 1000 appuser && chown -R appuser:appuser /app USER appuser # Health check @@ -28,4 +32,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD python -c "import sys; sys.exit(0)" # Run the bot -CMD ["python", "bot.py"] \ No newline at end of file +CMD ["python", "bot.py"]