Repository navigation
Conversation
4 tasks done
ehfd
force-pushed
the
selkies-template
branch
2 times, most recently
from
October 2, 2026 07:13
6d99fc0 to
4096031
Compare
ehfd
force-pushed
the
selkies-template
branch
4 times, most recently
from
October 20, 2026 08:13
6f549ce to
996a973
Compare
ehfd
marked this pull request as ready for review
October 21, 2026 05:03
Stream the workspace's desktop to the browser with Selkies behind a coder_app, with the KasmVNC module's variables so a template swaps one for the other. The install script installs what the workspace lacks of Selkies and Xvfb, with PulseAudio where no sound server is installed, from the release's native package and the distribution, as root or with passwordless sudo, or nothing with install_selkies = false; the package is checked against the release's SHA256SUMS, or the digest GitHub records for it, before it is installed. The start script starts selkies-session on the loopback addresses, without a login or TLS of its own, and waits until it answers.
Selkies 2.1.0 runs its tools as subcommands, so the module starts the desktop with `selkies session` rather than `selkies-session`, and takes a workspace to have Selkies only where `selkies session --help` answers as 2.1.0's does: an older selkies takes the word for a stray argument and starts a bare server. After installing, it checks again and says to pick 2.1.0 or later. The session's log is session.log. The defaults test now checks that the latest release is resolved through GitHub's redirect rather than the API's releases/latest; the API stays the digest fallback for a release published without SHA256SUMS.
…ocker Run Selkies' desktop image as a Docker workspace with a persistent home, shared memory for the desktop's browsers, and the Selkies module starting the image's default desktop. A workspace picks no GPU or an NVIDIA one, whose NVENC then encodes the stream, and X11 or Wayland. Without a GPU, the container keeps NVIDIA's runtime from passing the host's GPUs in, as it would where that runtime is Docker's default.
ehfd
force-pushed
the
selkies-template
branch
from
October 21, 2026 10:16
996a973 to
e217173
Compare
Author
|
@DevelopmentCats Ready for review again. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
selkies session, and Selkies' own Coder module,addons/coder, which the registry module follows)Description
Adds
registry/selkies-project/templates/docker-desktop, a Docker workspace on Selkies' desktop image (ghcr.io/selkies-project/selkies/desktop:latest-ubuntu26.04: LXQt, Firefox, and Chrome, with Selkies and Xvfb installed), with a persistent home on/home/ubuntu, 2 GB of shared memory for the desktop's browsers, and the Selkies module withinstall_selkies = false, which starts the image's default desktop behind Coder's proxy. It follows the shape of the Docker Containers template: thedocker_socketvariable, thehost.docker.internalrewrite, and the labeled home volume.nvidiaruntime, as Selkies' Getting Started does, and NVENC then encodes the stream. None setsNVIDIA_VISIBLE_DEVICES=void, since the image asks for every NVIDIA GPU and a host whose default runtime is NVIDIA's would otherwise pass them in regardless.This branch is stacked on #1149 and carries its commit (the namespace, the module, and its icon) until that merges; a rebase then leaves only this template's commit.
terraform initof theregistry.coder.com/selkies-project/selkies/codersource passes once the module is published; until thenscripts/terraform_validate.shstops at "Module not found".Type of Change
Template Information
Path:
registry/selkies-project/templates/docker-desktopTesting & Validation
terraform validatepasses with the module source pointed at feat(selkies-project/selkies): add the Selkies desktop module #1149's branch, andgo run ./cmd/readmevalidationaccepts the README.bun fmt): Prettier,terraform fmt, and typos are clean.group_addthe render node is refused; with the host's render group ID it opens.Related Issues
#1149, coder/coder#30026, selkies-project/selkies#64