Graphical desktop image for use with https://getknot.dev
5.2K
An Ubuntu desktop image for knot spaces that serves a full XFCE environment in the browser via KasmVNC. It builds on knot-ubuntu, inheriting its runtime user, logging and startup framework, and adds a preconfigured desktop with Chromium and the Nordic theme.
All tags are multi-arch (linux/amd64, linux/arm64); see Docker Hub for the current list.
Each release is also tagged <version>-<BUILD_DATE>.
docker run -d \
--privileged \
-p 5680:5680 \
-e KNOT_SERVER=https://knot.example.com \
-e KNOT_USER=alice \
-e KNOT_VNC_HTTP_PORT=5680 \
-e KNOT_SERVICE_PASSWORD=changeme \
-v knot_home:/home \
paularlott/knot-desktop:26.04
The desktop is then available on the configured VNC HTTP port (KNOT_VNC_HTTP_PORT, default 5680). The VNC password is the value of KNOT_SERVICE_PASSWORD.
KasmVNC requires the container to run privileged (or with the appropriate device / capability permissions) for input and graphics support.
On top of the knot-ubuntu entrypoint, a startup hook (/etc/knot-startup.d/01-start-desktop) is added that:
.themes and .config/xfce4 from bundled defaults (Nordic theme + wallpaper) on first run.KNOT_SERVICE_PASSWORD.vncserver :1 on 0.0.0.0 exposing the XFCE session over KNOT_VNC_HTTP_PORT.The default browser is Chromium, installed as a Flatpak and wrapped by /usr/local/bin/chromium.
Built on knot-ubuntu, so it supports the common knot variables:
| Variable | Default | Description |
|---|---|---|
KNOT_USER | knot | Runtime user (uid 1000); created if missing |
KNOT_SERVER | (unset) | knot server URL; if set, the agent is downloaded and started |
KNOT_AGENT_ENDPOINT | (unset) | Agent endpoint reported to the server |
KNOT_SPACEID | (unset) | Space identifier |
KNOT_SERVICE_PASSWORD | (auto-generated UUID) | Shared service password (also the VNC password) |
KNOT_SSHD | (unset) | Set to native to start sshd |
KNOT_SSH_PORT | 2222 | Port for the SSH daemon |
KNOT_SYSLOG_PORT | 1514 | Syslog forward target (0 disables forwarding) |
TZ | Etc/UTC | Timezone |
Desktop additions:
| Variable | Default | Description |
|---|---|---|
KNOT_VNC_HTTP_PORT | 5680 | HTTP port the KasmVNC web client listens on |
WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS | 1 | Allows Epiphany to run inside the container |
/home — persistent home directory. Desktop configuration and themes are seeded into the user's home on first start.xfce4-terminal, xterm and goodies.knot-ubuntu CLI toolset (git, vim, fish, tmux, make, jq, ripgrep, fzf, cron, rsyslog, …).The Ubuntu base image and its packages (including XFCE, KasmVNC and Chromium) are licensed under their respective upstream licenses. This image's packaging — the Dockerfile and supporting scripts/configs — is Apache License 2.0.
Source: paularlott/knot-base-images.
Content type
Image
Digest
sha256:2d233d5fa…
Size
1.5 GB
Last updated
1 day ago
docker pull paularlott/knot-desktop:26.04-20260929