Streamline Local Development with SSH

You can securely connect your local development tools to a remote Domino workspace using SSH. This allows you to interact with workspace files and computing resources directly from your local applications; improving productivity and enabling powerful remote workflows.

You can use SSH access with any local development tool, including:

  • VS Code to browse and edit code files directly from your local IDE.

  • ParaView to stream rendered visualizations from a remote workspace to your desktop client.

  • Use the Remote - SSH extension if you import your VS Code extensions into Cursor.

This guide covers setup and connection steps for both tools.

Prerequisites

To use SSH with Domino workspaces, make sure you have the following:

  • Your Domino workspace is based on an SSH-enabled environment. For example, openssh-server is installed.

  • sshd is running in the workspace.

  • You have installed the new Domino CLI to authenticate and connect via SSH.

  • You have started a workspace and have the Workspace ID (available in the workspace settings pane or under Show Details).

  • Your local machine supports SSH and the necessary development tools:

    • For VS Code: the Remote - SSH extension

    • For ParaView: a local installation of ParaView Desktop

  • For most IDEs compatibility, make sure to include a Domino SSH configuration file into your local SSH configuration.

    • For Linux/Mac users, just add the line Include ~/.domino/ssh/config to your ~/.ssh/config file.

Connect with VS Code

Using VS Code’s Remote - SSH extension, you can access a Domino workspace directly from your local editor. This enables you to browse, edit, execute, and debug files.

Run the Domino connect command on your local machine (replace <workspace_id> and <your-domino-url> accordingly):

dom connect <workspace_id> --domino-api-host=https://<your-domino-url> -l ubuntu

Follow the command’s instructions. It will return:

  • An SSH command

  • A path to a configuration file

Next, configure VS Code:

  1. Copy the path to the config and include it in your ~/.ssh/config file.

  2. Open VS Code. From the sidebar, choose Remote Explorer > SSH.

  3. Select your workspace from the list (as configured by the dom connect output).

You are now connected to your remote workspace within VS Code and can work as if the files were local.

The VS Code documentation provides full instructions for connecting to a remote host.

Connect with ParaView

ParaView allows offloading rendering to a remote server and streaming visualization results to your local machine. Domino workspaces can serve as that remote backend.

  1. Ensure your workspace environment has ParaView installed and SSH is enabled.

  2. Start the ParaView server inside the workspace:

    1. In the environment’s pre-run script: pvserver

    2. Or manually with the terminal.

The default bind port is 11111.

  1. Establish an SSH connection from your local machine:

    dom connect <workspace_id> --domino-api-host=https://<your-domino-url> -l ubuntu
  2. Add port forwarding to expose the remote ParaView server locally. If you’ve included this config in your default SSH file, the -F flag is optional:

    ssh -L 11111:localhost:11111 <workspace-id> -F /path/to/ssh/config
  3. Connect from your local ParaView Desktop:

  4. Go to File > Connect > Add Server.

  5. Fill in the following:

    1. Server Name: any name

    2. Server Type: Client / Server

    3. Host: localhost

    4. Port: 11111

  6. Click Configure > Startup Type: Manual > Save.

  7. Select the server and click Connect.

You are now visualizing remote data with local interactivity.

Connect with PyCharm

Run the Domino connect command on your local machine (replace <workspace_id> and <your-domino-url> accordingly), and add the --port argument to specify a custom local port:

dom connect <workspace_id> --domino-api-host=https://<your-domino-url> -l ubuntu --port 2223

Follow the command’s instructions. It will return:

  • An SSH command

  • A path to a config file. Make sure this file is included in your local SSH configuration file.

Next, configure PyCharm project:

  1. Open PyCharm and create a new Project under Remote Development > SSH.

  2. Set Username to the workspace linux user (same as the -l argument of dom connect, for example ubuntu).

  3. Set Host to the <workspace_id>.

  4. Set Port to the one you specified in the --port argument of dom connect, for example 2223.

  5. Follow the wizard steps to connect and open your files.

Some considerations:

  • Make sure to use the same --port next time you wish to connect to the same workspace so that you can use the same PyCharm configuration.

  • If you need to access multiple workspaces at the same time, use different --port values for each so you can reference them in different PyCharm configurations.

Custom TLS certificate authority

If your Domino instance is using custom CAs in the TLS certificate signatures, make sure you also install the certificates to your local environment.

On Mac you can use sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain your_certificate.crt. On windows you need to import the certificate into the Trusted Root Certification Authorities store using the Certificate Manager tool.

Next steps