browser3 / Dockerfile
Alvin3y1's picture
Update Dockerfile
5a0cc3b verified
# 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"]