Skip to main content
Get connected to your first edge device in just a few minutes. This guide walks you through installing m87, setting up a device, and running your first commands.
Prerequisites: m87 installed on your developer machine (installation guide)

Overview

You’ll complete four steps:
  1. Authenticate on your developer machine
  2. Start the runtime on an edge device
  3. Approve the device registration
  4. Start using the device
1

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/.
2

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.
3

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.
4

Start using your device

List your devices:
You’ll see output like:
Now you can interact with your device!

Try these commands

Once your device is connected, try these common operations:

Open a shell

Get an interactive shell on the remote device:
Type 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:
Now access 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:
Or copy from the device to your local machine:

Sync directories

Sync a local directory to the device (rsync-style):
Add --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:
This enables the runtime to start automatically on boot.
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:
If stopped, start it:

Need help?

Report issues or ask questions on GitHub