sindri (coder-xfce-vnc-latest)
Installation
docker pull git.van-hemmen.com/actions/sindri:coder-xfce-vnc-latestsha256:ed47724c12312ac560059db8b4da5f5fc1c3b1fbd46731e06a48faadf6a85d46Image layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:46ac5b8ee4c64ad9ebe840abd5619f571a617ac19483764d47d0eeba7907934f in / |
| CMD ["/bin/bash"] |
| RUN ln -snf "/usr/share/zoneinfo/${ARG_TZ}" /etc/localtime && echo "${ARG_TZ}" > /etc/timezone && apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests apt-transport-https apt-utils ca-certificates gnupg lsb-release software-properties-common bash curl wget sudo locales procps htop time tree man nano vim dbus systemd systemd-sysv dnsutils iproute2 iputils-ping netcat-openbsd net-tools openssh-client sshpass telnet rsync zip unzip p7zip-full p7zip-rar tar gzip pigz lz4 xz-utils bzip2 brotli build-essential git git-lfs glab fzf bat mercurial jq parallel shellcheck make autoconf automake pkg-config libtool swig patchelf m4 pipx python3 python3-pip mediainfo upx-ucl && locale-gen en_US.UTF-8 && curl -fsSL https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && chmod 0644 /usr/share/keyrings/azul.gpg && echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" > /etc/apt/sources.list.d/zulu.list && apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests "zulu${AZUL_JAVA_MAJOR}-jdk" && ln -sfn "$(dirname "$(dirname "$(readlink -f "$(command -v java)")")")" /opt/java && apt-get clean && rm -rf /var/lib/apt/lists/* |
| RUN curl -fsSL --connect-timeout 30 --retry 5 --retry-delay 10 --retry-all-errors -o /usr/local/bin/firebase "https://github.com/firebase/firebase-tools/releases/download/v${FIREBASE_VERSION}/firebase-tools-linux" && chmod +x /usr/local/bin/firebase && firebase --version |
| RUN if getent passwd ubuntu >/dev/null; then userdel -r ubuntu; fi && if getent group ubuntu >/dev/null; then groupdel ubuntu; fi && groupadd --gid "${USER_GID}" "${USER_NAME}" && useradd "${USER_NAME}" --uid "${USER_UID}" --gid "${USER_GID}" --create-home --shell /bin/bash --groups sudo && echo "${USER_NAME} ALL=(ALL) NOPASSWD:ALL" > "/etc/sudoers.d/${USER_NAME}" && chmod 0440 "/etc/sudoers.d/${USER_NAME}" && mkdir -p "${PROJECTS_DIR}" && chown -R "${USER_NAME}:${USER_NAME}" "${PROJECTS_DIR}" |
| COPY --chmod=0755 scripts/coder-init.sh /usr/local/bin/coder-init |
| COPY --chmod=0755 scripts/update-k8s-tools.sh /usr/local/bin/update-k8s-tools |
| RUN pipx ensurepath |
| RUN apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests dbus-x11 fonts-dejavu fonts-noto-color-emoji novnc tigervnc-common tigervnc-standalone-server websockify x11-xkb-utils x11-xserver-utils xauth xfonts-base xfce4 xfce4-terminal xterm && apt-get clean && rm -rf /var/lib/apt/lists/* |
| RUN printf '%s\n' '<!doctype html><script>' 'var d=location.pathname.replace(/[^\/]*$/,"");' 'location.replace("vnc.html?autoconnect=1&resize=remote&path="+encodeURIComponent(d.replace(/^\//,"")+"websockify"));' '</script>' > /usr/share/novnc/index.html |
| RUN install -d -m 0755 /etc/apt/keyrings && curl -fsSL https://packages.mozilla.org/apt/repo-signing-key.gpg -o /etc/apt/keyrings/packages.mozilla.org.asc && echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" > /etc/apt/sources.list.d/mozilla.list && printf '%s\n' 'Package: *' 'Pin: origin packages.mozilla.org' 'Pin-Priority: 1000' > /etc/apt/preferences.d/mozilla && apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests firefox && apt-get clean && rm -rf /var/lib/apt/lists/* |
| RUN apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests libreoffice libreoffice-gtk3 hunspell-en-us hunspell-en-gb hunspell-fr && apt-get clean && rm -rf /var/lib/apt/lists/* |
| RUN apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests libfuse2t64 && apt-get clean && rm -rf /var/lib/apt/lists/* && tba_url="$(curl -fsSL 'https://data.services.jetbrains.com/products/releases?code=TBA&latest=true&type=release&platform=linux' | jq -r '.TBA[0].downloads.linux.link')" && curl -fsSL "${tba_url}" -o /tmp/toolbox.tar.gz && mkdir -p /opt/jetbrains-toolbox && tar -xzf /tmp/toolbox.tar.gz --strip-components=1 -C /opt/jetbrains-toolbox && rm /tmp/toolbox.tar.gz && test -x /opt/jetbrains-toolbox/bin/jetbrains-toolbox && ln -sf /opt/jetbrains-toolbox/bin/jetbrains-toolbox /usr/local/bin/jetbrains-toolbox |
| RUN curl -fsSL https://downloads.k8slens.dev/keys/gpg | gpg --dearmor -o /usr/share/keyrings/lens-archive-keyring.gpg && chmod 0644 /usr/share/keyrings/lens-archive-keyring.gpg && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/lens-archive-keyring.gpg] https://downloads.k8slens.dev/apt/debian stable main" > /etc/apt/sources.list.d/lens.list && apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests lens && apt-get clean && rm -rf /var/lib/apt/lists/* && test -x "$(readlink -f /usr/bin/lens-desktop)" && install -d /usr/local/share/applications && sed -e 's|^Exec=/opt/Lens/lens-desktop|Exec=/usr/local/bin/lens-desktop|' -e 's|^Categories=.*|Categories=Development;|' /usr/share/applications/lens-desktop.desktop > /usr/local/share/applications/lens-desktop.desktop && grep -q '^Exec=/usr/local/bin/lens-desktop' /usr/local/share/applications/lens-desktop.desktop && grep -q '^Categories=Development;' /usr/local/share/applications/lens-desktop.desktop |
| RUN curl -fsSL https://pkg.claude-desktop-debian.dev/KEY.gpg | gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg && chmod 0644 /usr/share/keyrings/claude-desktop.gpg && echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop.gpg] https://pkg.claude-desktop-debian.dev stable main" > /etc/apt/sources.list.d/claude-desktop.list && apt-get update && apt-get install --yes --no-install-recommends --no-install-suggests claude-desktop && apt-get clean && rm -rf /var/lib/apt/lists/* && test -x /usr/bin/claude-desktop && install -d /usr/local/share/applications && sed -e 's|^Exec=/usr/bin/claude-desktop|Exec=/usr/local/bin/claude-desktop|' -e 's|^Categories=.*|Categories=Development;|' /usr/share/applications/claude-desktop.desktop > /usr/local/share/applications/claude-desktop.desktop && grep -q '^Exec=/usr/local/bin/claude-desktop' /usr/local/share/applications/claude-desktop.desktop && grep -q '^Categories=Development;' /usr/local/share/applications/claude-desktop.desktop |
| RUN curl -fL --retry 3 -o /tmp/Nimbalyst-Linux.AppImage https://github.com/nimbalyst/nimbalyst/releases/latest/download/Nimbalyst-Linux.AppImage && chmod +x /tmp/Nimbalyst-Linux.AppImage && ( cd /tmp && /tmp/Nimbalyst-Linux.AppImage --appimage-extract >/dev/null ) && mv /tmp/squashfs-root /opt/nimbalyst && rm /tmp/Nimbalyst-Linux.AppImage && chmod -R a+rX /opt/nimbalyst && test -x /opt/nimbalyst/AppRun && test -x /opt/nimbalyst/@nimbalystelectron && test -f /opt/nimbalyst/@nimbalystelectron.desktop && sed -e 's|^Exec=.*|Exec=/usr/local/bin/nimbalyst %U|' -e 's|^Icon=.*|Icon=/opt/nimbalyst/@nimbalystelectron.png|' -e 's|^Categories=.*|Categories=Development;|' /opt/nimbalyst/@nimbalystelectron.desktop > /usr/share/applications/nimbalyst.desktop && grep -q '^Exec=/usr/local/bin/nimbalyst' /usr/share/applications/nimbalyst.desktop && grep -q '^Categories=Development;' /usr/share/applications/nimbalyst.desktop |
| COPY --chmod=0644 scripts/jetbrains-toolbox.desktop /usr/share/applications/jetbrains-toolbox.desktop |
| COPY --chmod=0755 scripts/lens-desktop-wrapper.sh /usr/local/bin/lens-desktop |
| COPY --chmod=0755 scripts/claude-desktop-wrapper.sh /usr/local/bin/claude-desktop |
| COPY --chmod=0755 scripts/nimbalyst-wrapper.sh /usr/local/bin/nimbalyst |
| COPY --chmod=0755 scripts/start-xfce-vnc.sh /usr/local/bin/start-xfce-vnc |
| COPY --chmod=0755 scripts/coder-init-desktop.sh /usr/local/bin/coder-init-desktop |
Labels
| Key | Value |
|---|---|
| maintainer | guillaume@van-hemmen.com |
| org.opencontainers.image.version | 24.04 |
Details
Versions (21)
View all
coder-xfce-vnc-latest
2026-06-21
coder-xfce-vnc-26.25.1
2026-06-21
ci-latest
2026-06-21
latest
2026-06-21
ci-26.25.1
2026-06-21