# Use Ubuntu 22.04 FROM ubuntu:22.04 # Prevent interactive prompts ENV DEBIAN_FRONTEND=noninteractive # 1. Install prerequisites RUN apt-get update && apt-get install -y \ curl \ gnupg \ software-properties-common \ apt-transport-https \ ca-certificates \ dbus-x11 \ python3 \ && rm -rf /var/lib/apt/lists/* # 2. Add Brave Browser Repository RUN curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg \ && echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list # 3. Add Official Xpra Repository (This fixes the "locate package" error) RUN curl -fsSL https://xpra.org/gpg.asc | gpg --dearmor -o /usr/share/keyrings/xpra.gpg \ && echo "deb [signed-by=/usr/share/keyrings/xpra.gpg] https://xpra.org/ jammy main" | tee /etc/apt/sources.list.d/xpra.list # 4. Install Brave, Xpra, and Xterm # Note: We install 'xpra' which now includes the HTML5 files from the official repo RUN apt-get update && apt-get install -y \ brave-browser \ xpra \ xvfb \ xterm \ && rm -rf /var/lib/apt/lists/* # 5. Setup user RUN useradd -m -u 1000 user USER user ENV HOME=/home/user WORKDIR $HOME COPY --chown=user . $HOME EXPOSE 7860 CMD ["python3", "app.py"]