Loading MinimalMetaDesktop-noVNC/Dockerfile 0 → 100644 +112 −0 Original line number Diff line number Diff line FROM ubuntu:18.04 MAINTAINER Stefano Alberto Russo <stefano.russo@gmail.com> #---------------------- # Basics #---------------------- # Set non-interactive ENV DEBIAN_FRONTEND noninteractive # Update first of all RUN apt-get update # Utilities RUN apt-get install -y nano telnet unzip wget supervisor build-essential python-dev git-core openjdk-8-jre #------------------------ # "Meta" user #------------------------ # Add group. We chose GID 65527 to try avoiding conflicts. RUN groupadd -g 65527 metauser # Add user. We chose UID 65527 to try avoiding conflicts. RUN useradd metauser -d /home/metauser -u 65527 -g 65527 -m -s /bin/bash # Add metuaser user to sudoers RUN adduser metauser sudo # Install suodo RUN apt-get install sudo -y # No pass sudo (for everyone, actually) COPY files/sudoers /etc/sudoers #------------------------ # Supervisor conf #------------------------ # Supervisord conf COPY files/supervisord.conf /etc/supervisor/ #------------------------ # VNC #------------------------ # Install xvfb that triggers minimal install of X base packages and xterm as sample application RUN apt-get install xvfb xterm -y # Install base packages for VNC server and headless desktop (2) COPY files/tigervnc-1.8.0.x86_64.tar.gz /opt/tigervnc-1.8.0.x86_64.tar.gz RUN cd /opt && tar -zxvf tigervnc-1.8.0.x86_64.tar.gz && mv tigervnc-1.8.0.x86_64 tigervnc # Supervisord configuration COPY files/supervisord_vnc.conf /etc/supervisor/conf.d/ COPY files/run_vnc.sh /etc/supervisor/conf.d/ COPY files/run_novnc.sh /etc/supervisor/conf.d/ RUN chmod 755 /etc/supervisor/conf.d/run_vnc.sh RUN chmod 755 /etc/supervisor/conf.d/run_novnc.sh # Web VNC (noVNC) v0.6.1. # NOTE: this is a custom version from Doro Wu (fcwu.tw@gmail.com). # TODO: Check differences and maybe move to 0.6.2 COPY files/noVNC.tar.gz /usr/lib/ RUN cd /usr/lib/ && tar -zxvf noVNC.tar.gz COPY files/index.html /usr/lib/noVNC RUN apt-get install -y net-tools # Supervisord configuration COPY files/supervisord_novnc.conf /etc/supervisor/conf.d/ # X environment setup/startup RUN apt-get install fluxbox -y COPY files/xstartup /opt/tigervnc/ RUN chmod 755 /opt/tigervnc/xstartup # Prepare for logs RUN mkdir /home/metauser/.logs && chown metauser:metauser /home/metauser/.logs # Rename metauser home folder as a "vanilla" home folder RUN mv /home/metauser /metauser_home_vanilla # Add fluxbox customisations COPY files/dot_fluxbox /metauser_home_vanilla/.fluxbox RUN chown -R metauser:metauser /metauser_home_vanilla/.fluxbox COPY files/background.jpg /usr/share/images/fluxbox/background.jpg # Give write access to anyone to the home folder so the entrypoint will be able # to copy over the /home/matauser_vanilla into /home/metauser (for Singularity) RUN chmod 777 /home #---------------------- # Entrypoint #---------------------- # Copy entrypoint COPY files/entrypoint.sh / # Give right permissions RUN chmod 755 /entrypoint.sh # Set entrypoint ENTRYPOINT ["/entrypoint.sh"] # Set user (mainly for Singularity) USER metauser # To access: expose 8590/tcp and 5900/tcp ENV CONTAINER_NAME='minimalmetadesktop' MinimalMetaDesktop-noVNC/build.sh 0 → 100755 +3 −0 Original line number Diff line number Diff line #!/bin/bash docker build . -t minimalmetadesktop MinimalMetaDesktop-noVNC/files/background.jpg 0 → 100644 +9.96 KiB Loading image diff... MinimalMetaDesktop-noVNC/files/dot_fluxbox/apps 0 → 100644 +4 −0 Original line number Diff line number Diff line [app] (name=fbrun) [Position] (WINCENTER) {0 0} [Layer] {2} [end] MinimalMetaDesktop-noVNC/files/dot_fluxbox/init 0 → 100644 +76 −0 Original line number Diff line number Diff line session.screen0.tabs.usePixmap: true session.screen0.tabs.maxOver: false session.screen0.tabs.intitlebar: true session.screen0.clientMenu.usePixmap: true session.screen0.iconbar.usePixmap: true session.screen0.iconbar.iconTextPadding: 10 session.screen0.iconbar.iconWidth: 128 session.screen0.iconbar.alignment: Relative session.screen0.iconbar.mode: {static groups} (workspace) session.screen0.toolbar.visible: true session.screen0.toolbar.height: 0 session.screen0.toolbar.onhead: 1 session.screen0.toolbar.widthPercent: 100 session.screen0.toolbar.alpha: 255 session.screen0.toolbar.maxOver: false session.screen0.toolbar.autoHide: false session.screen0.toolbar.layer: Dock session.screen0.toolbar.placement: BottomCenter #session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, clock, prevwindow, nextwindow, iconbar, systemtray session.screen0.toolbar.tools: iconbar, systemtray session.screen0.menu.alpha: 255 session.screen0.tab.placement: TopLeft session.screen0.tab.width: 64 session.screen0.titlebar.left: Stick session.screen0.titlebar.right: Minimize Maximize Close session.screen0.window.focus.alpha: 255 session.screen0.window.unfocus.alpha: 255 session.screen0.slit.alpha: 255 session.screen0.slit.maxOver: false session.screen0.slit.placement: RightBottom session.screen0.slit.autoHide: false session.screen0.slit.acceptKdeDockapps: true session.screen0.slit.onhead: 0 session.screen0.slit.layer: Dock session.screen0.colPlacementDirection: TopToBottom session.screen0.tabFocusModel: ClickToTabFocus session.screen0.autoRaise: true session.screen0.maxDisableMove: false session.screen0.edgeSnapThreshold: 10 session.screen0.tooltipDelay: 500 session.screen0.opaqueMove: true session.screen0.windowPlacement: RowMinOverlapPlacement session.screen0.focusNewWindows: true session.screen0.clickRaises: true session.screen0.maxDisableResize: false session.screen0.windowMenu: /home/metauser/.fluxbox/windowmenu session.screen0.allowRemoteActions: false session.screen0.strftimeFormat: %d %b, %a %02k:%M:%S session.screen0.focusSameHead: false session.screen0.workspacewarping: true session.screen0.fullMaximization: false session.screen0.defaultDeco: NORMAL session.screen0.noFocusWhileTypingDelay: 0 session.screen0.menuDelay: 200 session.screen0.workspaceNames: Workspace 1,Workspace 2,Workspace 3,Workspace 4, session.screen0.rowPlacementDirection: LeftToRight session.screen0.focusModel: ClickFocus session.screen0.showwindowposition: false session.screen0.maxIgnoreIncrement: true session.screen0.workspaces: 1 session.styleOverlay: /home/metauser/.fluxbox/overlay session.keyFile: ~/.fluxbox/keys session.cacheMax: 200 session.tabsAttachArea: Window session.slitlistFile: /home/metauser/.fluxbox/slitlist session.forcePseudoTransparency: false session.tabPadding: 0 session.colorsPerChannel: 4 session.styleFile: /usr/share/fluxbox/styles//ubuntu-light session.autoRaiseDelay: 250 session.cacheLife: 5 session.appsFile: /home/metauser/.fluxbox/apps session.ignoreBorder: false session.configVersion: 13 session.doubleClickInterval: 250 session.menuFile: ~/.fluxbox/menu Loading
MinimalMetaDesktop-noVNC/Dockerfile 0 → 100644 +112 −0 Original line number Diff line number Diff line FROM ubuntu:18.04 MAINTAINER Stefano Alberto Russo <stefano.russo@gmail.com> #---------------------- # Basics #---------------------- # Set non-interactive ENV DEBIAN_FRONTEND noninteractive # Update first of all RUN apt-get update # Utilities RUN apt-get install -y nano telnet unzip wget supervisor build-essential python-dev git-core openjdk-8-jre #------------------------ # "Meta" user #------------------------ # Add group. We chose GID 65527 to try avoiding conflicts. RUN groupadd -g 65527 metauser # Add user. We chose UID 65527 to try avoiding conflicts. RUN useradd metauser -d /home/metauser -u 65527 -g 65527 -m -s /bin/bash # Add metuaser user to sudoers RUN adduser metauser sudo # Install suodo RUN apt-get install sudo -y # No pass sudo (for everyone, actually) COPY files/sudoers /etc/sudoers #------------------------ # Supervisor conf #------------------------ # Supervisord conf COPY files/supervisord.conf /etc/supervisor/ #------------------------ # VNC #------------------------ # Install xvfb that triggers minimal install of X base packages and xterm as sample application RUN apt-get install xvfb xterm -y # Install base packages for VNC server and headless desktop (2) COPY files/tigervnc-1.8.0.x86_64.tar.gz /opt/tigervnc-1.8.0.x86_64.tar.gz RUN cd /opt && tar -zxvf tigervnc-1.8.0.x86_64.tar.gz && mv tigervnc-1.8.0.x86_64 tigervnc # Supervisord configuration COPY files/supervisord_vnc.conf /etc/supervisor/conf.d/ COPY files/run_vnc.sh /etc/supervisor/conf.d/ COPY files/run_novnc.sh /etc/supervisor/conf.d/ RUN chmod 755 /etc/supervisor/conf.d/run_vnc.sh RUN chmod 755 /etc/supervisor/conf.d/run_novnc.sh # Web VNC (noVNC) v0.6.1. # NOTE: this is a custom version from Doro Wu (fcwu.tw@gmail.com). # TODO: Check differences and maybe move to 0.6.2 COPY files/noVNC.tar.gz /usr/lib/ RUN cd /usr/lib/ && tar -zxvf noVNC.tar.gz COPY files/index.html /usr/lib/noVNC RUN apt-get install -y net-tools # Supervisord configuration COPY files/supervisord_novnc.conf /etc/supervisor/conf.d/ # X environment setup/startup RUN apt-get install fluxbox -y COPY files/xstartup /opt/tigervnc/ RUN chmod 755 /opt/tigervnc/xstartup # Prepare for logs RUN mkdir /home/metauser/.logs && chown metauser:metauser /home/metauser/.logs # Rename metauser home folder as a "vanilla" home folder RUN mv /home/metauser /metauser_home_vanilla # Add fluxbox customisations COPY files/dot_fluxbox /metauser_home_vanilla/.fluxbox RUN chown -R metauser:metauser /metauser_home_vanilla/.fluxbox COPY files/background.jpg /usr/share/images/fluxbox/background.jpg # Give write access to anyone to the home folder so the entrypoint will be able # to copy over the /home/matauser_vanilla into /home/metauser (for Singularity) RUN chmod 777 /home #---------------------- # Entrypoint #---------------------- # Copy entrypoint COPY files/entrypoint.sh / # Give right permissions RUN chmod 755 /entrypoint.sh # Set entrypoint ENTRYPOINT ["/entrypoint.sh"] # Set user (mainly for Singularity) USER metauser # To access: expose 8590/tcp and 5900/tcp ENV CONTAINER_NAME='minimalmetadesktop'
MinimalMetaDesktop-noVNC/build.sh 0 → 100755 +3 −0 Original line number Diff line number Diff line #!/bin/bash docker build . -t minimalmetadesktop
MinimalMetaDesktop-noVNC/files/dot_fluxbox/apps 0 → 100644 +4 −0 Original line number Diff line number Diff line [app] (name=fbrun) [Position] (WINCENTER) {0 0} [Layer] {2} [end]
MinimalMetaDesktop-noVNC/files/dot_fluxbox/init 0 → 100644 +76 −0 Original line number Diff line number Diff line session.screen0.tabs.usePixmap: true session.screen0.tabs.maxOver: false session.screen0.tabs.intitlebar: true session.screen0.clientMenu.usePixmap: true session.screen0.iconbar.usePixmap: true session.screen0.iconbar.iconTextPadding: 10 session.screen0.iconbar.iconWidth: 128 session.screen0.iconbar.alignment: Relative session.screen0.iconbar.mode: {static groups} (workspace) session.screen0.toolbar.visible: true session.screen0.toolbar.height: 0 session.screen0.toolbar.onhead: 1 session.screen0.toolbar.widthPercent: 100 session.screen0.toolbar.alpha: 255 session.screen0.toolbar.maxOver: false session.screen0.toolbar.autoHide: false session.screen0.toolbar.layer: Dock session.screen0.toolbar.placement: BottomCenter #session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, clock, prevwindow, nextwindow, iconbar, systemtray session.screen0.toolbar.tools: iconbar, systemtray session.screen0.menu.alpha: 255 session.screen0.tab.placement: TopLeft session.screen0.tab.width: 64 session.screen0.titlebar.left: Stick session.screen0.titlebar.right: Minimize Maximize Close session.screen0.window.focus.alpha: 255 session.screen0.window.unfocus.alpha: 255 session.screen0.slit.alpha: 255 session.screen0.slit.maxOver: false session.screen0.slit.placement: RightBottom session.screen0.slit.autoHide: false session.screen0.slit.acceptKdeDockapps: true session.screen0.slit.onhead: 0 session.screen0.slit.layer: Dock session.screen0.colPlacementDirection: TopToBottom session.screen0.tabFocusModel: ClickToTabFocus session.screen0.autoRaise: true session.screen0.maxDisableMove: false session.screen0.edgeSnapThreshold: 10 session.screen0.tooltipDelay: 500 session.screen0.opaqueMove: true session.screen0.windowPlacement: RowMinOverlapPlacement session.screen0.focusNewWindows: true session.screen0.clickRaises: true session.screen0.maxDisableResize: false session.screen0.windowMenu: /home/metauser/.fluxbox/windowmenu session.screen0.allowRemoteActions: false session.screen0.strftimeFormat: %d %b, %a %02k:%M:%S session.screen0.focusSameHead: false session.screen0.workspacewarping: true session.screen0.fullMaximization: false session.screen0.defaultDeco: NORMAL session.screen0.noFocusWhileTypingDelay: 0 session.screen0.menuDelay: 200 session.screen0.workspaceNames: Workspace 1,Workspace 2,Workspace 3,Workspace 4, session.screen0.rowPlacementDirection: LeftToRight session.screen0.focusModel: ClickFocus session.screen0.showwindowposition: false session.screen0.maxIgnoreIncrement: true session.screen0.workspaces: 1 session.styleOverlay: /home/metauser/.fluxbox/overlay session.keyFile: ~/.fluxbox/keys session.cacheMax: 200 session.tabsAttachArea: Window session.slitlistFile: /home/metauser/.fluxbox/slitlist session.forcePseudoTransparency: false session.tabPadding: 0 session.colorsPerChannel: 4 session.styleFile: /usr/share/fluxbox/styles//ubuntu-light session.autoRaiseDelay: 250 session.cacheLife: 5 session.appsFile: /home/metauser/.fluxbox/apps session.ignoreBorder: false session.configVersion: 13 session.doubleClickInterval: 250 session.menuFile: ~/.fluxbox/menu