Remote VM Deployment
The most common remote deployment method is a Virtual Machine (VM) running Docker. We provide a seamless "Remote CLI" experience that allows you to manage these VMs as if they were local.
Remote Management via --remote
The --remote flag switches the CLI client to communicate with a remote node. This allows you to manage lifecycle events (like stopping a node) without manually SSHing into the machine.
Example: Shutting down a remote node without authentication prompts
para docker --remote [node_id] down -y --no-auth
Context Management The CLI maintains a Context for every node created. This tracks where a node lives (Local, VM, or Kubernetes) and its unique ID.
View all contexts: para context show
Unique IDs: Every node is assigned a globally unique ID. Even if you have a local version and a remote version of the same project, they are tracked as distinct entities in your context.
Setting Up a Remote VM To deploy to a remote provider (e.g., AWS, GCP, DigitalOcean), follow these steps:
1. Provision the VM
Create a VM instance and ensure Docker is installed.
2. Configure SSH
The CLI utilizes your local SSH config. Add your VM details to ~/.ssh/config:
Host my-remote-node
HostName [IP_ADDRESS]
User [USERNAME]
IdentityFile ~/.ssh/id_rsa
ForwardAgent yes
3. Deploy
Once the SSH config is set, you can deploy the node remotely. This action will add the node to your local context.
para docker --remote deploy node
Note on DNS: While the SSH Host is for CLI access, you should point your DNS provider (e.g., node.example.com) to the VM's IP address to make it accessible to the network.