# Installing HostMon - Simple Host Monitor and Application Dashboard - on Windows

## What is HostMon?

> HostMon is a simple web-based host monitor and application dashboard. It can be used to monitor the real-time status of hosts and services running in your homelab environment. In addition to monitoring, HostMon has built-in Wake-On-LAN (WOL) capability, SSH client, real-time ping output and the ability to link to your existing Apache Guacamole installation to remotely control hosts from the within browser.
> The HostMon application is written in javascript and uses a SQLite database backend. -https://github.com/i12bretro/HostMon

1. Log into the Windows device
2. Download the latest HostMon release Download
3. Download NodeJS Download
4. Install NodeJS, accepting all defaults
5. Extract the downloaded HostMon files
6. Rename the extracted folder HostMon
7. Cut the HostMon folder to a location it can safely run from, C:\Program Files\HostMon in this example
8. Hold the SHIFT key and right click in the white space > Open PowerShell windows here...
9. Run the following commands in the PowerShell window
   # install dependencies
   npm install
   # run npm audit
   npm audit fix
   # run hostmon
   node .\server.js
10. Open a web browser and navigate to http://DNSorIP:3000
11. Welcome to HostMon

## Run HostMon as a Service (Optional, but recommended)

1. Press CTRL + C to kill the running HostMon process
2. Click on the Start Button > Type task > Launch Task Scheduler
3. Right click the Task Scheduler Library folder in the left pane > Create Basic Task...
4. Set the name to HostMon and optionally set a Description > Click Next
5. For the Trigger, select When the computer starts > Click Next
6. For the Action, select Start a program > Click Next
7. Complete the form fields as follows:

   Program/script: "%ProgramFiles%\nodejs\node.exe"
   Add arguments: "%ProgramFiles%\HostMon\server.js"
   Start in: %ProgramFiles%\HostMon

8. Click Next
9. Check the Open the Properties dialog checkbox > Click Finish
10. In the Properties dialog, click the Change User or Group... button
11. Type System in the Object name field > Click OK
12. Check the Run with highest privileges box
13. Click OK to create the scheduled task
14. Right click the HostMon task > Run
15. Refresh the open web browser to verify HostMon is now running from the scheduled task