| FROM nvidia/cuda:12.5.1-cudnn-devel-ubuntu20.04 |
|
|
| |
| ENV DEBIAN_FRONTEND=noninteractive \ |
| TZ=Asia/Kolkata \ |
| PYTHONUNBUFFERED=1 \ |
| RESOLUTION=1280x720x24 \ |
| VNC_PASSWORD=password |
|
|
|
|
| |
| RUN rm -f /etc/apt/sources.list.d/*.list && \ |
| apt-get update && apt-get install -y --no-install-recommends \ |
| ca-certificates \ |
| sudo \ |
| git git-lfs \ |
| curl wget net-tools \ |
| procps \ |
| zip unzip \ |
| htop \ |
| vim nano \ |
| bzip2 \ |
| libx11-6 \ |
| build-essential \ |
| libsndfile-dev \ |
| software-properties-common \ |
| xfce4 xfce4-goodies \ |
| x11vnc xvfb \ |
| novnc websockify \ |
| supervisor \ |
| tigervnc-standalone-server \ |
| tigervnc-common \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| RUN mkdir -p /opt/novnc && \ |
| ln -s /usr/share/novnc/* /opt/novnc/ && \ |
| ln -s /usr/share/novnc/utils /opt/novnc/utils && \ |
| \ |
| |
| mkdir -p /tmp/.X11-unix && \ |
| chmod 1777 /tmp/.X11-unix && \ |
| \ |
| |
| mkdir -p /var/log/x11vnc && \ |
| touch /var/log/x11vnc.log && \ |
| chmod 755 /var/log/x11vnc && \ |
| chmod 644 /var/log/x11vnc.log && \ |
| \ |
| |
| chmod -R 755 /opt/novnc && \ |
| chmod +x /opt/novnc/utils/* |
|
|
| |
| RUN git clone https://github.com/browser-use/web-ui.git |
| |
| WORKDIR /web-ui |
| |
| RUN pwd && ls -la /web-ui |
| |
| COPY webui_with_vnc.py start.sh /web-ui/ |
| |
| |
| RUN mkdir -p /etc/supervisor/conf.d |
| |
| |
| COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf |
| |
| |
| RUN adduser --disabled-password --gecos '' --shell /bin/bash user \ |
| && chown -R user:user /web-ui |
| RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user |
| USER user |
| |
| |
| ENV HOME=/home/user |
| RUN mkdir $HOME/.cache $HOME/.config $HOME/.vnc\ |
| && chmod -R 777 $HOME |
| |
| RUN touch ~/.vnc/x11vnc.log |
| |
| |
| ENV CONDA_AUTO_UPDATE_CONDA=false \ |
| PATH=$HOME/miniconda/bin:$PATH |
| |
| RUN curl -sLo ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \ |
| && chmod +x ~/miniconda.sh \ |
| && ~/miniconda.sh -b -p ~/miniconda \ |
| && rm ~/miniconda.sh \ |
| && conda clean -ya |
|
|
| |
| RUN conda create -y -n webui python=3.11 && \ |
| echo "conda activate webui" >> ~/.bashrc |
|
|
| |
| RUN chown user:user /var/log/x11vnc /var/log/x11vnc.log || true |
| |
| |
| RUN mkdir -p /etc/supervisor/conf.d && \ |
| mkdir -p /var/log/supervisor && \ |
| mkdir -p /home/user/.vnc && \ |
| chown -R user:user /home/user |
| |
| |
| RUN chmod -R 755 /web-ui && \ |
| chown -R user:user /var/log/supervisor || true |
|
|
| |
| |
| COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf |
|
|
| |
| RUN /home/user/miniconda/envs/webui/bin/pip install --no-cache-dir --upgrade pip uv==0.4.17 playwright gradio python-dotenv && \ |
| /home/user/miniconda/envs/webui/bin/pip install --no-cache-dir -r requirements.txt && \ |
| /home/user/miniconda/envs/webui/bin/playwright install --with-deps chromium |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| RUN chown -R user:user /web-ui && chmod -R 755 /web-ui |
|
|
| |
| |
|
|
| |
| |
|
|
| CMD ["/web-ui/start.sh"] |