Skip to content

MEPD Drive (Remote)πŸ”—

This page documents the standard workflow for launching MEPD Drive on a remote machine and connecting from your laptop over SSH.

When to use thisπŸ”—

Use remote Drive when:

  • your compute environment (engines/credentials/filesystem) lives on a server or cluster
  • you want to keep long-running jobs on that remote machine
  • you only need browser access locally

1. Launch Drive on the remote machineπŸ”—

On the remote host:

cd /path/to/neb-dynamics
git switch <branch-name>
uv run mepd drive \
  --workspace /path/to/mepd-drive/<run-folder> \
  --host 127.0.0.1 \
  --port 51113 \
  --no-open

Notes:

  • --host 127.0.0.1 keeps the server private to the remote machine
  • fixed --port makes tunneling predictable
  • use --workspace to resume an existing run

2. Create an SSH tunnel from your laptopπŸ”—

On your laptop:

ssh -N -L 51113:127.0.0.1:51113 <user>@<remote-host>

Keep this terminal open while using Drive.

3. Open Drive locallyπŸ”—

In your local browser:

http://127.0.0.1:51113/

Alternate: ask Drive to print tunnel commandπŸ”—

You can have mepd drive print a ready-made SSH tunnel command:

uv run mepd drive \
  --workspace /path/to/mepd-drive/<run-folder> \
  --host 127.0.0.1 \
  --port 51113 \
  --ssh-login <user>@<remote-host> \
  --local-port 51113 \
  --no-open

Bootstrap a new remote run from CLIπŸ”—

If you do not already have a workspace:

uv run mepd drive \
  --smiles "C=CC(O)CC=C" \
  --product-smiles "C=CC(=O)CC=C" \
  --environment "O" \
  --inputs examples/example_inputs.toml \
  --name allylic_alcohol_drive \
  --host 127.0.0.1 \
  --port 51113 \
  --no-open

Then tunnel and open the same way.

TroubleshootingπŸ”—

Tunnel connects but page does not loadπŸ”—

  • confirm remote Drive is still running
  • verify remote port and local tunnel port match
  • check that remote launch used --host 127.0.0.1

Port already in useπŸ”—

  • choose a different port on both commands, for example 52222

Wrong branch/version in UIπŸ”—

  • restart Drive after pulling/changing branches
  • hard-refresh the browser after restart

Existing workspace won’t loadπŸ”—

  • pass the workspace directory directly with --workspace
  • ensure workspace.json exists inside that directory