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.1keeps the server private to the remote machine- fixed
--portmakes tunneling predictable - use
--workspaceto 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.jsonexists inside that directory