USER root RUN cd /home && git clone https://github.com/novnc/noVNC.git # RUN wget https://download.jetbrains.com/python/pycharm-community-2022.2.2.tar.gz?_ga=2.208178450.1661277489.1663856961-374525153.1663856961 -O /home/pycharm.tgz && cd /home && tar xvfz pycharm.tgz RUN wget --quiet https://download.jetbrains.com/python/pycharm-community-2022.2.2.tar.gz?_ga=2.208178450.1661277489.1663856961-374525153.1663856961 -O /home/pycharm.tgz && cd /home && tar xfz pycharm.tgz RUN apt update -qqq && apt install -y tightvncserver xterm fvwm USER ubuntu RUN mkdir -p /home/ubuntu/.vnc && echo password | vncpasswd -f > /home/ubuntu/.vnc/passwd && chmod 600 /home/ubuntu/.vnc/passwd RUN echo "export PATH=$PATH:$( find /home -type d -iname 'pycharm*' -maxdepth 1 )/bin" >> /home/ubuntu/.domino-defaults && \ echo ". /home/ubuntu/.domino-defaults" >> /home/ubuntu/.bashrc USER root # Install NodeJS # You can omit this step if your environment already has NodeJS installed RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ apt-get install nodejs -y && \ rm -rf /var/lib/apt/lists/* # Install jupyterlab-server-proxy (omit if already installed) RUN if [ -x /opt/conda/bin/conda ]; then \ /opt/conda/bin/conda install -y -c conda-forge jupyter-server-proxy; \ else \ pip install --no-cache-dir jupyter-server-proxy; \ fi # Update jupyter lab config RUN mkdir -p home/ubuntu/.jupyterlab/ && \ echo "c.ServerProxy.servers = {" >> home/ubuntu/.jupyterlab/jupyter_lab_config.py && \ echo " 'proxy2': {" >> home/ubuntu/.jupyterlab/jupyter_lab_config.py && \ # Vscode example. Replace this command with what you want to proxy to echo " 'command': ['/bin/sh','/etc/rc.startup']" >> /home/ubuntu/.jupyterlab/jupyter_lab_config.py && \ echo " }" >> /home/ubuntu/.jupyterlab/jupyter_lab_config.py && \ echo "}" >> /home/ubuntu/.jupyterlab/jupyter_lab_config.py ENV DEBIAN_FRONTEND=noninteractive RUN apt update -qqq && apt install -y terminator firefox # USER root RUN echo "USER=ubuntu vncserver -geometry 1440x960 :0" > /etc/rc.startup && \ echo "sudo /home/noVNC/./utils/novnc_proxy --vnc localhost:5900" >> /etc/rc.startup USER ubuntu # Will only work in a full Desktop environment: # RUN mkdir -p ~/.config/autostart # # RUN echo "[Desktop Entry]" > ~/.config/autostart/pycharm.sh.desktop && \ # echo "Type=Application" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "Exec=/home/pycharm-community-2022.2.2/bin/pycharm.sh" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "Hidden=false" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "NoDisplay=false" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "X-GNOME-Autostart-enabled=true" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "Name[en_US]=PyCharm" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "Name=PyCharm" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "Comment[en_US]=" >> ~/.config/autostart/pycharm.sh.desktop && \ # echo "Comment=" >> ~/.config/autostart/pycharm.sh.desktop # Works after installing firefix/terminator # if not included, can result in a simple 'gray' screen RUN echo "fvwm &" > ~/.xsession && \ echo "terminator &" >> ~/.xsession && \ echo "pycharm.sh &" >> ~/.xsession