Remotely: Self-Hosted Teamviewer Alternative

Remotely is another open source, self-hosted alternative to Teamviewer. Remotely has portable/resident client programs for Windows and Linux and a resident agent for MacOS.

Remotely is actively developed by Immense Networks and their Github is here.

After the demonstration in the tutorial, I show the installation of “Remotely” in a LXD container. If you are unfamiliar with LXD, watch my video entitled “LXD Step by Step”. Here’s the command to create the LXD container:

lxc launch ubuntu:22.04 Remotely --profile default --profile bridgeprofile -c boot.autostart=true -c security.nesting=true -c limits.cpu.allowance=20% -c limits.memory=4GiB

Connect to the LXD container:

lxc shell Remotely

Add a user account in the container, grant it “sudo” privilege and sign on:

adduser scott
usermod -aG sudo scott
su - scott

Install Docker and docker-compose:

curl -sSL | sh
sudo apt install docker-compose

Add the user to the docker group to run docker without sudo:

sudo usermod -aG docker $USER
newgrp docker

Make a folder for “Remotely” and move inside of it:

mkdir remotely
cd remotely

Create a docker-compose.yml file:

nano docker-compose.yml

Insert the following into the file:

version: "2"
    image: immybot/remotely:latest
      - 80:5000
      - /remotely-data:/remotely-data
    restart: unless-stopped

Change port 80 in the above file if it is used. It won’t be used on a dedicated LXD container as shown.

Save the file with CTRL O and Enter and then CTRL X to exit the nano editor:

Launch the application:

docker compose up -d

Visit the web page at the address of the LXD container using your favorite web browser. if you changed the port from port 80, make sure and indicate a colon at the end of the address and the port number you chose when addressing Rocketchat in your web browser.

Click the “Register” button to establish your Remotely user account for administration:

Once logged in, the Interface will look like this:

I suggest going into your account settings and turning on two factor authentication for security.

To make your “Remotely” instance reachable from the web, you will need to define a subdomain name for remotely and make an entry in NginX Proxy Manager (NPM):

Remotely differs from Rustdesk in that it can be used more readily for remote machine management in addition to remote assistance. You may want to watch my video on Rustdesk if you have not seen it.