| ADD file:eb6a3def1f69e76655620640e610015f285bc23c97e89855feb1f0548309d518 in / |
| CMD ["bash"] |
| LABEL maintainer=Josh.5 <jsunnex@gmail.com> |
| ARG DEBIAN_FRONTEND=noninteractive |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && sed -i '/^Components: main/ s/$/ contrib non-free/' /etc/apt/sources.list.d/debian.sources && echo # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install and configure locals ****" && apt-get install -y --no-install-recommends locales && echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && locale-gen && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install certificates ****" && apt-get install -y --reinstall ca-certificates && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install tools ****" && apt-get install -y --no-install-recommends bash bash-completion curl git jq less man-db mlocate nano net-tools p7zip-full patch pciutils pkg-config procps psmisc psutils rsync screen sudo unzip vim wget xmlstarlet xz-utils && echo "**** Install python ****" && apt-get install -y --no-install-recommends python3 python3-numpy python3-pip python3-setuptools python3-venv && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| ENV PUID=99 PGID=100 UMASK=000 USER=default USER_PASSWORD=password USER_HOME=/home/default TZ=Pacific/Auckland USER_LOCALES=en_US.UTF-8 UTF-8 |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Configure default user '${USER}' ****" && mkdir -p ${USER_HOME} && useradd -d ${USER_HOME} -s /bin/bash ${USER} && chown -R ${USER} ${USER_HOME} && echo "${USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && echo # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install supervisor ****" && apt-get install -y supervisor && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| ENV XORG_SOCKET_DIR=/tmp/.X11-unix XDG_RUNTIME_DIR=/tmp/.X11-unix/run XDG_SESSION_TYPE=x11 FORCE_X11_DUMMY_CONFIG=false |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install X Server requirements ****" && apt-get install -y --no-install-recommends avahi-utils dbus-x11 libxcomposite-dev libxcursor1 wmctrl libfuse2 x11-utils x11-xfs-utils x11-xkb-utils x11-xserver-utils x11vnc xauth xbindkeys xclip xcvt xdotool xfishtank xfonts-base xinit xorg xserver-xorg-core xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-legacy xserver-xorg-video-all xserver-xorg-video-dummy && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| ENV PULSE_SOCKET_DIR=/tmp/pulse PULSE_SERVER=unix:/tmp/pulse/pulse-socket |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install pulseaudio requirements ****" && apt-get install -y --no-install-recommends pulseaudio alsa-utils libasound2 libasound2-plugins && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install desktop requirements ****" && apt-get install -y --no-install-recommends libdbus-1-3 libegl1 libgtk-3-0 libgtk2.0-0 libsdl2-2.0-0 && echo "**** Install desktop environment ****" && apt-get install -y fonts-vlgothic gedit imagemagick msttcorefonts xdg-utils xfce4 xfce4-terminal && rm -f /usr/share/applications/software-properties-drivers.desktop /usr/share/applications/xfce4-about.desktop /usr/share/applications/xfce4-session-logout.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/xfce4-accessibility-settings.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/xfce4-color-settings.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/xfce4-mail-reader.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/xfce4-web-browser.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/vim.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/thunar-settings.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/thunar.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/pavucontrol.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/x11vnc.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/display-im6.q16.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/debian-xterm.desktop && sed -i '/[Desktop Entry]/a\NoDisplay=true' /usr/share/applications/debian-uxterm.desktop && sed -i 's/^Categories=.*$/Categories=System;/' /usr/share/applications/xfce4-appfinder.desktop && sed -i 's/^Categories=.*$/Categories=System;/' /usr/share/applications/thunar-bulk-rename.desktop && sed -i 's/^Categories=.*$/Categories=System;/' /usr/share/applications/org.gnome.gedit.desktop && echo "**** Install WoL Manager requirements ****" && apt-get install -y tcpdump xprintidle && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| ENV XDG_DATA_DIRS=/home/default/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/ |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install flatpak support ****" && apt-get install -y --no-install-recommends flatpak gnome-software-plugin-flatpak && echo "**** Configure flatpak ****" && flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo && dpkg-statoverride --update --add root root 0755 /usr/bin/bwrap && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| COPY /usr/bin/neko /usr/bin/neko # buildkit |
| COPY /var/www /var/www # buildkit |
| ARG FRONTEND_VERSION=a8eb92f |
| RUN |2 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f /bin/sh -c echo "**** Fetch Web Frontend ****" && mkdir -p /opt && cd /opt && rm -rf /opt/frontend && git clone https://github.com/Steam-Headless/frontend.git --branch master /opt/frontend && cd /opt/frontend && git checkout ${FRONTEND_VERSION} 2> /dev/null && git submodule init && git submodule update --depth 1 --recursive && rm -rf /opt/frontend/.git && echo "**** Configure Web Frontend ****" && echo '<!DOCTYPE html>' > /opt/frontend/index.html && echo '<html><head><meta http-equiv="refresh" content="0;url=./web/"></head><body><p>If you are not redirected, <a href="./web/">click here</a>.</p></body></html>' >> /opt/frontend/index.html && chmod -R 755 /opt/frontend && convert /opt/frontend/web/images/icons/novnc-ios-180.png -resize "128x128" /tmp/steam-headless.png && xdg-icon-resource install --novendor --size 128 /tmp/steam-headless.png && echo "**** Section cleanup ****" && rm -f /tmp/steam-headless.png # buildkit |
| ARG WEBSOCKETIFY_VERSION=0.11.0 |
| RUN |3 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install Websockify dependencies ****" && apt-get install -y python3-numpy python3-requests python3-jwcrypto python3-redis && echo "**** Fetch Websockify ****" && cd /tmp && wget -O /tmp/websockify.tar.gz https://github.com/novnc/websockify/archive/v${WEBSOCKETIFY_VERSION}.tar.gz && echo "**** Extract Websockify ****" && cd /tmp && tar -xvf /tmp/websockify.tar.gz && echo "**** Install Websockify to Web Frontend path ****" && cd /tmp && mv -v /tmp/websockify-${WEBSOCKETIFY_VERSION} /opt/frontend/utils/websockify && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /tmp/websockify-* /tmp/websockify.tar.gz # buildkit |
| RUN |3 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install audio streaming deps ****" && apt-get install -y --no-install-recommends bzip2 gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-qt5 gstreamer1.0-tools gstreamer1.0-vaapi gstreamer1.0-x libgstreamer1.0-0 libncursesw5 libopenal1 libsdl-image1.2 libsdl-ttf2.0-0 libsdl1.2debian libsndfile1 ucspi-tcp && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| RUN |3 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install Intel media drivers and VAAPI ****" && apt-get install -y --no-install-recommends intel-media-va-driver-non-free i965-va-driver-shaders libva2 && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| RUN |3 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install useful HW monitoring tools ****" && apt-get install -y --no-install-recommends cpu-x htop vainfo vdpauinfo && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| COPY /sunshine.deb /usr/src/sunshine.deb # buildkit |
| RUN |3 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 /bin/sh -c echo "**** Update apt database ****" && apt-get update && echo "**** Install Sunshine requirements ****" && apt-get install -y va-driver-all && echo "**** Install Sunshine ****" && apt-get install -y /usr/src/sunshine.deb && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| RUN |3 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 /bin/sh -c echo "**** Update apt database ****" && dpkg --add-architecture i386 && apt-get update && echo "**** Install Steam ****" && apt-get install -y --no-install-recommends steam-installer && ln -sf /usr/games/steam /usr/bin/steam && echo "**** Section cleanup ****" && apt-get clean autoclean -y && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* /var/tmp/* /tmp/* && echo # buildkit |
| ARG DUMB_INIT_VERSION=1.2.5 |
| ARG DUMB_UDEV_VERSION=64d1427 |
| RUN |5 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 DUMB_INIT_VERSION=1.2.5 DUMB_UDEV_VERSION=64d1427 /bin/sh -c echo "**** Install dumb-init ****" && wget --no-check-certificate --no-cookies --quiet -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 && chmod +x /usr/bin/dumb-init && echo "**** Install dumb-udev ****" && python3 -m pip install --break-system-packages --pre --upgrade --no-cache-dir git+https://github.com/Steam-Headless/dumb-udev.git@${DUMB_UDEV_VERSION} && echo # buildkit |
| COPY overlay / # buildkit |
| ENV DISPLAY_CDEPTH=24 DISPLAY_REFRESH=120 DISPLAY_SIZEH=900 DISPLAY_SIZEW=1600 DISPLAY_VIDEO_PORT=DFP DISPLAY=:55 |
| ENV NVIDIA_DRIVER_CAPABILITIES=all NVIDIA_VISIBLE_DEVICES=all |
| ENV MODE=primary WEB_UI_MODE=vnc ENABLE_VNC_AUDIO=true NEKO_PASSWORD=neko NEKO_PASSWORD_ADMIN=admin ENABLE_STEAM=true STEAM_ARGS=-silent ENABLE_SUNSHINE=true ENABLE_EVDEV_INPUTS=true ENABLE_WOL_POWER_MANAGER=false |
| ENV PORT_NOVNC_WEB=8083 NEKO_NAT1TO1= |
| EXPOSE map[8083/tcp:{}] |
| RUN |5 DEBIAN_FRONTEND=noninteractive FRONTEND_VERSION=a8eb92f WEBSOCKETIFY_VERSION=0.11.0 DUMB_INIT_VERSION=1.2.5 DUMB_UDEV_VERSION=64d1427 /bin/sh -c chmod +x /entrypoint.sh # buildkit |
| ENTRYPOINT ["/entrypoint.sh"] |