FROM python:3.11-slim AS base WORKDIR /app # Instalacja wymaganych narzędzi, w tym xvfb i xauth RUN apt-get update && apt-get install -y --no-install-recommends \ wget \ unzip \ libx11-xcb1 \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxi6 \ libxtst6 \ libnss3 \ libcups2 \ libxss1 \ libxrandr2 \ libasound2 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcairo2 \ libgdk-pixbuf2.0-0 \ libgtk-3-0 \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libx11-6 \ xvfb \ xauth \ && rm -rf /var/lib/apt/lists/* COPY . /app/ RUN pip install --no-cache-dir -r requirements.txt # Zainstalowanie przeglądarki Playwright ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright RUN mkdir -p $PLAYWRIGHT_BROWSERS_PATH && playwright install chromium --with-deps RUN useradd -m -u 1000 user RUN mkdir /data RUN chown -R 1000:1000 /app /data COPY entrypoint.sh /app/entrypoint.sh RUN chmod +x /app/entrypoint.sh USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Uruchamianie aplikacji za pomocą xvfb-run ENTRYPOINT ["xvfb-run", "/app/entrypoint.sh"]