Manage Providers
The Devsy team maintains providers for popular services such as:
- Docker (docker)
- Podman (podman)
- Kubernetes (kubernetes)
- Apple (apple)
- Microsandbox (microsandbox)
- Lima (lima)
- OrbStack (orbstack)
- SSH (ssh)
- AWS (aws)
- Google Cloud (gcloud)
- Azure (azure)
- Digital Ocean (digitalocean)
Install these providers with the Devsy CLI:
devsy provider add dockerYou can get a list of available 1st party providers by using the command:
devsy provider list --availableAdding a Provider
Devsy Desktop
Open the Providers view and click Add. The provider wizard has four steps:
- Select — pick a built-in preset, or enter a GitHub link,
provider.yamlURL, or local file path in the Provider Source field below the presets. - Configure — fill in provider-specific options (the form is generated from the provider's schema).
- Initialize — Devsy runs the provider init and streams logs.
- Done — review the result. Failures show the underlying error.
The ProviderSheet (click any provider in the list) exposes edit settings, switch version, update, delete, rename, set as default, and re-initialize.
The Desktop Application calls devsy provider add PROVIDER under the hood.
Custom Providers
In the Select step, type one of the following into the Provider Source field below the preset grid:
- A GitHub link to the provider's project
- A URL to a
provider.yaml - A file path to a
provider.yaml
Devsy CLI
Install any provider from the list with:
devsy provider add docker
devsy provider add podman
devsy provider add kubernetes
devsy provider add apple
devsy provider add microsandbox
devsy provider add lima
devsy provider add orbstack
devsy provider add ssh
devsy provider add aws
devsy provider add azure
devsy provider add gcloud
devsy provider add digitaloceanMultiple providers at the same time
You can use the --name flag to add multiple providers of the same type with different options, for example devsy provider add aws --name aws-gpu -o AWS_INSTANCE_TYPE=p3.8xlarge
From GitHub
You can specify a custom provider, directly from GitHub, by using the format
my-username/repo, so for example:
devsy provider add devsy-org/devsy-provider-terraformDevsy will search the latest release for a provider.yaml and download that automatically. This should work for private GitHub repositories where Devsy will use the local https credentials to connect to the GitHub repository.
If you want to install the provider from a different release, you can do the following:
devsy provider add my-org/my-repo@v0.0.1From Local Path
If you have locally downloaded providers, you can also add them directly to
Devsy, by pointing to the file path of provider.yaml manifest:
devsy provider add ../devsy-provider-mock/provider.yamlFrom URL
You can also specify the URL to the provider.yaml file, for example:
devsy provider add https://github.com/devsy-org/devsy-provider-ssh/releases/download/v0.0.3/provider.yamlSet Provider Options
Each provider defines its own options, so they differ from provider to provider.
Desktop Options
To manage options from the app, head over the Providers section, and click
Edit on the provider you want to configure.
CLI Options
Set options during the add or init phase:
devsy provider add <provider-name> -o KEY=valueor
devsy provider init <provider-name> -o KEY=valueTo manage options later, list the current values with:
devsy provider get <provider-name>An example output for the AWS Provider is:
NAME | REQUIRED | DESCRIPTION | DEFAULT | VALUE
----------------------------+----------+--------------------------------+-------------------------+--------------------------
AGENT_PATH | false | The path where to inject the | /var/lib/toolbox/devsy | /var/lib/toolbox/devsy
| | Devsy agent to. | |
AWS_ACCESS_KEY_ID | false | The AWS access key id | |
AWS_AMI | false | The disk image to use. | |
AWS_DISK_SIZE | false | The disk size to use. | 40 | 40
AWS_INSTANCE_TYPE | false | The machine type to use. | c5.xlarge | c5.xlarge
AWS_REGION | true | The AWS cloud region to create | | us-west-2
| | the VM in, e.g. us-west-1 | |
AWS_SECRET_ACCESS_KEY | false | The AWS secret access key | |
AWS_VPC_ID | false | The vpc id to use. | |
INACTIVITY_TIMEOUT | false | If defined, will automatically | 10m | 10m
| | stop the VM after the | |
| | inactivity period. | |
INJECT_DOCKER_CREDENTIALS | false | If Devsy should inject docker | true | true
| | credentials into the remote | |
| | host. | |
INJECT_GIT_CREDENTIALS | false | If Devsy should inject git | true | true
| | credentials into the remote | |
| | host. | |This table is an overview. Change any option with:
devsy provider set <provider-name> --option <KEY>=<VALUE>For example, to change the disk size from 40GB to 120GB:
devsy provider set aws --option AWS_DISK_SIZE=120Run devsy provider get aws again to confirm — the VALUE column for AWS_DISK_SIZE now reads 120.
Single Machine Provider
By default, Devsy will use a separate machine for each workspace using the same provider,
you can enable Reuse machine in a provider in order to use a single machine for all workspaces.
In the desktop app the option is available in the option management interface for the provider (see section above)
In the CLI you can set this option using:
devsy provider init <provider-name> --single-machineDefault Provider
When you add a provider, you can mark it as the default provider. Devsy then uses it for any workspace you create without specifying another.
In the desktop app, you can set a provider to be default in the option management interface for the provider (see section above)
In the CLI you can set this option using:
devsy provider use <provider-name>Updating a Provider's Version or Source
List available versions
devsy provider versions <name>The table shows the published tag, date, and whether it's the currently-installed version. Pass --prerelease to include pre-releases and --no-cache to bypass the version cache.
Re-fetch the current source
devsy provider set-source <name>Re-resolves the provider's existing source. If the source is a registry entry or a GitHub repo without a pinned tag, this pulls the latest release. If the source is already pinned (e.g. github.com/org/repo@v0.1.0), it re-fetches that same version — use --version to move to a different one.
Pin to a specific version
devsy provider set-source <name> --version v0.2.0Equivalent inline form (works for GitHub-hosted providers):
devsy provider set-source <name> github.com/my-org/my-repo@v0.2.0Point at a different source
The set-source command also replaces the provider's source entirely — registry name, GitHub repo, URL, or local path:
devsy provider set-source <name> my-org/my-repo
devsy provider set-source <name> https://path/to/provider.yaml
devsy provider set-source <name> ../path-to/provider.yamlDesktop
Open the Providers sidebar, select a provider, and use the ProviderSheet:
- Select version — pick a tag from the versions dropdown to switch versions.
- Update — jump to the latest release. The button surfaces an "Update available" banner when one is detected.
- Initialize — re-run provider init (handy after upgrades).
Existing workspaces continue to use the version they were created with. Rebuild a workspace (devsy workspace up <name> --recreate) to pick up the new provider.
Removing a Provider
Devsy Desktop
Navigate to the 'Providers' view and click on the trash icon of the provider you want to remove.
If a workspace is currently using the provider, you'll be prompted to first remove that workspace, in order to then remove the provider.
Devsy CLI
Remove an installed provider with:
devsy provider delete <provider name>⚠️ BE CAREFUL:⚠️ Remember first to delete any workspace related to this provider first, or move them to another provider, else you'll not be able to interact with the workspace until you re-install the provider used.
Renaming a Provider
You can rename a provider using the devsy provider rename command. All workspaces and machines using the provider continue to work under the new name. Provider configuration, options, and state are fully preserved.
CLI
devsy provider rename <current-name> <new-name>Example
devsy provider rename my-docker local-dockerConstraints
- The new name must be unique — it cannot match an existing provider.
- Provider names can only contain lowercase letters, numbers, and dashes, up to 32 characters.
- Pro providers (proxy/daemon) cannot be renamed. They are managed by the platform.
- Workspaces bound to the provider must be stopped before renaming.
What happens
- The provider is moved to the new name with all options and settings intact.
- All workspaces and machines associated with the provider are updated to reference the new name.
- If the provider was the default, the default is updated to the new name.
- If any step fails, the entire operation is rolled back to the original state.
GUI
- Navigate to the Providers section.
- Select the provider you want to rename.
- In the provider's configuration page, edit the Provider Name field.
- Click Update Options to save.
Devsy will update the provider and all associated workspaces automatically.
Community Providers
The community maintains providers for additional services.
- Cloudbit (cloudbit-ch/devsy-provider-cloudbit)
- Flow (flowswiss/devsy-provider-flow)
- Hetzner (mrsimonemms/devsy-provider-hetzner)
- OVHcloud (alexandrevilain/devsy-provider-ovhcloud)
- Scaleway (dirien/devsy-provider-scaleway)
- Exoscale (dirien/devsy-provider-exoscale)
- Multipass (minhio/devsy-provider-multipass)
- Open Telekom Cloud (akyriako/devsy-provider-opentelekomcloud)
- Vultr (navaneeth-dev/devsy-provider-vultr)
- STACKIT (stackitcloud/devsy-provider-stackit)
Install these providers with the Devsy CLI:
devsy provider add <user/repository>