Remotely is a self-hosted remote control and remote scripting platform built on .NET 8 and Blazor, offering remote desktop, command execution, file transfer and device inventory.
- v2024.08.07.0819
- Published at
- Aug 12, 2024
- 5,093
- Stars
- 99,299
- Download
- Synced at
- 3d ago
Latest release
v2024.08.07.0819Aug 12, 2024, 04:45 PMREADME
Project Overview
Remotely is maintained by immense as a self-hosted remote control and remote scripting platform. The server is written in .NET 8 with Blazor, each managed machine runs a resident agent, and the two sides hold a long-lived SignalR connection so an administrator sees every online device in one browser tab. Remote desktop, command line, file delivery and alerting share the same console, which makes it a lightweight entry point for do-it-yourself remote operations.
| Item | Value |
|---|---|
| Runtime model | Self-hosted server plus agents plus a web console |
| Stack | .NET 8, Blazor, SignalR Core, Entity Framework Core 8.0.10 |
| Default port | 5000 inside the container |
| Default database | SQLite, switchable to SQL Server or PostgreSQL |
| License | GPL-3.0 |
A server, an agent and a browser console close the loop, putting remote support and scripted operations on one page.
Key Features
- Remote desktop: view and control Windows, Linux and macOS desktops in the browser, with monitor switching
- Remote terminal: PowerShell, CMD, Bash and zsh shells,
/switches shell,Ctrl+Qclears the output - Script delivery: save scripts, run them across devices or an organization, archive every result
- File transfer: upload and download files between server and device through the FileSharing endpoints
- Built-in chat: start a conversation from a device card while supporting a user
- Alert API: one
POST /api/Alerts/Createwrites an in-site notice, sends email and calls a third-party API - Wake-on-LAN: send a magic packet to power on supported machines
- Device inventory: collect CPU, memory, disk and OS version, grouped by organization
Deployment Options
| Option | Best for | Key point |
|---|---|---|
| Docker Compose | Quick single-host rollout | Image immybot/remotely:latest, data mounted at /var/www/remotely |
| Linux bundle | Servers without Docker | Remotely_Server_Linux-x64.zip in Releases is about 740 MB and runs after unzip |
| Build from source | Internal customization | Needs Visual Studio 2022 and the .NET 8 SDK, clone with --recurse for submodules |
Interface and Operation
- Device grid: the home page lists every device by organization with online state, last response and system info
- Remote control page: a device card opens the Viewer, frames arrive over SignalR and the toolbar sends key combos
- Gestures on a phone: a single tap is a left click, a long press then release is a right click, a long press and drag drags
- Terminal panel: open Terminal from device details, commands run on the target and output streams back
- Server config: the
ServerConfigpage holds database, retention, two-factor and recording switches
Target Audience
- Small teams running their own support desk
- Corporate IT managing many endpoints
- Households with several remote machines
- Developers comparing remote control stacks
- Operations engineers needing on-premise tools
Quick Start
- Run
mkdir -p /var/www/remotelyon the server and place the officialdocker-compose.ymlin it - Run
docker compose up -din that folder and wait for the container to pass its health check - Open
http://your-server:5000in a browser and clickRegisteron the home page - That account is both server admin and organization admin, the organization is created and self-registration closes
- Go to
Downloads, fetch the agent for each platform and install it on the machines to manage - Wait for devices to appear, click a card to start a session, and create a token under Account then API Access for API use
System Requirements
| Item | Requirement |
|---|---|
| Server | Docker or Linux x64, the self-contained bundle ships the .NET 8 runtime |
| Database | SQLite by default, SQL Server or PostgreSQL optional |
| Managed devices | Windows 7 and later, Ubuntu LTS, macOS |
| Port | 5000 fixed inside the container, host port configurable |
| Reverse proxy | Only Caddy facing the internet directly is supported |
Notes
- Forwarded headers: behind a proxy, send
X-Forwarded-Proto,X-Forwarded-HostandX-Forwarded-Forand add the proxy IP toKnownProxies - Single organization:
MaxOrganizationCountdefaults to 1, so registration closes after the first account, raise it or set -1 for multi-tenancy - Retention:
DataRetentionInDaysgoverns logs and recordings, -1 keeps them forever, recordings land in/app/AppData/recordings - Device bans: a device in
BannedDevicesreceives an uninstall command as soon as it connects - Linux client deps: the Ubuntu quick support client needs
libx11-dev,libxrandr-dev,libc6-dev,libxtst-devandxclip