---
myst:
html_meta:
"description lang=en": "Dropbox Storage Provider configuration guide for Kasm Workspaces"
"keywords": "Dropbox, Storage Provider, Storage Mapping, Cloud Storage"
"property=og:locale": "en_US"
---
```{title} Dropbox Storage Provider Setup
```
## Dropbox Storage Provider Setup
The [Dropbox](https://www.dropbox.com/) Storage Provider allows end-users to map in their OneDrive storage into
container-based sessions. Access is provided via [Dropbox's OAuth interface](https://www.dropbox.com/apps) and
leveraging the [Rclone](https://rclone.org) Docker volume plugin.
Reference Docs:
-
### Creating a Dropbox OAuth App
1. Login to the Dropbox App Console: .
2. Select **Scoped Access**, **Full Dropbox**, give the app a name (e.g `Kasm-Example`), then click **Create app**.
```{figure} /images/storage_providers/dropbox/create_new_app.png
:align: center
**Create new App**
```
3. On the next screen take note of the **App key** and **App Secret** , these will be used as the **Client ID** and
**Client Secret** in the Storage Provider Configuration.
```{figure} /images/storage_providers/dropbox/app_key_secret.png
:align: center
**Authentication Details**
```
4. In the **Development users** section, click **Enable additional users** to allow additional accounts to use this app.
```{figure} /images/storage_providers/dropbox/enable_additional_users.png
:align: center
**Enable Additional Users**
```
5. In the OAuth 2 section, enter the following URL for **Redirect URI** , substituting the hostname of the Kasm
deployment `https://kasm.example.com/api/cloud_storage_callback` , then click *Add*.
```{figure} /images/storage_providers/dropbox/app_redirect.png
:align: center
**Redirect Settings**
```
6. Select the **Permissions** tab and ensure the following permissions are selected, then click **Submit**.
```text
account_info.read
files.metadata.read
files.metadata.write
files.content.write
files.content.read
sharing.read
sharing.write
```
```{figure} /images/storage_providers/dropbox/app_permissions.png
:align: center
**DropBox Permissions**
```
### Kasm Storage Provider Config
1. Log into the Kasm UI as an administrator.
2. Select **Settings** -> **Storage** -> **Add**.
3. Update the form with the following entries, using the **Client ID** and **Client Secret** gathered
in the previous section.
```{eval-rst}
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Name | :code:`Dropbox` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Storage Provider Type | :code:`Dropbox` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Enabled | :code:`checked` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Client ID | :code:`` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Client Secret | :code:`` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Authorization URL | :code:`https://www.dropbox.com/1/oauth2/authorize` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Authorization URL Options | :code:`{"include_granted_scopes" : "user", "access_type" : "offline", "token_access_type" : "offline"}` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Token URL | :code:`https://api.dropboxapi.com/1/oauth2/token` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Redirect URL | :code:`https:///api/cloud_storage_callback` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Scope | .. code-block:: text |
| | |
| | files.metadata.read |
| | files.metadata.write |
| | files.content.read |
| | files.content.write |
| | sharing.read |
| | sharing.write |
| | account_info.read |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Default Target | :code:`/dropbox` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Volume Config | .. code-block:: json |
| | |
| | { |
| | "driver" : "rclone", |
| | "driver_opts" : { |
| | "type" : "dropbox", |
| | "uid" : "1000", |
| | "gid" : "1000", |
| | "allow_other" : "true" |
| | } |
| | } |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
| Mount Config | :code:`{}` |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------+
```
4. Click **Save** to save the changes.
```{include} /user_guide/storage_providers/dropbox.md
```