Skip to content

A remote monitoring & management tool, built with Django and Vue.

License

Notifications You must be signed in to change notification settings

KenGrant/tacticalrmm

 
 

Repository files navigation

Tactical RMM

Build Status Coverage Status License: MIT Code style: black

Tactical RMM is a remote monitoring & management tool for Windows computers, built with Django and Vue.
It uses an agent written in golang, as well as the SaltStack api and MeshCentral

Demo database resets every hour. Alot of features are disabled for obvious reasons due to the nature of this app.

Tactical RMM is currently in alpha and subject to breaking changes. Use in production at your own risk.

Features

  • Teamviewer-like remote desktop control
  • Real-time remote shell
  • Remote file browser (download and upload files)
  • Remote command and script execution (batch, powershell and python scripts)
  • Event log viewer
  • Services management
  • Windows patch management
  • Automated checks with email/SMS alerting (cpu, disk, memory, services, scripts, event logs)
  • Automated task runner (run scripts on a schedule)
  • Remote software installation via chocolatey
  • Software and hardware inventory

Windows versions supported

  • Windows 7, 8.1, 10, Server 2008R2, 2012R2, 2016, 2019

Installation

Requirements

  • VPS with 4GB ram (an install script is provided for Ubuntu Server 20.04)
  • A domain you own with at least 3 subdomains
  • Google Authenticator app (2 factor is NOT optional)

Docker

Refer to the docker setup

Installation example (Ubuntu server 20.04 LTS)

Fresh VPS with latest updates
login as root and create a user and add to sudoers group (we will be creating a user called tactical)

apt update && apt -y upgrade
adduser tactical
usermod -a -G sudo tactical

switch to the tactical user and setup the firewall

su - tactical
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow proto tcp from any to any port 4505,4506
sudo ufw allow proto tcp from any to any port 4222
sudo ufw enable && sudo ufw reload

Our domain for this example is tacticalrmm.com

In the DNS manager of wherever our domain is hosted, we will create three A records, all pointing to the public IP address of our VPS

Create A record api.tacticalrmm.com for the django rest backend
Create A record rmm.tacticalrmm.com for the vue frontend
Create A record mesh.tacticalrmm.com for meshcentral

Download the install script and run it

wget https://raw.githubusercontent.com/wh1te909/tacticalrmm/master/install.sh
chmod +x install.sh
./install.sh

Links will be provided at the end of the install script.
Download the executable from the first link, then open rmm.tacticalrmm.com and login.
Upload the executable when prompted during the initial setup page.

Install an agent

From the app's dashboard, choose Agents > Install Agent to generate an installer.

Updating

Download and run update.sh

wget https://raw.githubusercontent.com/wh1te909/tacticalrmm/master/update.sh
chmod +x update.sh
./update.sh

Backup

Download backup.sh

wget https://raw.githubusercontent.com/wh1te909/tacticalrmm/master/backup.sh

Change the postgres username and password at the top of the file (you can find them in /rmm/api/tacticalrmm/tacticalrmm/local_settings.py under the DATABASES section)

Run it

chmod +x backup.sh
./backup.sh

Restore

Change your 3 A records to point to new server's public IP

Create same linux user account as old server and add to sudoers group and setup firewall (see install instructions above)

Copy backup file to new server

Download the restore script, and edit the postgres username/password at the top of the file. Same instructions as above in the backup steps.

wget https://raw.githubusercontent.com/wh1te909/tacticalrmm/master/restore.sh

Run the restore script, passing it the backup tar file as the first argument

chmod +x restore.sh
./restore.sh rmm-backup-xxxxxxx.tar

About

A remote monitoring & management tool, built with Django and Vue.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 57.4%
  • Vue 29.4%
  • JavaScript 5.4%
  • Shell 4.7%
  • PowerShell 2.7%
  • Go 0.3%
  • Other 0.1%