| ADD file:7009ad0ee0bbe5ed7f381792e07347e260e6896aeee0d80597808065120fa96b in / |
| CMD ["bash"] |
| COPY ./src/ubuntu/install/tools /tools/ # buildkit |
| RUN /bin/sh -c bash $INST_SCRIPTS/tools/install_tools.sh && rm -rf $INST_SCRIPTS/tools/ # buildkit |
| LABEL org.opencontainers.image.authors=Kasm Tech "info@kasmweb.com" |
| LABEL com.kasmweb.image=true |
| LABEL com.kasmweb.gpu_acceleration_egl=nvidia |
| ARG START_XFCE4=1 |
| ARG START_PULSEAUDIO=1 |
| ARG BG_IMG=bg_kasm.png |
| ARG EXTRA_SH=noop.sh |
| ARG DISTRO=ubuntu |
| ARG LANG=en_US.UTF-8 |
| ARG LANGUAGE=en_US:en |
| ARG LC_ALL=en_US.UTF-8 |
| ENV DISPLAY=:1 VNC_PORT=5901 NO_VNC_PORT=6901 VNC_PORT=5901 AUDIO_PORT=4901 VNC_RESOLUTION=1280x720 MAX_FRAME_RATE=24 VNCOPTIONS=-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0 HOME=/home/kasm-default-profile TERM=xterm STARTUPDIR=/dockerstartup INST_SCRIPTS=/dockerstartup/install KASM_VNC_PATH=/usr/share/kasmvnc DEBIAN_FRONTEND=noninteractive VNC_COL_DEPTH=24 VNC_RESOLUTION=1280x1024 VNC_PW=vncpassword VNC_VIEW_ONLY_PW=vncviewonlypassword LD_LIBRARY_PATH=/usr/local/lib/ OMP_WAIT_POLICY=PASSIVE SHELL=/bin/bash START_XFCE4=1 START_PULSEAUDIO=1 LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 KASMVNC_AUTO_RECOVER=true PULSE_RUNTIME_PATH=/var/run/pulse |
| EXPOSE map[4901/tcp:{} 5901/tcp:{} 6901/tcp:{}] |
| WORKDIR /home/kasm-default-profile |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c mkdir -p $HOME/Desktop # buildkit |
| COPY ./src/ubuntu/install/maximize_script /dockerstartup/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit |
| ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:/usr/local/lib/:/usr/local/nvidia/lib:/usr/local/nvidia/lib64 |
| ENV NVIDIA_DRIVER_CAPABILITIES=graphics,compat32,utility |
| COPY src/ubuntu/install/nvidia/10_nvidia.json /usr/share/glvnd/egl_vendor.d/10_nvidia.json # buildkit |
| COPY ./src/ubuntu/install/fonts /dockerstartup/install/fonts/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/fonts/install_custom_fonts.sh && rm -rf $INST_SCRIPTS/fonts/ # buildkit |
| COPY ./src/ubuntu/install/xfce /dockerstartup/install/xfce/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/xfce/install_xfce_ui.sh && rm -rf $INST_SCRIPTS/xfce/ # buildkit |
| ADD ./src/ubuntu/xfce/.config/ /home/kasm-default-profile/.config/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c mkdir -p /usr/share/extra/backgrounds/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c mkdir -p /usr/share/extra/icons/ # buildkit |
| ADD /src/common/resources/images/bg_kasm.png /usr/share/extra/backgrounds/bg_kasm.png # buildkit |
| ADD /src/common/resources/images/bg_focal.png /usr/share/extra/backgrounds/bg_default.png # buildkit |
| ADD /src/common/resources/images/icon_ubuntu.png /usr/share/extra/icons/icon_ubuntu.png # buildkit |
| ADD /src/common/resources/images/icon_ubuntu.png /usr/share/extra/icons/icon_default.png # buildkit |
| ADD /src/common/resources/images/icon_kasm.png /usr/share/extra/icons/icon_kasm.png # buildkit |
| COPY ./src/ubuntu/install/kasm_vnc /dockerstartup/install/kasm_vnc/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/kasm_vnc/install_kasm_vnc.sh && rm -rf $INST_SCRIPTS/kasm_vnc/ # buildkit |
| COPY ./src/ubuntu/install/kasm_upload_server /dockerstartup/install/kasm_upload_server/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/kasm_upload_server/install_kasm_upload_server.sh && rm -rf $INST_SCRIPTS/kasm_upload_server/ # buildkit |
| COPY ./src/ubuntu/install/audio /dockerstartup/install/audio/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/audio/install_audio.sh && rm -rf $INST_SCRIPTS/audio/ # buildkit |
| COPY ./src/ubuntu/install/audio_input /dockerstartup/install/audio_input/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/audio_input/install_audio_input.sh && rm -rf $INST_SCRIPTS/audio_input/ # buildkit |
| COPY ./src/ubuntu/install/cursors /dockerstartup/install/cursors/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/cursors/install_cursors.sh && rm -rf $INST_SCRIPTS/cursors/ # buildkit |
| COPY /usr/local/squid /usr/local/squid # buildkit |
| COPY ./src/ubuntu/install/squid/install/ /dockerstartup/install/squid_install/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/squid_install/install_squid.sh && rm -rf $INST_SCRIPTS/squid_install/ # buildkit |
| COPY ./src/ubuntu/install/squid/resources/*.conf /etc/squid/ # buildkit |
| COPY ./src/ubuntu/install/squid/resources/start_squid.sh /etc/squid/start_squid.sh # buildkit |
| COPY ./src/ubuntu/install/squid/resources/SN.png /usr/local/squid/share/icons/SN.png # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c chown proxy:proxy /usr/local/squid/share/icons/SN.png # buildkit |
| COPY ./src/ubuntu/install/squid/resources/error_message/access_denied.html /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c chown proxy:proxy /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c rm -rf $INST_SCRIPTS/resources/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c chmod +x /etc/squid/kasm_squid_adapter # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c chmod +x /etc/squid/start_squid.sh && chmod 4755 /etc/squid/start_squid.sh # buildkit |
| COPY ./src/common/scripts/kasm_hook_scripts /dockerstartup # buildkit |
| ADD ./src/common/startup_scripts /dockerstartup # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $STARTUPDIR/set_user_permission.sh $STARTUPDIR $HOME # buildkit |
| COPY ./src/ubuntu/install/extra /dockerstartup/install/extra/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/extra/$EXTRA_SH && rm -rf $INST_SCRIPTS/extra/ # buildkit |
| COPY ./src/ubuntu/install/virtualgl /dockerstartup/install/virtualgl/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c bash $INST_SCRIPTS/virtualgl/install_virtualgl.sh && rm -rf $INST_SCRIPTS/virtualgl/ # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c groupadd -g 1000 ubuntu && useradd -u 1000 -g 1000 -m ubuntu && usermod -a -G ubuntu ubuntu # buildkit |
| ENV HOME=/home/kasm-user |
| WORKDIR /home/kasm-user |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c mkdir -p $HOME && chown -R 1000:0 $HOME # buildkit |
| RUN |8 START_XFCE4=1 START_PULSEAUDIO=1 BG_IMG=bg_focal.png EXTRA_SH=noop.sh DISTRO=ubuntu LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 /bin/sh -c touch $STARTUPDIR/wm.log && touch $STARTUPDIR/window_manager_startup.log && touch $STARTUPDIR/vnc_startup.log && touch $STARTUPDIR/no_vnc_startup.log && chown -R root:root $STARTUPDIR && find $STARTUPDIR -type d -exec chmod 755 {} \; && find $STARTUPDIR -type f -exec chmod 644 {} \; && find $STARTUPDIR -type f -iname "*.sh" -exec chmod 755 {} \; && find $STARTUPDIR -type f -iname "*.py" -exec chmod 755 {} \; && find $STARTUPDIR -type f -iname "*.rb" -exec chmod 755 {} \; && find $STARTUPDIR -type f -iname "*.pl" -exec chmod 755 {} \; && find $STARTUPDIR -type f -iname "*.log" -exec chmod 666 {} \; && chmod 755 $STARTUPDIR/upload_server/kasm_upload_server && chmod 755 $STARTUPDIR/audio_input/kasm_audio_input_server && chmod 755 $STARTUPDIR/generate_container_user && chmod +x $STARTUPDIR/jsmpeg/kasm_audio_out-linux && rm -rf $STARTUPDIR/install && mkdir -p $STARTUPDIR/kasmrx/Downloads && chown 1000:1000 $STARTUPDIR/kasmrx/Downloads && chown -R root:root /usr/local/bin && chown 1000:root /var/run/pulse # buildkit |
| USER ubuntu |
| ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh" "/dockerstartup/vnc_startup.sh" "/dockerstartup/kasm_startup.sh"] |
| CMD ["--wait"] |
| USER root |
| ENV HOME=/home/kasm-default-profile |
| ENV STARTUPDIR=/dockerstartup |
| WORKDIR /home/kasm-default-profile |
| RUN /bin/sh -c apt-get update && apt-get install -y python3-pip libasound2 libegl1-mesa libgl1-mesa-glx libxcomposite1 libxcursor1 libxi6 libxrandr2 libxss1 libxtst6 gdal-bin ffmpeg vlc dnsutils iputils-ping git remmina remmina-plugin-rdp # buildkit |
| COPY resources/install_python_packages.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_python_packages.sh # buildkit |
| COPY resources/install_anaconda.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_anaconda.sh # buildkit |
| USER 1000 |
| COPY resources/install_conda_packages.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_conda_packages.sh # buildkit |
| USER root |
| COPY resources/install_nvtop.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_nvtop.sh # buildkit |
| COPY resources/install_qgis.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_qgis.sh # buildkit |
| COPY resources/install_vscode.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_vscode.sh # buildkit |
| RUN /bin/sh -c cd /opt/ && wget https://download.jetbrains.com/python/pycharm-community-2021.1.1.tar.gz && tar xvf pycharm-community-*.tar.gz && rm -rf pycharm-community-*.tar.gz && mv /opt/pycharm-community-2021.1.1 /opt/pycharm # buildkit |
| COPY resources/install_chrome.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_chrome.sh # buildkit |
| COPY resources/install_edge.sh /tmp/ # buildkit |
| RUN /bin/sh -c bash /tmp/install_edge.sh # buildkit |
| COPY resources/spyder.desktop /home/kasm-default-profile/Desktop/ # buildkit |
| COPY resources/jupyter.desktop /home/kasm-default-profile/Desktop/ # buildkit |
| COPY resources/pycharm.desktop /home/kasm-default-profile/Desktop/ # buildkit |
| RUN /bin/sh -c cp /usr/share/applications/org.remmina.Remmina.desktop $HOME/Desktop/ && chmod +x $HOME/Desktop/org.remmina.Remmina.desktop && chown 1000:1000 $HOME/Desktop/org.remmina.Remmina.desktop # buildkit |
| RUN /bin/sh -c chown -R 1000:0 $HOME # buildkit |
| ENV HOME=/home/kasm-user |
| WORKDIR /home/kasm-user |
| RUN /bin/sh -c mkdir -p $HOME && chown -R 1000:0 $HOME # buildkit |
| USER 1000 |
| CMD ["--tail-log"] |