| 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"] |