Add session app workspace backup

This commit is contained in:
Noam Wasersprung 2025-05-06 12:16:39 +03:00 committed by GitHub
commit b5f7a9a89d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 52 additions and 11 deletions

View File

@ -10,6 +10,9 @@ The Jupyter Lab UI application allows you to launch a remote Jupyter Lab session
This feature provides a local link to access Jupyter Lab on a remote machine over a secure and encrypted SSH connection,
letting you use the IDE as if you're running on the target machine itself.
The Jupyter Lab app offers workspace management features, allowing you to store, sync, and restore interactive workspaces
across sessions. This ensures that all your work is preserved and can be easily accessed in future sessions.
The Jupyter Lab session is set up using a [ClearML Agent](../../clearml_agent.md). When configuring an app instance,
select a queue, and the agent servicing that queue will download and launch the IDE on its machine. When the server
setup is complete, the dashboard displays a link to access the Jupyter Lab session.
@ -20,8 +23,10 @@ Once you have launched an app instance, you can view the following information i
* <img src="/docs/latest/icons/ico-jupyter-lab-active.svg" alt="Jupyter active" className="icon size-md" /> - Remote IDE is active
* <img src="/docs/latest/icons/ico-jupyter-lab-idle.svg" alt="Jupyter idle" className="icon size-md" /> - Remote IDE is idle
* <img src="/docs/latest/icons/ico-jupyter-lab-stopped.svg" alt="Jupyter stopped" className="icon size-md" /> - Remote IDE is stopped
* Open IDE - link to the IDE session
* Idle time
* Restored workspace - If a previous sessions workspace was restored, this will display that session's ID
* Current session ID
* Open IDE - Link to the IDE session
* Server's resources monitoring (CPU / GPU / vMem utilization)
* Console - The console log shows the instance's activity, including server setup progress, server status changes
@ -51,14 +56,27 @@ to open the app's instance launch form.
* Repository
* Branch
* Commit
* Store git repository as part of the snapshot - If you select to `Store git repo`, a copy of the repo will be stored
in the workspace under `./git_repo`. Otherwise, the workspace will include a `./git_repo_not_synced` soft link to the
expected repo path
* **Container**
* Image - Container image used to run the IDE in
* Docker arguments - `docker run` arguments, as a single string
* Init script - Bash script that is executed upon container boot (comments are supported only at the beginning of the
line)
* **Extra Packages** - Extra Python packages to be installed
* **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session
is closed and available for restoring into new sessions (example: `~/workspace`)
* **Queue** - The queue serviced by the ClearML Agent that will execute the Jupyter Lab session
* **Maximum idle time** (hours) - Maximum time of inactivity, after which the session will shut down. Configure idleness
definitions under `Advanced Options`.
* **Interactive Session Name** - Name for your current interactive session
* **Advanced Options**
* Interactive Session Project - The ClearML project in which the interactive session is created. If left empty, the
default project `Interactive Session` is used
* Interactive Session Tags - Comma separated list of tags to add to your interactive session task.
* Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace (when
cloning a previously run app instance, this field is automatically filled with its ID)
* Idle Network Threshold (MB/s) - Throughput under which the session will be considered idle
* Idle CPU Threshold (%) - CPU utilization under which the session will be considered idle
* Idle GPU Threshold (%) - GPU utilization under which the session will be considered idle

View File

@ -26,7 +26,7 @@ Once you have launched an app instance, you can view the following information i
* <img src="/docs/latest/icons/ico-ssh-idle.svg" alt="Idle instance" className="icon size-lg space-sm" /> - Remote SSH session is idle
* <img src="/docs/latest/icons/ico-ssh-stopped.svg" alt="Stopped instance" className="icon size-lg space-sm" /> - Remote SSH session is stopped
* Idle time
* Restored workspace - If a previous sessions workspace was restored, this will display its session ID
* Restored workspace - If a previous sessions workspace was restored, this will display that session's ID
* Current session ID
* SSH:Host:Port - The hostname and port for the SSH connection
* User - SSH username for the interactive session
@ -68,23 +68,27 @@ values from the file, which can be modified before launching the app instance
* Repository
* Branch
* Commit
* Store git repository as part of the snapshot - If you select to `Store git repo`, a copy of the repo will be stored
in the workspace under `./git_repo`. Otherwise, the workspace will include a `./git_repo_not_synced` soft link to the
expected repo path
* **Container** - Input details to run the session in Docker container
* Image - Container image to launch
* Docker Arguments - Additional arguments for the Docker image
* Init Script - Bash script that is executed upon container boot (comments are supported only at the beginning of the
line)
* **Extra Packages** - Specify Python packages to install when setting up the remote environment
* **Persistent Workspace Path** - Specify your workspace root directory, it will be automatically stored when the session is
closed and restored into a new instance when the session app instance is cloned (example: `~/workspace`)
* **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session
is closed and available for restoring into new sessions (example: `~/workspace`)
* **Queue** - The [ClearML Queue](../../fundamentals/agents_and_queues.md#what-is-a-queue) to which the SSH Session app
instance task will be enqueued (make sure an agent is assigned to that queue)
* **Maximum idle time** (in hours) - Maximum idle time after which the app instance will shut down
* **Interactive Session Name** - Name your current interactive session
* **Interactive Session Name** - Name for your current interactive session
* **Advanced Options**
* Interactive Session Project - The project in which the interactive session is created. If left empty, the default
project `Interactive Session` is used
* Interactive Session Tags - Comma separated list of tags to add to your interactive session
* Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace
* Interactive Session Project - The ClearML project in which the interactive session is created. If left empty, the
default project `Interactive Session` is used
* Interactive Session Tags - Comma separated list of tags to add to your interactive session task.
* Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace (when
cloning a previously run app instance, this field is automatically filled with its ID)
* Use DropBear SSH server instead of OpenSSH server - Use DropBear SSH server instead of OpenSSH server. Required if
not running as root inside container
* Idle Network Threshold (MB) - Network throughput under which the session will be considered idle

View File

@ -10,6 +10,9 @@ The VS Code UI application allows you to launch a remote VS Code session on a ma
This feature provides a local link to access VS Code on a remote machine over a secure and encrypted SSH connection,
letting you use the IDE as if you're running on the target machine itself.
The VS Code app offers workspace management features, allowing you to store, sync, and restore interactive workspaces
across sessions. This ensures that all your work is preserved and can be easily accessed in future sessions.
The VS Code session is set up using a [ClearML Agent](../../clearml_agent.md). When configuring an app instance,
select a queue, and the agent servicing that queue will download and launch the IDE on its machine. When the server
setup is complete, the dashboard displays a link to access the VS Code session.
@ -20,8 +23,10 @@ Once you have launched an app instance, you can view the following information i
* <img src="/docs/latest/icons/ico-vscode-active.svg" alt="VS Code active" className="icon size-md" /> - Remote IDE is active
* <img src="/docs/latest/icons/ico-vscode-idle.svg" alt="VS Code idle" className="icon size-md" /> - Remote IDE is idle
* <img src="/docs/latest/icons/ico-vscode-stopped.svg" alt="VS Code stopped" className="icon size-md" /> - Remote IDE is stopped
* Open IDE - link to the IDE session
* Idle time
* Restored workspace - If a previous sessions workspace was restored, this will display that session's ID
* Current session ID
* Open IDE - Link to the IDE session
* Server's resources monitoring (CPU / GPU / vMem utilization)
* Console - The console log shows the instance's activity, including server setup progress, server status changes
@ -51,13 +56,27 @@ to open the app's instance launch form.
* Repository
* Branch
* Commit
* Store git repository as part of the snapshot - If you select to `Store git repo`, a copy of the repo will be stored
in the workspace under `./git_repo`. Otherwise, the workspace will include a `./git_repo_not_synced` soft link to the
expected repo path
* **Container**
* Image - container image used to run the IDE in
* Docker arguments - `docker run` arguments, as a single string
* Init script - Bash script that is executed upon container boot (comments are supported only at the beginning of the
line)
* **Extra Packages** - Extra Python packages to be installed
* **Persistent Workspace Path** - Specify your workspace root directory. It will be automatically stored when the session
is closed and available for restoring into new sessions (example: `~/workspace`)
* **Queue** - The queue serviced by the ClearML Agent that will execute the VS Code session
* **Maximum idle time** (hours) - Maximum time of inactivity, after which the session will shut down. Configure idleness
definitions under `Advanced Options`.
* **Interactive Session Name** - Name for your current interactive session
* **Advanced Options**
* Interactive Session Project - The ClearML project in which the interactive session is created. If left empty, the
default project `Interactive Session` is used
* Interactive Session Tags - Comma separated list of tags to add to your interactive session task.
* Restore Interactive Workspace ID - Input a previously run interactive session ID to restore its workspace (when
cloning a previously run app instance, this field is automatically filled with its ID)
* VSCode Version - VSCode code-server version to download
* VSCode additional extensions - Comma separated list of additional VSCode extensions to install (for example `ms-toolsai.jupyter,ms-python.python`)
* Idle Network Threshold (MB/s) - Throughput under which the session will be considered idle