| |
| FROM python:3.9-slim |
|
|
| |
| |
| ENV DEBIAN_FRONTEND=noninteractive |
|
|
| |
| |
| RUN apt-get update && apt-get install -y \ |
| xfce4 \ |
| xfce4-terminal \ |
| xvfb \ |
| x11vnc \ |
| novnc \ |
| websockify \ |
| firefox-esr \ |
| sudo \ |
| curl \ |
| git \ |
| vim \ |
| procps \ |
| dbus-x11 \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN useradd -m -u 1000 user |
| RUN echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers |
|
|
| |
| USER user |
| ENV HOME=/home/user \ |
| PATH=/home/user/.local/bin:$PATH |
| WORKDIR $HOME |
|
|
| |
| RUN pip install --no-cache-dir numpy |
|
|
| |
| |
| RUN echo ' |
| \n\ |
| |
| export VNC_PASSWD=${VNC_PASSWD:-password}\n\ |
| \n\ |
| |
| |
| Xvfb :1 -screen 0 1280x720x16 &\n\ |
| export DISPLAY=:1\n\ |
| sleep 2\n\ |
| \n\ |
| |
| startxfce4 &\n\ |
| sleep 2\n\ |
| \n\ |
| |
| mkdir -p ~/.vnc\n\ |
| x11vnc -storepasswd "$VNC_PASSWD" ~/.vnc/passwd\n\ |
| x11vnc -display :1 -rfbauth ~/.vnc/passwd -forever -shared -bg\n\ |
| \n\ |
| |
| |
| echo "Starting NoVNC..."\n\ |
| websockify --web /usr/share/novnc/ 7860 localhost:5900\n\ |
| ' > start.sh |
|
|
| RUN chmod +x start.sh |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| CMD ["./start.sh"] |