Skip to main content
If you’re currently using sf nodes, this guide helps you migrate to sf instances.

Install the new CLI

This aliases the old CLI (which includes sf nodes) to sf-old. You can manage your legacy nodes by running sf-old nodes.

Log in

This opens your browser to authenticate and stores your credentials locally. If it worked, sf me prints the ID of the account you signed in with.

Migrate your nodes

Migrate all running and pending nodes with a single command. Running nodes will not stop during the process.
For each node, this creates a pool and an instance inside it. The instance is named after the original node, and the pool is named <node-name>-pool.

Use your migrated instances

SSH into an instance.
View instance logs.
Terminate a running instance.
Rename an instance.
See the instances documentation for the full list of commands.

Extend a reservation

Just like with sf-old nodes, instances shut down when their reservation ends. You can check when an instance will shut down.
Instances shut down when the pool’s reserved time runs out.
Extend the pool’s reservation, provided there is availability.
See the pools documentation for more on extending.

Create new instances

To launch a new instance (the equivalent of sf-old nodes create --reserved), create a pool, buy compute time into it, and then create an instance.

Why separate pools?

You can run multiple instances in one pool, but we recommend separate pools for the use case sf nodes was built for. Actions in a pool can affect all instances running in it. Imagine Alice and Bob both have a dev instance in the same pool. If Alice sells back the remaining time on her instance, it reduces the pool’s allocation to 1. At that point, one of their instances gets terminated - and without careful coordination, it might be the wrong one. Separate pools avoid this problem entirely.