> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vessl.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# vessl workspace

### Overview

Run `vessl workspace --help` to view the list of commands, or `vessl workspace [COMMAND] --help` to view individual command instructions.

### Create a workspace

```bash theme={null}
vessl workspace create [OPTIONS] NAME
```

| Argument | Description    |
| -------- | -------------- |
| `NAME`   | workspace name |

| Option                             | Description                                                                                                                           |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `-c`, `--cluster`                  | Cluster name (must be specified before other options)                                                                                 |
| `--node`                           | Cluster nodes. Defaults to all nodes in cluster.                                                                                      |
| `-r`, `--resource`                 | Resource type to run an experiment (for managed cluster only)                                                                         |
| `--processor-type`                 | `CPU` or `GPU` (for custom cluster only)                                                                                              |
| `--cpu-limit`                      | Number of vCPUs (for custom cluster only)                                                                                             |
| `--memory-limit`                   | Memory limit in GiB (for custom cluster only)                                                                                         |
| `--gpu-type`                       | GPU type (for custom cluster only) ex. `Tesla-K80`                                                                                    |
| `--gpu-limit`                      | Number of GPU cores (for custom cluster only)                                                                                         |
| `-i`, `--image-url`                | Kernel docker image URL ex. `vessl/kernels:py36.full-cpu`                                                                             |
| `--max-hours`                      | Maximum number of hours to run workspace. Defaults to 24.                                                                             |
| `--dataset` (*multiple*)           | Dataset mounts in the form of `[mount_path]:[dataset_name]` ex. `<code>`--dataset /input:mnist\`                                      |
| `--upload-local-file` *(multiple)* | Upload local file. Format: \[local\_path] or \[local\_path]:\[remote\_path].ex. \`--upload-local-file my-project:/root/my-project\`\` |
| `--root-volume-size`               | Root volume size (defaults to `100Gi`)                                                                                                |
| `-p`, `--port` *(multiple)*        | Format: \[expose\_type] \[port] \[name], ex. `-p 'tcp 22 ssh'`. Jupyter and SSH ports exist by default.                               |
| `--init-script`                    | Custom init script                                                                                                                    |

###

### Connect to a running workspace

```bash theme={null}
vessl workspace ssh [OPTIONS]
```

| Option     | Description          |
| ---------- | -------------------- |
| --key-path | SSH private key path |

### Connect to workspaces via VSCode Remote-SSH <a href="#savvihub-workspace-vscode" id="savvihub-workspace-vscode" />

```bash theme={null}
vessl workspace vscode [OPTIONS]
```

| Option     | Description          |
| ---------- | -------------------- |
| --key-path | SSH private key path |

```bash theme={null}
$ vessl workspace vscode
Updated '/Users/johndoe/.ssh/config'.
```

### Backup the home directory of the workspace <a href="#savvihub-workspace-backup" id="savvihub-workspace-backup" />

Create a zip file at `/tmp/workspace-backup.zip` and uploads the backup to VESSL server.

<Note>You should run this command inside a running workspace.</Note>

```bash theme={null}
vessl workspace backup
```

```bash theme={null}
$ vessl workspace backup
Successfully uploaded 1 out of 1 file(s).
```

### Restore workspace home directory from a backup.  <a href="#savvihub-workspace-restore" id="savvihub-workspace-restore" />

Download the zip file to `/tmp/workspace-backup.zip` and extract to `/root/`.

<Note>You should run this command inside a running workspace.</Note>

```bash theme={null}
vessl workspace restore
```

```bash theme={null}
$ vessl workspace restore
[?] Select workspace: rash-uncle (backup created 13 minutes ago)
 > rash-uncle (backup created 13 minutes ago)
   hazel-saver (backup created 2 days ago)

Successfully downloaded 1 out of 1 file(s).
```

### List all workspaces <a href="#usd-savvihub-image-list" id="usd-savvihub-image-list" />

```
vessl workspace list
```

### View information on the workspace

```
vessl workspace read ID
```

| Argument | Description  |
| -------- | ------------ |
| `ID`     | Workspace ID |

### View logs of the workspace container

```
vessl workspace logs ID
```

| Argument | Description  |
| -------- | ------------ |
| `ID`     | Workspace ID |

| Option   | Description                                               |
| -------- | --------------------------------------------------------- |
| `--tail` | Number of lines to display from the end (defaults to 200) |

### Start a workspace container

```
vessl workspace start ID
```

| Argument | Description  |
| -------- | ------------ |
| `ID`     | Workspace ID |

### Stop a workspace container

```
vessl workspace stop ID
```

| Argument | Description  |
| -------- | ------------ |
| `ID`     | Workspace ID |

### Terminate a workspace container

```
vessl workspace terminate ID
```

| Argument | Description  |
| -------- | ------------ |
| `ID`     | Workspace ID |
