Set up a custom storage provider
Custom storage providers let administrators create free-form configurations that create Docker volumes and map them into containers. Configuration is driven through the Volume Config and Mount Config options, in accordance with the Docker volume plugin and driver options you want.
Unlike the other providers, storage mappings for custom storage providers can be configured only by administrators. No settings are exposed on the storage mappings for custom storage providers, so they serve only as an association by the administrator to a Workspace, group, or user.
S3 example
This example uses variable substitution so each user gets their own storage location.
| Name | Custom Provider |
|---|---|
| Storage Provider Type | Custom |
| Enabled | checked |
| Default Target | /custom-{username} |
| Volume Config (S3 Example) | |
| Mount Config | {} |
S3 with file-based encryption example
This example uses the Rclone storage driver's crypt remote as a wrapper around the previous S3 example. It adds file-based encryption to each user's files. Files are encrypted and decrypted transparently in the Kasm session, and they are obfuscated and encrypted when viewed from the S3 console.


| Name | Custom Provider |
|---|---|
| Storage Provider Type | Custom |
| Enabled | checked |
| Default Target | /custom-{username} |
| Volume Config (S3 Example) | |
| Mount Config | {} |
Azure Blob example
The Azure Blob storage account name and key are in the Security + networking, then Access keys section. For more information on the Azure Blob parameters, see the Rclone Azure Blob documentation.
| Name | Custom Provider |
|---|---|
| Storage Provider Type | Custom |
| Enabled | checked |
| Default Target | /custom |
| Volume Config (Azure Blob Example) | |
| Mount Config | {} |

SMB/CIFS example
For more information on the SMB parameters, see the Rclone SMB documentation. The smb-pass option must be an obscured value produced by the Rclone obscure utility. Install the latest version of Rclone on a separate system and use the rclone obscure utility to generate the obscured password for the configuration.
| Name | Custom Provider |
|---|---|
| Storage Provider Type | Custom |
| Enabled | checked |
| Default Target | /custom |
| Volume Config (SMB Example) | |
| Mount Config | {} |
Many of the storage provider examples include default storage driver options used by Rclone. These options work well with Kasm in its default configuration, and administrators can adjust them as needed. The available options often vary by provider plugin, for example Google Drive compared with OneDrive.
The Rclone Docker plugin is installed by default as part of the standard Workspace install. For more information about Rclone driver options, see the Rclone Docker documentation.
Digital Ocean Spaces example
| Name | Custom Provider |
|---|---|
| Storage Provider Type | Custom |
| Enabled | checked |
| Default Target | /custom |
| Volume Config (S3 Example) | |
| Mount Config | {} |
Google Cloud Storage example
| Name | Custom Provider |
|---|---|
| Storage Provider Type | Custom |
| Enabled | checked |
| Default Target | /custom |
| Volume Config (S3 Example) | |
| Mount Config | {} |
Create the storage mapping
Storage mappings for custom storage providers can be configured only by administrators.
- From the Workspaces app, select the Workspace, user, or group to associate with the storage mapping.
- Select the Storage Mapping tab, then Add Storage Mapping.

- Select the custom storage provider from the Type drop-down, then select Next.

- Launch a new container-based session. Confirm that the custom storage is mapped inside the session at the
/customlocation.
