Interactive installation
The one-liner installer is the fastest way to onboard a single device:
curl -fsSL https://get.thinremote.io/install.sh | shIt will:
- Detect your OS (Linux or macOS), architecture, and init system.
- Download the correct fully-static binary from
get.thinremote.io(16 Linux architectures plus Intel and Apple Silicon macOS; see supported architectures). - Register the service (systemd, launchd, OpenRC, SysV, or Upstart; see supported init systems).
- Guide you through authentication.
- Start the agent.
The installer only needs curl or wget; everything else is self-contained, since the binary has no runtime dependencies.
Devices without HTTPS support
Some minimal embedded images lack TLS-capable download tools. The installer also works over plain HTTP, and the agent still talks to the platform over TLS afterwards:
curl -fsSL http://get.thinremote.io/install.sh | shAuthentication options
When the installer reaches the authentication step it offers several ways to claim the device:
- Browser (OAuth 2.0 device flow) is the recommended path. The installer shows a short code and a URL; open it on any machine, sign in, and approve. Nothing sensitive is typed on the device.
- Username and password, entered directly on the device. Credentials are exchanged for a device token and never stored on disk.
- Provisioning token: paste a pre-issued token. This is the same mechanism used by headless provisioning.
Whichever method you choose, the result is the same: the device receives its own long-lived device credentials, stored in the agent config file. Your user password or browser session is never persisted on the device.
Root or user mode
Run the installer as root (or via sudo) for a system-wide install, or as a regular user for an unprivileged one:
| System install (root) | User install | |
|---|---|---|
| Binary | /usr/local/bin/thinr-agent (or /usr/bin if /usr/local/bin isn't on PATH) | ~/.local/bin/thinr-agent |
| Config | /etc/thinr-agent/config.json | ~/.config/thinr-agent/config.json |
| Service (systemd) | /etc/systemd/system/thinr-agent.service | ~/.config/systemd/user/thinr-agent.service |
The config file format is documented in the config file reference. In user mode the agent runs with your user's permissions: remote terminal, file access, and exec are all constrained by the OS accordingly. On Linux, enable lingering so a user-mode agent starts at boot without a login session:
loginctl enable-linger $USERVerify it's running
systemctl status thinr-agent # Linux, system install
systemctl --user status thinr-agent # Linux, user install
sudo launchctl list | grep thinr # macOSOr ask the agent itself:
thinr-agent statusThe device should immediately appear in the web console and in thinr device list.
Reconfigure or uninstall
The installed binary doubles as its own management tool:
thinr-agent reconfigure # re-run the interactive setup (new server, new credentials…)
thinr-agent test # test connectivity with the current config
thinr-agent uninstall # remove the service and configurationTroubleshooting
- Unsupported architecture: the installer maps
uname -mto a binary name. If your platform is missing, check the architecture list and open an issue. - Self-signed server certificate: when pointing the agent at a server with a self-signed certificate, forward
--no-verify-sslto the install command (see headless provisioning for how to pass flags through the installer). For a private CA, pointSSL_CERT_FILEat your bundle instead; see environment variables. - Device already exists: re-installing a device that is already registered prompts before overwriting. Pass
--overwriteto skip the prompt. - The service didn't start: run the binary in the foreground with verbose logging to see why:
thinr-agent -v(or-vvfor debug).