FROM python:3.11-slim-bullseye ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ xvfb \ x11-utils \ x11-xserver-utils \ xdotool \ matchbox-window-manager \ libx11-dev \ libxrandr2 \ libxtst6 \ libavcodec-dev \ libavdevice-dev \ libavfilter-dev \ libavformat-dev \ libavutil-dev \ libswscale-dev \ libswresample-dev \ libvpx-dev \ libopus-dev \ libffi-dev \ libxcomposite1 \ libxcursor1 \ libxdamage1 \ libxi6 \ libnss3 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libgbm1 \ libasound2 \ libpangocairo-1.0-0 \ libgtk-3-0 \ fonts-liberation \ fonts-noto-color-emoji \ wget \ curl \ gnupg \ procps \ && rm -rf /var/lib/apt/lists/* RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ apt-get update && \ apt-get install -y ./google-chrome-stable_current_amd64.deb && \ rm google-chrome-stable_current_amd64.deb && \ rm -rf /var/lib/apt/lists/* RUN mv /usr/bin/google-chrome /usr/bin/google-chrome-orig && \ echo '#!/bin/bash\n/usr/bin/google-chrome-orig --no-sandbox --start-maximized --no-first-run --no-default-browser-check "$@"' > /usr/bin/google-chrome && \ chmod +x /usr/bin/google-chrome RUN update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome 9999 RUN mkdir -p /etc/apt/keyrings && \ curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | gpg --dearmor --yes -o /etc/apt/keyrings/antigravity-repo-key.gpg && \ echo "deb [signed-by=/etc/apt/keyrings/antigravity-repo-key.gpg] https://us-central1-apt.pkg.dev/projects/antigravity-auto-updater-dev/ antigravity-debian main" | tee /etc/apt/sources.list.d/antigravity.list > /dev/null && \ apt-get update && \ apt-get install -y antigravity && \ rm -rf /var/lib/apt/lists/* RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH WORKDIR $HOME/app COPY --chown=user:user requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt COPY --chown=user:user app.py . ENV DISPLAY=:99 \ RESOLUTION=1280x720 \ BROWSER=/usr/bin/google-chrome EXPOSE 7860 CMD ["python", "app.py"]