--- myst: html_meta: "description lang=en": "Create Custom Storage Providers in Kasm Workspaces." "keywords": "Storage Mapping, Storage Providers, Custom, Docker Volumes, Volume Drivers, Volume Driver Options" "property=og:locale": "en_US" --- ```{title} Custom Storage Provider Setup ``` ## Custom Storage Provider Setup Custom storage providers give administrators the ability to create free-form configurations that create docker volumes and then map them into containers. Configuration is largely instrumented through the **Volume Config** and **Mount Config** options in accordance with any desired docker volume plugin and driver options. Unlike the other providers, Storage Mappings for Custom Storage Providers may only be configured by administrators. No settings are exposed on the Storage Mappings for Custom Storage Providers, so they only service as an association by the admin to a Workspace, Group, or User. Example ```{eval-rst} +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Name | :code:`Custom Provider` | +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Storage Provider Type | :code:`Customer` | +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Enabled | :code:`checked` | +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Default Target | :code:`/custom` | +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Volume Config | .. code-block:: json | | (S3 Example) | | | | { | | | "driver" : "rclone", | | | "driver_opts" : { | | | "type" : "s3", | | | "path" : "bucket-name", | | | "s3-provider" : "AWS", | | | "s3-env-auth" : "false", | | | "s3-access-key-id": "--redacted--", | | | "s3-secret-access-key": "--redacted--", | | | "s3-region" : "us-east-1", | | | "uid" : "1000", | | | "gid" : "1000", | | | "allow_other" : "true" | | | } | | | } | +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ | Mount Config | :code:`{}` | +-------------------------------+--------------------------------------------------------------------------------------------------------------------+ ``` ```{include} /guide/storage_providers/rclone.md ``` ### Create Storage Mapping Storage Mappings for Custom Storage Providers can only be configured by Administrators. 1. From the Workspaces app , select the desired Workspace, User or Group to associate with the Storage Mapping. 2. Select **Storage Mapping** tab and select **Add Storage Mapping**. ```{figure} /images/storage_mapping/custom/add_storage_mapping.png :align: center **Add Storage Mapping** ``` 3. Select the Custom Storage Provider from the **Type** dropdown and select **Next** ```{figure} /images/storage_mapping/custom/custom_storage_mapping.png :align: center **Configure Storage** ``` 4. Launch a new container-based session. Verify the Custom storage is mapped inside the session at the `/custom` location. ```{figure} /images/storage_mapping/custom/files.png :align: center **Custom Mount**