Dockside Versions Save

Develop, stage and test on-prem or in your private cloud. Dockside is a tool for provisioning lightweight access-controlled IDEs, staging environments and sandboxes - aka 'devtainers' - on local machine, on-premises raw metal or VM, or in the cloud

v1.11.0

1 year ago

This interim release resolves a number of build issues introduced by upstream image/repo changes, and upgrades Theia to v1.25.0 (from v1.23.0).

It also includes a new example profile that demos a Debian Desktop environment served to the browser using an integrated VNC client and server. Simply launch a devtainer from the Debian Desktop profile, open the 'vnc' service and sign in using the password dockside!

For details of the changes between these Theia releases, please see:

Users of Dockside v1.5.0 or later can upgrade the version of Theia available to run within existing devtainers to this new version, by running:

docker exec <dockside-container> upgrade

N.B. Existing devtainers must be stopped and started again for the new version of Theia to be launched.

v1.10.0

2 years ago

This release upgrades Dockside to use Theia v1.23.0 (from Theia v1.21.0).

For details of the changes between these Theia releases, please see:

For users of Dockside v1.5.0 or later, you may now upgrade the IDE within your existing devtainers to this version by running:

docker exec <dockside-container> upgrade

This release also incorporates a behind-the-scenes new comprehensive ELF-patching mechanism, called elf-patcher, which runs during the Dockside build, automatically detecting and patching all required binaries, Theia binaries and dynamic library dependencies, and which should greatly simplify future Theia upgrades.

v1.9.0

2 years ago

This release brings a broad collection of improvements, most importantly IDE browser titles that specify the devtainer name, making distinguishing open IDE tabs much easier.

Changes

UI

  • Refactor and improve welcome text to provide brief description of Dockside benefits and devtainer launch examples
  • Refactor UI header to render title programatically to allow for future title customisation and update the default UI title and meta description
  • Add dockside.io and GitHub links to header for ease of reference
  • Add footer with dockside.io, GitHub and NewsNow links for ease of reference and credit
  • Rename 'Add Tag' to 'Add User' when editing a devtainer's Developers and Viewers user lists
  • Scroll-to-top on navigation (Launch,

IDE

  • IDE browser title specifies devtainer name, making distinguishing open IDE tabs much easier

Documentation

  • Improve documentation of users.json and roles.json file schema, in particular providing full description of permissions and resources

Build process

  • Make Docker build fail if VSIX plugin download fails
  • Reorder Dockerfile to improve use of build cache by copying Theia and VSIX plugins into image later in build process

Full Changelog: https://github.com/newsnowlabs/dockside/compare/v1.8.0...v1.9.0

v1.8.0

2 years ago

This release brings a broad collection of improvements to the UI, to example profiles, profile capabilities, Dockside command line options, devtainer capabilities and some code refactors.

Changes

UI request processing:

  • Fix and improve UI display of devtainer sizes (when enabled)
  • Fix hamburger menu styling for mobile devices
  • Request handling refactors
    • POST sign in to /
    • Redirect to current URI on successful signin
    • Redirect to / on request for unrecognised route
    • Factor out redirect(), html(), remove signin.html, add default route
    • Update signin HTML/CSS

Profiles:

  • Support placeholders in profile volume mount src property
  • Update example profiles to mount ssh keys from a per-user volume
  • Allow profile filenames to begin with a digit
  • Updated example profiles (ordered, using filenames with leading digits; updated names; updated image lists; standardised memory, pids-limit and in some cases cpus)
  • Add example dockside.io Jekyll profile
  • Update Dockside profiles to enlarge /tmp, to accomodate /tmp/vscode-unpacked for built-in VS Code extensions

Dockside command line options:

  • Log command line arguments during initialisation
  • Add --config-set option for making arbitrary assignments to config.json

Devtainer capabilities:

  • Support more LXCFS files and non-default LXCFS mountpoint
  • Support for bind-mounted IDEs

Misc:

  • Fix licence and author incorrectly stated in package.json
  • Silence eslint error parsing '<' inside Mustache template
  • Workaround Vetur/Eslint issue by rewriting Mustache expression

Breaking changes

  • Disable periodic devtainer size measurement by default, for performance reasons. In some configurations, querying dockerd for containers sizes can be prohibitively slow. For now, it can be reenabled by launching Dockside with --config-set .docker.sizes=true. The default may be reverted again at a later date when underlying performance issues are resolved or a workaround found.

Full Changelog: https://github.com/newsnowlabs/dockside/compare/v1.7.1...v1.8.0

v1.7.1

2 years ago

Commit https://github.com/newsnowlabs/dockside/commit/56ef813929953b5e7a7fd9605bc51dc497a2cc5a on 2022-01-22, which introduced cgroup2 support, also introduced a regression, whereby the first instance of non-trailing whitespace would be removed from any file loaded (rather than strictly trailing whitespace as intended). This broke parsing of the passwd file when it contained multiple lines, and may have caused other unpredictable results in parsed files.

This release fixes this regression and upgrading from v1.7.0 to v1.7.1 is necessary to avoid these issues.

v1.7.0

2 years ago

This release brings a broad collection of fixes, new Dockside launch options and launch-time checks, a UI button to view devtainer logs, and support for systems running cgroup2 and Apparmor, among the following changes:

  • Support for host systems running cgroup2
  • New launch option --passwd-stdout outputs autogenerated password to stdout
  • New launch option --passwd-file <file> outputs autogenerated password to
  • Support for security options (i.e. generating desired --security-opt arguments to docker run)
    • Default apparmor and seccomp options in config.json
    • New 'security' subobject options in profiles with full support for apparmor, seccomp, no-new-privileges and labels
    • Fix example Dockside and nginx profiles for host systems running Apparmor
    • Improve documentation to fix Dockside launch instructions for host systems that may be running Apparmor
  • Autogenerated domain zone file for --ssl-zone <zone> TTL now set to 300 seconds, to allow for faster IP address updates
  • New launch sanity-check: test /var/run/docker.sock responds to info query
  • More reliable detection of container ID on devtainer launch using --cidfile
  • New UI button to view devtainer logs, shown to users with corresponding getContainerLogs user/role permission
  • Client/server API improvements
    • Update API to regularise URIs and use query string for most arguments
    • Augment all API responses with either HTTP 200 or 401 response codes
  • Fix edge case where newly-created devtainer is not identified at time of processing start event
  • Miscellaneous documentation improvements

v1.6.0

2 years ago

This release upgrades Dockside to use Theia v1.21.0 (from Theia v1.20.0).

For details of the Theia v1.21.0 release, please see https://github.com/eclipse-theia/theia/releases/tag/v1.21.0.

For users of Dockside v1.5.0 or later, you may now upgrade the IDE within your existing devtainers to this version by running:

docker exec <dockside-container> upgrade

v1.5.0

2 years ago

Starting from this version of Dockside, upgrading the IDE within existing devtainers is now a simple matter of running this one command:

docker exec <dockside-container> upgrade

N.B. Any newer IDE will be launched only after devtainers have been stopped and restarted.

Doing the above step is recommended before upgrading the running Dockside container (which will upgrade, where available, the version of the Dockside IDE running within subsequently-launched devtainers).

This release also refactors and simplifies the instructions for upgrading Dockside, which detail the new two-step upgrade process in full.

v1.4.1

2 years ago

This release purely improves the in-app documentation:

  • Documentation refactored into separate markdown files for improved readability/navigation
  • Promo added reflecting support of principal sponsor
  • Added night-mode-capable logo and in-app documentation night-mode toggle
  • Improved rendering of the in-app documentation through improved mkdocs-material config

v1.4.0

2 years ago

This release upgrades Dockside to use Theia v1.20.0 (from Theia v1.19.0).

For details of the Theia v1.20.0 release, please see https://github.com/eclipse-theia/theia/releases/tag/v1.20.0.