Releases: newsnowlabs/dockside
Integrated support for SSH and, indirectly, VS Code & GitHub Copilot
This significant release offers integrated SSH server support, and indirectly support for VS Code server and GitHub Copilot.
Dockside now facilitates:
- SSH access to any devtainer by authorised developers;
- use command line tools that benefit from key forwarding, such as
git
; - seamless VS Code remote development via the Remote SSH extension.
Dockside achieves this through:
- Provisioning an SSH and a wstunnel server daemon for each devtainer.
- Maintaining each devtainer's
~/.ssh/authorized_keys
file with the public ssh keys of the devtainer owner and any other developers with whom the devtainer is shared. - A UI function to open SSH on a devtainer directly with a single click.
- Setup instructions, integrated in the Dockside UI, for developers needing to install the wstunnel helper client and configure their local
~/.ssh/config
N.B. Dockside now enables SSH access by default for all new devtainers, though this can be disabled by setting ssh.default=0
in config.json
. See documentation for full details on configuring Dockside for SSH access and see the new Dockside UI for details on configuring clients to tunnel ssh over wstunnel.
WARNING: Dockside v3.0.0 takes over control of ~/.ssh/authorized_keys
in new devtainers. Accordingly, SSH support is not compatible with any profiles that mount over this file (or over ~/.ssh if the mounted filesystem contains an authorized_keys
file). You should take care to disable SSH in such profiles as, otherwise, if you make changes manually to this file on a devtainer that has SSH enabled, your changes may be lost.
Full Changelog: v2.4.2...v3.0.0
[Fix] Allow dashes/hyphens in devtainer names
The new domain-parsing code in Release v2.4.1 (commit 978a597) failed to correctly handle URIs for VSIX iframes generated by the VSIX extensions such as Git Graph, within Theia.
All installations of v2.4.1 should upgrade to this release by installing the newsnowlabs/dockside:latest
image, following Step 2 in https://github.com/newsnowlabs/dockside/blob/main/docs/upgrading.md.
Allow dashes/hyphens in devtainer names
Dashes/hyphens (but not sucessive dashes/hyphens) are now allowed in devtainer names. This means you can now name a devtainer my-devtainer
rather than mydevtainer
.
Upgrade to this version should be safe for most users as the URLs for accessing existing devtainers has not changed.
However, upgrade may not be safe where you are using existing devtainers, launched from a Dockside image, for developing Dockside within Dockside. The outcomes in this case are not clearly defined and your access to devtainers launched 'inside' an inner Dockside development devtainer may fail, as the domains will have changed (e.g. from ide-innermost-innerdockside...
to ide-innermost--innerdockside
. If you are developing Dockside in Dockside, we strongly recommend you commit all WIP to branches before deleting and relaunching your Dockside development devtainers from a newsnowlabs/dockside:latest
image.
Theia v1.40.0 (and support per-platform Theia versions)
This release upgrades the embedded Theia IDE to v1.40.0 from v1.35.0, for the linux/amd64
and linux/arm64
platforms. (The linux/arm/v7
platform, which does not support v1.40.0, stays on v1.35.0). This completes #14 and #13.
Additionally, this release:
- Migrates all development VSIX extensions from the image to
extensions.json
, reducing image size. When developing Dockside within Dockside and opening the IDE, you will now be asked if you want to install development extensions. - Refactors and bugfixes the image selection UI
For details of the changes between the Theia releases, please see:
- https://github.com/eclipse-theia/theia/releases/tag/v1.36.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.37.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.38.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.39.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.40.0
Users of Dockside v1.5.0 or later can upgrade the version of Theia available to run within existing devtainers to the latest version by running the following command, then stopping and starting their devtainers:
docker exec <dockside-container> upgrade
Fix for --run-dockerd issues
This releases fixes issues affecting the --run-dockerd
launch option:
- The dockerd/run script did not correctly mount the cgroup filesystem due to an earlier incorrect assumption about mountpoint -d
- The dockerd/run script did not mount the cgroup2 filesystem
- The kmod package is needed to allow tools called by dockerd, like iptables, to install the necessary kernel modules
- The entrypoint.sh did not make correct assumptions when a container was started for a second time, and docker.sock was already created.
It also improves the upgrade command, for upgrading the available version of the Theia IDE (docker exec <dockside-container> upgrade
)
- Any new Dockside image will now be pulled, before upgrading.
Theia v1.35.0
This release upgrades the embedded Theia IDE to v1.35.0 from v1.27.0.
It also improves the reliability of Dockside when handling a LetsEncrypt SSL certificate update.
It also improves the ease with which Theia can be launched - using an image built only to the theia-build
build stage - for editing the Theia JavaScript codebase, rebuilding and testing Theia and building patch-package
patches.
For details of the changes between the Theia releases, please see:
- https://github.com/eclipse-theia/theia/releases/tag/v1.28.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.29.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.30.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.31.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.32.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.33.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.34.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.35.0
Users of Dockside v1.5.0 or later can upgrade the version of Theia available to run within existing devtainers to the latest version by running the following command, then stopping and starting their devtainers:
docker exec <dockside-container> upgrade
Security updates and minor fixes
This minor release fixes the following issues:
- Correctly parses domain when Dockside is accessed on non-standard port
- Fix nginx config syntax to avoid warning deprecated 'ssl' directive
- Upgrade Vue app client NPM packages to latest versions
- Fix display of git tag and short hash in Vue app footer
Full Changelog: v2.1.0...v2.2.0
Support for sharing devtainers with users according to their role
This minor release adds support for sharing devtainers with users according to their role.
Role(s) may now be entered, in addition to User(s), in the devtainer Developers and Viewers fields. Such a devtainer will be shared with users possessing any of the listed Role(s).
This release also adds to the Vue app footer Dockside version information (the Dockside repo git tag and short hash).
Full Changelog: v2.0.0...v2.1.0
Multiarch (multi-platform) support for Apple Mac M1/M2 (arm64) and Raspberry Pi (arm/v7)
This major release adds multiarch (multiplatform) support for Apple Mac M1/M2 (arm64) and Raspberry Pi (arm/v7) for the first time.
The newsnowlabs/dockside:latest
image is now a multiarch image, containing native binary implementations for Intel (x86/amd64), as well as the two new architectures.
As part of multiarch support, the following two demo profiles included in the Dockside image (and their associated Docker images) have also been converted to multiarch to support the same set of platforms:
- dockside.io -
newsnowlabs/dockside-io:latest
- Dockside Debian Desktop -
newsnowlabs/docker-debian-desktop:latest
Dockside v2.0.0 is tested on:
- Intel (amd64/x86) platforms running Debian Linux and Docker Engine (via the
docker-ce
package suite) - MacOS (amd64/x86 and Apple Mac M1) running Docker Desktop
- Intel Windows 10 running Docker Desktop
- Raspberry Pi (arm/v7) running Raspbian Linux and Docker Engine (via the
docker-ce
package suite)
This release also features several security upgrades of dependencies:
- Node 16 used for building/running Theia IDE and Dockside Vue app (formerly Node 12)
- Debian Bullseye used for building/running Dockside (formerly Debian Buster)
- Dockside Vue app dependencies upgraded
The *.local.dockside.dev
SSL certificate is not longer embedded in the Dockside image, but is now downloaded whenever Dockside is launched, addressing #5.
As usual, users of Dockside v1.5.0 or later, who have not yet upgraded to Theia 1.27.0, can still upgrade the version of Theia available to run within existing devtainers to the newest version, by running docker exec <dockside-container> upgrade
, then stopping and starting their devtainers.
Full Changelog: v1.12.0...v2.0.0
Theia v1.27.0
This release upgrades the embedded Theia IDE to v1.27.0 from v1.25.0. For details of the changes between these Theia releases, please see:
- https://github.com/eclipse-theia/theia/releases/tag/v1.26.0
- https://github.com/eclipse-theia/theia/releases/tag/v1.27.0
Users of Dockside v1.5.0 or later can upgrade the version of Theia available to run within existing devtainers to the latest version by running the following command, then stopping and starting their devtainers:
docker exec <dockside-container> upgrade