Workshop¶
Workshop is a tool for creating and managing container-based development environments. Define the languages, libraries, and tools your project needs in a workshop definition, then compose the environment from SDKs: independent units of functionality that connect through interfaces. Use SDKs published on the SDK Store or define them in your repository.
Workshop helps developers and teams reproduce complex setups across machines, experiment in a sandbox, and manage environment updates. It supports projects that span Ubuntu versions, container images, languages, and frameworks, including AI and machine learning, robotics, IoT, and education. Reuse a definition to set up an environment or rebuild it when you need a fresh start.
In this documentation¶
Getting started¶
Concepts and architecture¶
Using workshops¶
Workshop configuration¶
SDK development¶
Tool integrations¶
Maintenance¶
Security¶
Use cases¶
How this documentation is organized¶
This documentation follows the Diátaxis documentation framework, organizing content by the type of information users need. The four sections serve different purposes:
Tutorial: Hands-on learning path for new Workshop users, progressing from basic operations through interface usage to SDK development.
How-to guides: Step-by-step instructions for specific tasks like connecting IDEs, managing projects, and troubleshooting issues.
Reference: Technical specifications for CLI commands, definition file formats, and internal behavior.
Explanation: In-depth discussion of Workshop architecture, concepts, and design principles.
Project and community¶
Workshop is an emergent project within the DevEx department here at Canonical; SDKcraft is its sibling project, aimed at publishers who create and distribute SDKs for Workshop.
At its core, Workshop builds upon Canonical’s mature tech. It uses LXD as the underlying container technology; it also follows the tooling paradigm exemplified by Snap, and implemented with Craft CLI.
Get involved
Releases
Governance and policies
Feedback and support