{"slug": "workshop-canonical-s-sandboxed-reproducible-dev-environments", "title": "Workshop: Canonical's sandboxed, reproducible dev environments", "summary": "Canonical has released Workshop, an open-source tool that creates reproducible development environments from a single command using YAML files. The tool uses unprivileged LXD system containers with strict sandbox controls to isolate environments at the process, filesystem and network level, addressing security concerns for AI agent workloads. Workshop is available as a snap and supports versioned SDKs from the SDK Store, including offerings for Ollama, NVIDIA CUDA and AMD ROCm at launch.", "body_md": "**Canonical has released Workshop, a new open-source tool to create reproducible development environments with a single command.**\n\nUsing YAML files, the same development setup can be reproduced across different hardware and devices, reducing dependency headaches and configuration drift.\n\nEnvironments in Workshop are built from SDKs (packages that install languages, frameworks and tools). Most of these come from the SDK Store, which supports versioned channels similar to the Snap Store so that projects can define specific SDK versions to use.\n\nCanonical offers SDKs for Ollama, OpenCode, NVIDIA CUDA and AMD ROCm at launch, but users can create and define project-specific SDKs of their own, adding them to the SDK Store for others to use or shipping them internally, placed in a project `.workshop/`\n\nfolder.\n\nThe definition file that pulls it all together is a standard plain-text YAML, which could be version-controlled alongside the code and any custom SDKs.\n\n*“With Workshop, you can launch a setup that previously took hours to configure in a few commands, and be sure that it stays operational”,* reads the GitHub blurb.\n\nThere is a degree of overlap with existing development environment tools available on Linux, like [Dev Containers](https://containers.dev), Nix shells and [Docker Compose](https://docs.docker.com/compose/), but Workshop is strict on environment isolation.\n\nIt uses unprivileged [LXD](https://canonical.com/lxd) system containers, isolated from the host at the process, filesystem and network level, but sharing the host kernel.\n\nAn interface system modelled after `snapd`\n\ncontrols what host resources a contain can access. If a container needs GPU, SSH agent etc, it must be explicitly granted.\n\nIt’s this sandbox control model that is central to Workshop pitch for anyone looking to run AI agents.\n\n*“Ease of use for developers shouldn’t mean ease of access for AI agents”*, Dmitry Lyfar, Engineering Manager at Canonical said, [adding that](https://discourse.ubuntu.com/t/introducing-workshop-launch-sandboxed-development-environments-on-ubuntu-with-a-single-command/83322?u=d0od): *“Non-privileged defaults effectively constrain workload capabilities”.*\n\nWorkshop requires LXD 6.8 or later. The tool itself is installed as a snap from the Snap store. For more details on Workshop can do, how to use and configure it, see the [official docs](https://documentation.ubuntu.com/canonical-workshop/latest) or check the [code on GitHub](https://github.com/canonical/workshop).", "url": "https://wpnews.pro/news/workshop-canonical-s-sandboxed-reproducible-dev-environments", "canonical_source": "https://www.omgubuntu.co.uk/2026/05/canonical-workshop-dev-environments", "published_at": "2026-05-31 01:16:06+00:00", "updated_at": "2026-05-31 01:46:10.317965+00:00", "lang": "en", "topics": ["ai-tools", "ai-infrastructure"], "entities": ["Canonical", "Workshop", "LXD", "SDK Store", "Ollama", "OpenCode", "NVIDIA CUDA", "AMD ROCm"], "alternates": {"html": "https://wpnews.pro/news/workshop-canonical-s-sandboxed-reproducible-dev-environments", "markdown": "https://wpnews.pro/news/workshop-canonical-s-sandboxed-reproducible-dev-environments.md", "text": "https://wpnews.pro/news/workshop-canonical-s-sandboxed-reproducible-dev-environments.txt", "jsonld": "https://wpnews.pro/news/workshop-canonical-s-sandboxed-reproducible-dev-environments.jsonld"}}