├── .gitignore ├── .prettierrc.json ├── Install.sh ├── README.md ├── SECURITY.md ├── StatusMonitorServer.service ├── Uninstall.sh └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": true 4 | } 5 | -------------------------------------------------------------------------------- /Install.sh: -------------------------------------------------------------------------------- 1 | # !/bin/bash 2 | 3 | if [ $UID !== 0 ] 4 | then 5 | printf "Please run the SMS install tool as root! \n" 6 | exit 7 | fi 8 | apt install sudo curl 9 | curl -sL https://deb.nodesource.com/setup_18.x | sudo bash - 10 | apt install -y nodejs git 11 | 12 | content=`wget https://raw.githubusercontent.com/DottoXD/StatusMonitor-Server/main/StatusMonitorServer.service` 13 | 14 | mv ./StatusMonitorServer.service /lib/systemd/system/StatusMonitorServer.service 15 | 16 | mkdir /etc/StatusMonitorServer && cd /etc/StatusMonitorServer 17 | git clone https://github.com/DottoXD/StatusMonitor-Server . 18 | 19 | npm install 20 | npm run build 21 | 22 | systemctl enable --now StatusMonitorServer 23 | printf "@ SMServer has been installed! Make sure to configure /etc/StatusMonitorServer/config.json and then run systemctl restart StatusMonitorServer! \n" 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # StatusMonitor Server 2 | 3 | A free, efficient and open source status monitoring solution. 4 | You can selfhost [StatusMonitor Client](https://github.com/DottoXD/StatusMonitor-Client) to show some stats to this page. 5 | 6 | # Last updates 7 | 8 | ## 2.0 9 | 10 | WIP. 11 | 12 | # Features 13 | 14 | This project can currently show you a system's status (monitored with [StatusMonitor Client](https://github.com/DottoXD/StatusMonitor-Client)) on a fancy status page. 15 | You can also use [StatusMonitor Process](https://github.com/DottoXD/StatusMonitor-Process) to monitor a NodeJS process' stats with ease. 16 | 17 | # Known issues 18 | 19 | There are no known issues at the moment. 20 | 21 | # Setup 22 | 23 | You can easily setup [StatusMonitor Server](https://github.com/DottoXD/StatusMonitor-Server) in 3 steps! (Or alternatively use the install script below this). 24 | 25 | **Step one: clone the repo:** 26 | _make sure to do this in an empty directory!_ 27 | 28 | ``` 29 | git clone https://github.com/DottoXD/StatusMonitor-Server . 30 | ``` 31 | 32 | **Step two: install every dependency!** 33 | 34 | ``` 35 | npm install 36 | ``` 37 | 38 | **Step three: start the server!** 39 | 40 | ``` 41 | npm run start:prod 42 | ``` 43 | 44 | ## Install script 45 | 46 | [Click here!](https://github.com/DottoXD/StatusMonitor-Server/blob/main/Install.sh) 47 | Note: The script should work just fine, but make sure to open an [issue](https://github.com/DottoXD/StatusMonitor-Server/issues) or a [pull request](https://github.com/DottoXD/StatusMonitor-Server/pulls) if you find any bugs! 48 | 49 | ``` 50 | wget -O - https://raw.githubusercontent.com/DottoXD/StatusMonitor-Server/main/Install.sh | sh 51 | ``` 52 | 53 | ## Uninstall script 54 | 55 | [Click here!](https://github.com/DottoXD/StatusMonitor-Server/blob/main/Uninstall.sh) 56 | Note: The script should work just fine, but make sure to open an [issue](https://github.com/DottoXD/StatusMonitor-Server/issues) or a [pull request](https://github.com/DottoXD/StatusMonitor-Server/pulls) if you find any bugs! 57 | 58 | ``` 59 | wget -O - https://raw.githubusercontent.com/DottoXD/StatusMonitor-Server/main/Uninstall.sh | sh 60 | ``` 61 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | | Version | Supported | 6 | | ------- | ------------------ | 7 | | 2.0.x | :white_check_mark: | 8 | | < 1.x | :x: | 9 | 10 | ## Reporting a Vulnerability 11 | Please open a GitHub issue to report a vulnerability on StatusMonitor. 12 | -------------------------------------------------------------------------------- /StatusMonitorServer.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=SMServer - Status monitoring service. 3 | Documentation=https://statusmonitor.github.io 4 | After=network.target 5 | 6 | [Service] 7 | Type=simple 8 | User=root 9 | ExecStart=/usr/bin/node /etc/StatusMonitorServer/build/index.js 10 | Restart=on-failure 11 | 12 | [Install] 13 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /Uninstall.sh: -------------------------------------------------------------------------------- 1 | # !/bin/bash 2 | 3 | if [ $UID !== 0 ] 4 | then 5 | printf "Please run the SMS uninstall tool as root! \n" 6 | exit 7 | fi 8 | 9 | systemctl disable --now StatusMonitorServer 10 | apt remove -y nodejs git 11 | rm -r /etc/StatusMonitorServer 12 | rm /lib/systemd/system/StatusMonitorServer.service 13 | 14 | printf "@ SMServer has been uninstalled! \n" 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@statusmonitor/server", 3 | "private": true, 4 | "decription": "A simple, free and open source status monitoring solution.", 5 | "version": "2.0.0", 6 | "scripts": { 7 | "start": "node build/index.js", 8 | "build": "tsc", 9 | "start:prod": "npm run prettier && npm run build && npm start", 10 | "prettier": "prettier --write ." 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/DottoXD/StatusMonitor-Server.git" 15 | }, 16 | "author": "DottoXD", 17 | "license": "GPL-3.0-only", 18 | "bugs": { 19 | "url": "https://github.com/DottoXD/StatusMonitor-Server/isssues" 20 | }, 21 | "dependencies": { 22 | "undici": "^6.4.0" 23 | }, 24 | "devDependencies": { 25 | "@types/node": "^20.11.7", 26 | "prettier": "^3.2.4", 27 | "typescript": "^5.3.3" 28 | } 29 | } 30 | --------------------------------------------------------------------------------