Prerequisites: m87 installed on your developer machine (installation guide)
Overview
You’ll complete four steps:- Authenticate on your developer machine
- Start the runtime on an edge device
- Approve the device registration
- Start using the device
Authenticate on your developer machine
Login to create your account. This opens your browser for OAuth authentication:After successful authentication, your credentials are stored locally in
~/.config/m87/.Start the runtime on your edge device
On the edge device (e.g., Raspberry Pi, NVIDIA Jetson, server), install m87 and start the runtime:This registers the device and prints a request ID:The runtime waits for approval before connecting.
Approve the device
Back on your developer machine, approve the pending device:Or approve via the web UI at make87.com/devices.Once approved, the runtime on the edge device automatically connects and starts accepting commands.
Try these commands
Once your device is connected, try these common operations:Open a shell
Get an interactive shell on the remote device:exit or press Ctrl+D to close the shell.
Execute a command
Run a single command:Forward a port
Forward port 8080 from the remote device to your local machine:http://localhost:8080 to reach the service running on the device.
Check Docker containers
List running containers:Copy files
Copy a file from your local machine to the device:Sync directories
Sync a local directory to the device (rsync-style):--watch to continuously sync on file changes:
Set up runtime as a service
To keep the runtime running persistently on your edge device, set it up as a systemd service:The runtime service runs as your user (not root) and automatically restarts on failure.Use
m87 runtime status to check the service status or m87 runtime stop to stop it.What’s next?
Port forwarding
Forward ports, sockets, and serial devices
File transfer
Copy and sync files with remote devices
Deployments
Deploy containerized applications
SSH setup
Use standard SSH tools with m87
Troubleshooting
Device not appearing after approval
Wait a few seconds for the connection to establish. Check the runtime logs on the device:Authentication issues
Re-authenticate if your session expires:Can’t connect to device
Ensure the runtime is running on the device:Need help?
Report issues or ask questions on GitHub