Skip to content

code-server

The code-server extension adds code-server, VS Code in the browser, to a Frostyard bootc image. Use it to edit code on this machine from a browser. Every image carries the extension’s definition, switched off. The extension itself is not in the image: Updex turns it on and downloads it.

You need:

  • A Frostyard bootc image. Every image built on Base has systemd-sysext and frostyard-updex.
  • Root access to enable, update, and remove the extension.
  • Network access to https://repository.frostyard.org/ext/code-server/.
  • Free space in /var for the image.

code-server has no published test results on Frostyard images yet. Try it on a machine you can spare first.

See what Updex found, then enable the feature and download it now:

Terminal window
updex features list --component=code-server
sudo updex features enable code-server --now

code-server appears as a component, with its feature disabled. The enable command downloads the image, checks its checksum and signature, links it, and refreshes the merge.

Check the merge and the command that the extension adds:

Terminal window
systemd-sysext status
command -v code-server

systemd-sysext status lists code-server, and command -v code-server prints /usr/bin/code-server.

If enable --now exits with a refresh error (refresh_error in JSON), the download worked, but the activation did not. If the output says activation did not finish, the extension is merged, but users and groups can be missing: reboot. Otherwise the merge state is unknown: reboot. A sudo systemd-sysext refresh by hand does not create users and groups. Then run the checks above again.

Start code-server as a user service, and keep it on at every login:

Terminal window
systemctl --user enable --now code-server

code-server listens on 127.0.0.1:8080. On first start it writes ~/.config/code-server/config.yaml with a generated password. Read the password there, then open http://127.0.0.1:8080.

Frostyard adds no preset and no boot-time drop-in for code-server, so nothing starts it for you at boot. Do not enable code-server@<user>.service for boot. A .wants link to a unit inside an extension is dropped at boot, before the merge.

The program is in /usr/lib/code-server. Your projects and settings stay outside /usr, so an update leaves them alone.

Check for an update, then install it:

Terminal window
updex features check --component=code-server
sudo updex features update --component=code-server

Updex downloads and verifies the new image, switches the link, deletes older versions, and refreshes the merge. See Manage system extensions for --no-vacuum, --dry-run, and the update timer. The refresh swaps /usr under the running system.

Roll back with sudo updex features rollback code-server. It takes effect at the next boot. See Roll back.

Remove code-server:

Terminal window
sudo updex features disable code-server --now --force

Updex unmerges all extensions on the host, deletes the image, and merges the rest again. The code-server command goes. Files you created in your home directory stay. Reboot when the command finishes. Without --force, Updex refuses while the image is merged.

Item What you get
Package The code-server package from the upstream release, installed into the image with dpkg. The build checks the download against a pinned checksum
Command /usr/bin/code-server
Program files /usr/lib/code-server
Version The image file name carries the code-server package version, plus a +rN snosi revision when one is set
Image file code-server_<version>_<os>_<arch>.raw.zst; .raw.xz, .raw.gz, and .raw also work
Download From https://repository.frostyard.org/ext/code-server/, signature required (Verify=true), into /var/lib/extensions.d/
Services None that Frostyard starts. The upstream package ships systemd units under /usr/lib/systemd/, and snosi adds no preset or Upholds= drop-in for them

Each build checks that /usr/bin/code-server and /usr/lib/code-server are present. A build that is missing one fails.

Reviewed 2026-10-27; Updex facts reviewed 2026-10-30. snosi commit b2858ca0222814c395cf8248db98f3e096d57dc9; Updex v2.1.3 commit 2661e987faac986f2594d1d9bbbadf1bf3053f5b.