A remote monitoring and management software written in Go.
- Clone the repository to your local machine
- Install Bazel
brew install bazel
- Build Backend
This will create a binary at: "bazel-bin/projects/backend/RMM_API_LINUX_/RMM_API_LINUX"
make build.backend.linux
- Transfer the binary to a server
- Set the environment variables
export DATABASE_URI="<GORM ORM format>" export PUSHOVER_APITOKEN="<Pushover API token>" export JWT_SECRET="<JWT secret>" export SOCKET_JWT_SECRET="<Socket JWT secret>"
- Run binary
- Build Client
This will create a binary at: "bazel-bin/projects/client/RMM_CLIENT_LINUX_/RMM_CLIENT_LINUX"
make build.client.linux
- Transfer the binary to a server
- Run binary as root
- Create a Device Token in the UI
- Setup config
{ "secure": false, "token": "<Token you just created>", "host": "<ip or url of server>", "path": "<Path which the api runs on>", "port": "<Port of the api>", "allow": { "run": true, "shutdown": true, "reboot": true, "ProcessList": true, "ServiceList": true, "ServiceLogs": true, "ServiceStop": true, "ServiceStart": true, "ServiceStatus": true, "ServiceRestart": true, "Kill": true } }
- Run client again. This should register the device.
- Restart the client one more time. Now the Device should be visible in the UI.
- Change api base to backend url
// projects/frontend/src/vars.prod.ts export const apiBase = '/'; export const wsBase = 'ws://';
- Install dependencies
npm i (in root folder of this repo)
- Build frontend
This will create the static files under: "projects/frontend/dist"
make build.backend (in root folder of this repo)