Compare commits

..

No commits in common. "a7ced10f92b1a0c51a50c3a444e36d76b646e460" and "1819b6827a2b58e95f032d1621edba6946a4ad6a" have entirely different histories.

5 changed files with 11 additions and 108 deletions

View File

@ -1,12 +1,5 @@
# Changelog # Changelog
## 2025-03-25 - 2.4.0 - feat(installer)
Add auto-yes flag to installer and update installation documentation
- Enhance install.sh to parse -y/--yes and -h/--help options, automating git installation when auto-yes is provided
- Improve user prompts for dependency installation and provide clearer instructions
- Update readme.md to document new installer options and enhanced file system and service changes details
## 2025-03-25 - 2.3.0 - feat(installer/cli) ## 2025-03-25 - 2.3.0 - feat(installer/cli)
Add OS detection and git auto-installation support to install.sh and improve service setup prompt in CLI Add OS detection and git auto-installation support to install.sh and improve service setup prompt in CLI

View File

@ -2,45 +2,7 @@
# NUPST Installer Script # NUPST Installer Script
# Downloads and installs NUPST globally on the system # Downloads and installs NUPST globally on the system
# Can be used directly with curl: # Can be used directly with curl: curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash
# Without auto-installing dependencies:
# curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash
# With auto-installing dependencies:
# curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y
#
# Options:
# -y, --yes Automatically answer yes to all prompts
# -h, --help Show this help message
# Parse command line arguments
AUTO_YES=0
SHOW_HELP=0
for arg in "$@"; do
case $arg in
-y|--yes)
AUTO_YES=1
shift
;;
-h|--help)
SHOW_HELP=1
shift
;;
*)
# Unknown option
;;
esac
done
if [ $SHOW_HELP -eq 1 ]; then
echo "NUPST Installer Script"
echo "Usage: $0 [options]"
echo ""
echo "Options:"
echo " -y, --yes Automatically answer yes to all prompts"
echo " -h, --help Show this help message"
exit 0
fi
# Check if running as root # Check if running as root
if [ "$EUID" -ne 0 ]; then if [ "$EUID" -ne 0 ]; then
@ -137,21 +99,13 @@ if [ $PIPED -eq 1 ]; then
# Check if git is installed # Check if git is installed
if ! command -v git &> /dev/null; then if ! command -v git &> /dev/null; then
echo "Git is required but not installed." echo "Git is required but not installed."
read -p "Would you like to install git now? (Y/n): " install_git_prompt
if [ $AUTO_YES -eq 1 ]; then if [[ "$install_git_prompt" =~ ^[Nn]$ ]]; then
echo "Auto-installing git (-y flag provided)..."
install_git
else
read -p "Would you like to install git now? (y/N): " install_git_prompt
if [[ "$install_git_prompt" =~ ^[Yy]$ ]]; then
install_git
else
echo "Git installation skipped. Please install git manually and run the installer again." echo "Git installation skipped. Please install git manually and run the installer again."
echo "Alternatively, you can run the installer with -y flag to automatically install git:"
echo " sudo bash install.sh -y"
exit 1 exit 1
fi else
install_git
fi fi
fi fi

View File

@ -1,6 +1,6 @@
{ {
"name": "@serve.zone/nupst", "name": "@serve.zone/nupst",
"version": "2.4.0", "version": "2.3.0",
"description": "Node.js UPS Shutdown Tool for SNMP-enabled UPS devices", "description": "Node.js UPS Shutdown Tool for SNMP-enabled UPS devices",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {

View File

@ -21,9 +21,6 @@ NUPST is a command-line tool that monitors SNMP-enabled UPS devices and initiate
```bash ```bash
# Install directly without cloning the repository (requires root privileges) # Install directly without cloning the repository (requires root privileges)
curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash
# Install with auto-yes for dependencies (will install git automatically if needed)
curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y
``` ```
### Direct from Git ### Direct from Git
@ -36,58 +33,20 @@ cd nupst
# Option 1: Quick install (requires root privileges) # Option 1: Quick install (requires root privileges)
sudo ./install.sh sudo ./install.sh
# Option 1a: Quick install with auto-yes for dependencies
sudo ./install.sh -y
# Option 2: Manual setup # Option 2: Manual setup
./setup.sh ./setup.sh
sudo ln -s $(pwd)/bin/nupst /usr/local/bin/nupst sudo ln -s $(pwd)/bin/nupst /usr/local/bin/nupst
``` ```
### Installation Options
The installer script (`install.sh`) supports the following options:
```
-y, --yes Automatically answer yes to all prompts (like installing git)
-h, --help Show the help message
```
### From NPM ### From NPM
```bash ```bash
npm install -g @serve.zone/nupst npm install -g @serve.zone/nupst
``` ```
## System Changes
When installed, NUPST makes the following changes to your system:
### File System Changes
| Path | Description |
|------|-------------|
| `/opt/nupst/` | Main installation directory containing the NUPST files |
| `/etc/nupst/config.json` | Configuration file |
| `/usr/local/bin/nupst` | Symlink to the NUPST executable |
| `/etc/systemd/system/nupst.service` | Systemd service file (when enabled) |
### Service Changes
- Creates and enables a systemd service called `nupst.service` (when enabled with `nupst enable`)
- The service runs with root permissions to allow system shutdown capabilities
### Network Access
- NUPST only communicates with your UPS device via SNMP (default port 161)
- Brief connections to npmjs.org to check for updates
## Uninstallation ## Uninstallation
```bash ```bash
# Using the CLI tool:
sudo nupst uninstall
# If installed from git repository: # If installed from git repository:
cd /path/to/nupst cd /path/to/nupst
sudo ./uninstall.sh sudo ./uninstall.sh
@ -98,10 +57,9 @@ npm uninstall -g @serve.zone/nupst
The uninstaller will: The uninstaller will:
- Stop and disable the systemd service (if installed) - Stop and disable the systemd service (if installed)
- Remove the systemd service file from `/etc/systemd/system/nupst.service` - Remove the systemd service file
- Remove the symlink from `/usr/local/bin/nupst` - Remove the symlink from /usr/local/bin
- Optionally remove configuration files from `/etc/nupst/` - Optionally remove configuration files from /etc/nupst
- Remove the repository directory from `/opt/nupst/` (when using `nupst uninstall`)
## Usage ## Usage
@ -118,9 +76,7 @@ Usage:
nupst status - Show status of the systemd service and UPS status nupst status - Show status of the systemd service and UPS status
nupst setup - Run the interactive setup to configure SNMP settings nupst setup - Run the interactive setup to configure SNMP settings
nupst test - Test the current configuration by connecting to the UPS nupst test - Test the current configuration by connecting to the UPS
nupst config - Display the current configuration
nupst update - Update NUPST from repository and refresh systemd service (requires root) nupst update - Update NUPST from repository and refresh systemd service (requires root)
nupst uninstall - Completely uninstall NUPST from the system (requires root)
nupst help - Show this help message nupst help - Show this help message
Options: Options:

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/nupst', name: '@serve.zone/nupst',
version: '2.4.0', version: '2.3.0',
description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices' description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices'
} }