• 26.30.0 018739bd48

    26.30.0
    All checks were successful
    / docker-tag-ci (push) Successful in 5m39s
    / docker-tag-coder (push) Successful in 6m15s
    / docker-tag-coder-xfce-vnc (push) Successful in 24m15s
    Stable

    GuillaumeHemmen released this 2026-07-24 07:12:28 +00:00 | 0 commits to master since this release

    What's new in 26.30.0

    A build-breaking upstream package rename fixed by moving Claude Desktop to Anthropic's official APT repo, plus Kubernetes manifest QA tooling in every variant.

    Claude Desktop now installs from Anthropic's official APT repo (#19)

    Anthropic released an official Claude Desktop for Linux beta and took the claude-desktop package name with it. The community claude-desktop-debian repack this image used therefore renamed itself to claude-desktop-unofficial, leaving claude-desktop behind as a transitional dummy — so apt-get install claude-desktop kept succeeding while every path the build asserted had moved. This broke the coder-xfce-vnc build on every branch from 2026-07-22.

    The coder-xfce-vnc variant now installs Anthropic's official package — same upstream app at the same version (1.24012.0), one fewer third-party repo — with the published signing-key fingerprint asserted before the key is trusted.

    Because Anthropic's deb symlinks /usr/bin/claude-desktop straight to the bundled Electron binary, where the community repack shipped a shell launcher, /usr/local/bin/claude-desktop is now the only place the unprivileged-pod settings (ELECTRON_DISABLE_SANDBOX=1, --disable-dev-shm-usage) get applied. The desktop-entry override follows upstream's com.anthropic.Claude.desktop, and its New chat / New Claude Code session actions are wrapper-routed too.

    Workspaces on a long-lived PVC self-heal: coder-init-desktop.sh now parks stale user-local entries under all three known names (claude-desktop.desktop, claude-desktop-unofficial.desktop, com.anthropic.Claude.desktop).

    Linux support is an Anthropic-labelled beta: no Computer Use, no dictation, Debian-based distributions only.

    kubeconform + kube-linter in the base image (#18)

    Installs kubeconform (manifest schema validation) and kube-linter (lint) as pinned prebuilt binaries in the base stage, so the ci, coder, and coder-xfce-vnc variants all ship them. This replaces a per-job actions/setup-go + go install …@latest — a Go-toolchain download plus a from-source compile of each tool on every run — with binaries present at job start.

    Full changelog: 26.25.1...26.30.0

    Downloads
  • 26.25.1 80b73d32e7

    26.25.1
    All checks were successful
    / docker-tag-coder (push) Successful in 4m41s
    / docker-tag-ci (push) Successful in 5m58s
    / docker-tag-coder-xfce-vnc (push) Successful in 16m10s
    Stable

    GuillaumeHemmen released this 2026-06-21 18:57:28 +00:00 | 2 commits to master since this release

    What's new in 26.25.1

    The Firebase CLI is now available in every variant.

    Firebase CLI (#16)

    Installs firebase-tools (the standalone binary, which bundles its own Node runtime) in the base stage, so the ci, coder, and coder-xfce-vnc variants all ship the firebase command. Combined with the Azul Zulu JDK already in the base, this enables firebase deploy and the Firebase Emulator Suite (for example Firestore security-rules unit-testing) in CI — no separate image needed.

    Full changelog: 26.25.0...26.25.1

    Downloads
  • 26.25.0 8d7cc385f6

    26.25.0
    All checks were successful
    / docker-tag-coder (push) Successful in 3m9s
    / docker-tag-ci (push) Successful in 3m25s
    / docker-tag-coder-xfce-vnc (push) Successful in 8m44s
    Stable

    GuillaumeHemmen released this 2026-06-20 14:58:49 +00:00 | 3 commits to master since this release

    What's new in 26.25.0

    Two applications added to the coder-xfce-vnc desktop variant, plus an XFCE menu tidy-up.

    Nimbalyst (#13)

    Bundles Nimbalyst — a visual workspace for building with Codex, Claude Code, and more. Upstream ships only a Linux AppImage, which can't self-mount via FUSE in an unprivileged pod (no CAP_SYS_ADMIN), so the build pulls the always-latest release and pre-extracts it to /opt/nimbalyst, then routes every launch through /usr/local/bin/nimbalyst (applying ELECTRON_DISABLE_SANDBOX=1, --disable-dev-shm-usage, and APPDIR=/opt/nimbalyst).

    LibreOffice (#14)

    Installs the LibreOffice suite (Writer, Calc, Impress, Draw, Base, Math) plus libreoffice-gtk3 for native GTK rendering under XFCE, and the English (US + GB) and French Hunspell spell-check dictionaries.

    XFCE menu

    Lens, Claude Desktop, and Nimbalyst now appear under the Development category (previously Network / Office / Utility).

    Full changelog: 26.24.2...26.25.0

    Downloads
  • 26.24.2 eb65649f42

    26.24.2
    All checks were successful
    / docker-tag-ci (push) Successful in 3m36s
    / docker-tag-coder (push) Successful in 4m7s
    / docker-tag-coder-xfce-vnc (push) Successful in 8m15s
    Stable

    GuillaumeHemmen released this 2026-06-11 16:15:27 +00:00 | 5 commits to master since this release

    This release includes:

    • Claude Desktop pre-installed in the xcfe variant, from the community claude-desktop-debian APT repo, launched through a wrapper applying the flags Electron apps need in unprivileged Kubernetes pods — menu, terminal, and claude:// URL launches alike
    • coder-init-desktop now parks stale user-local Claude Desktop menu entries left by manual installs from before the image shipped it (#12)
    Downloads
  • 26.24.1 b5bb798bce

    26.24.1
    All checks were successful
    / docker-tag-ci (push) Successful in 3m47s
    / docker-tag-coder (push) Successful in 4m25s
    / docker-tag-coder-xfce-vnc (push) Successful in 8m31s
    Stable

    GuillaumeHemmen released this 2026-06-11 15:12:52 +00:00 | 6 commits to master since this release

    This release includes:

    • Fix: Electron apps (Lens, Claude Desktop, ...) now launch in the xcfe variant on unprivileged Kubernetes pods — the Chromium sandbox cannot work there (RuntimeDefault seccomp, no CAP_SYS_ADMIN), so it is disabled image-wide via ELECTRON_DISABLE_SANDBOX=1, and Lens is routed through a wrapper adding --disable-dev-shm-usage for the 64 MiB /dev/shm
    • Fix: dead jetbrains-toolbox symlink in /usr/local/bin (Toolbox 2.x keeps the binary under bin/)
    • coder-init-desktop now heals stale user-local Lens menu entries carried over on the PVC

    Full diagnosis in the README section "Electron & Chromium-based apps" (#11)

    Downloads
  • 26.24.0 c0b0a96921

    26.24.0
    All checks were successful
    / docker-tag-ci (push) Successful in 3m4s
    / docker-tag-coder (push) Successful in 3m33s
    / docker-tag-coder-xfce-vnc (push) Successful in 6m51s
    Stable

    GuillaumeHemmen released this 2026-06-08 19:47:18 +00:00 | 7 commits to master since this release

    This release includes:

    • k8s tooling for the coder variant
    • lens k8s IDE for the xcfe variant
    Downloads
  • 26.23.0 e33cf43cf5

    26.23.0
    All checks were successful
    / docker-tag-ci (push) Successful in 3m16s
    / docker-tag-coder (push) Successful in 3m50s
    / docker-tag-coder-xfce-vnc (push) Successful in 6m1s
    Stable

    GuillaumeHemmen released this 2026-06-04 07:02:36 +00:00 | 8 commits to master since this release

    Added a few new package in the base image to support dev workflow:

    • glab
    • bat
    • fzf
    Downloads
  • 26.22.2 a71d023ceb

    26.22.2
    All checks were successful
    / docker-tag-coder (push) Successful in 3m41s
    / docker-tag-ci (push) Successful in 3m43s
    / docker-tag-coder-xfce-vnc (push) Successful in 6m1s
    Stable

    GuillaumeHemmen released this 2026-05-30 08:59:12 +00:00 | 9 commits to master since this release

    hotfix - adding support of colored emoji on desktop terminal

    Downloads
  • 26.22.1 75aa0846a7

    26.22.1
    All checks were successful
    / docker-tag-ci (push) Successful in 3m33s
    / docker-tag-coder (push) Successful in 3m49s
    / docker-tag-coder-xfce-vnc (push) Successful in 5m58s
    Stable

    GuillaumeHemmen released this 2026-05-30 08:34:44 +00:00 | 10 commits to master since this release

    hotfix seeding .profile from etc/skel

    Downloads
  • 26.22.0 b0122d6bcc

    26.22.0
    All checks were successful
    / docker-tag-ci (push) Successful in 3m36s
    / docker-tag-coder (push) Successful in 3m48s
    / docker-tag-coder-xfce-vnc (push) Successful in 6m1s
    Pre-release

    GuillaumeHemmen released this 2026-05-30 07:28:10 +00:00 | 11 commits to master since this release

    Highlights

    • New coder-xfce-vnc image variant: same coder base plus an XFCE desktop served in the browser over noVNC, with Firefox and JetBrains Toolbox preinstalled.
    • Per-user runtime setup (NVM, Node.js, Yarn, bash prompt, global gitignore) now runs at workspace start via scripts/coder-init.sh instead of during image build; same image works whether /home/coder is a fresh PVC or a pre-populated volume.

    New images

    Tag Description
    git.van-hemmen.com/actions/sindri:coder-xfce-vnc-<version> Pinned build of the XFCE/noVNC variant.
    git.van-hemmen.com/actions/sindri:coder-xfce-vnc-latest Rolling tag for the XFCE/noVNC variant.

    The existing tags are unchanged.

    What's in coder-xfce-vnc

    • Everything from the coder variant
    • TigerVNC + XFCE desktop session
    • noVNC web client, autoconnect-ready, with path-based reverse-proxy support (works behind Coder's subdomain = false apps)
    • Firefox (installed from Mozilla's APT repo; Snap is not usable in containers)
    • JetBrains Toolbox with a system-wide .desktop entry, launchable from the XFCE menu
    • Idempotent start-xfce-vnc.sh: re-running it on an already-live session no longer kills it

    New scripts

    • scripts/coder-init.sh: per-user setup at workspace start (NVM, Node.js, Yarn, prompt, global gitignore). Sourced from .bashrc. Used by both variants.
    • scripts/coder-init-desktop.sh: desktop-only additions (Firefox repo, Toolbox).
    • scripts/start-xfce-vnc.sh: standalone launcher, previously inline in the Dockerfile.

    Breaking / behavior changes

    • The bare :latest tag is no longer published. Use coder-latest, coder-xfce-vnc-latest, or ci-latest explicitly.
    • Build-time NODE_VERSION and global-gitignore URL args have been removed from the coder variant. These are now configurable at runtime inside coder-init.sh.
    • The coder variant's image no longer ships a pre-installed NVM/Node; these are provisioned on first start. Workspaces with an already-initialized /home/coder PVC are unaffected.

    Upgrade notes

    • Existing coder workspaces: pull the new image and restart. coder-init.sh will run on next shell start and populate NVM/Node/Yarn if missing.
    • New coder-xfce-vnc workspaces: expose noVNC at the workspace's Desktop app. With subdomain = false, the noVNC URL must be host:port only — the included index.html handles autoconnect=1 redirection.
    • See the Coder template's desktop_readme.md for how to wire both variants behind a single "Use with desktop" checkbox.

    Commits

    12 commits, from 5dd90b4 (initial coder-xfce-vnc variant) through 86b8538 (final Toolbox .desktop cleanup). Full changelog: master...5-differentiate-coder-deployment-and-devcontainer-images.

    Downloads