Update README with UI and logging support
This commit is contained in:
parent
b2840ab8b2
commit
15d3f0b2d6
1 changed files with 201 additions and 58 deletions
259
README.md
259
README.md
|
|
@ -1,99 +1,242 @@
|
||||||
📚 Table of Contents
|
# 🖥️ Update Manager
|
||||||
Features
|
|
||||||
Update Manager UI
|
|
||||||
Quick Install
|
|
||||||
SSH Setup
|
|
||||||
Configuration
|
|
||||||
Usage
|
|
||||||
File Structure
|
|
||||||
How it works
|
|
||||||
Requirements
|
|
||||||
Future ideas
|
|
||||||
License
|
|
||||||
Features
|
|
||||||
Check updates on multiple hosts
|
|
||||||
Run updates remotely over SSH
|
|
||||||
Simple config files
|
|
||||||
No agents required
|
|
||||||
Works with existing SSH setup
|
|
||||||
Update Manager UI
|
|
||||||
Update Manager CLI UI
|
|
||||||
|
|
||||||
Lightweight • No dependencies • Works over SSH
|
Simple CLI tool to check and manage updates across multiple Ubuntu systems over SSH.
|
||||||
|
|
||||||
Quick Install
|
Built for Lanx environments – lightweight, fast and no unnecessary dependencies.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Table of Contents
|
||||||
|
|
||||||
|
* [Features](#features)
|
||||||
|
* [Update Manager UI](#update-manager-ui)
|
||||||
|
* [Quick Install](#quick-install)
|
||||||
|
* [SSH Setup](#ssh-setup-required)
|
||||||
|
* [Configuration](#configuration)
|
||||||
|
* [Usage](#usage)
|
||||||
|
* [Logging](#logging)
|
||||||
|
* [File Structure](#file-structure)
|
||||||
|
* [How it works](#how-it-works)
|
||||||
|
* [Requirements](#requirements)
|
||||||
|
* [Future ideas](#future-ideas)
|
||||||
|
* [License](#license)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
* Check updates on multiple hosts
|
||||||
|
* Run checks remotely over SSH
|
||||||
|
* Simple config files
|
||||||
|
* Built-in logging (file + terminal)
|
||||||
|
* Dialog-based UI menu
|
||||||
|
* No agents required
|
||||||
|
* Works with existing SSH setup
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Update Manager UI
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="update-manager-ui.png" width="50%" alt="Update Manager CLI UI">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<em>Lightweight • Terminal-based • Works over SSH</em>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Install
|
||||||
|
|
||||||
|
```bash
|
||||||
git clone https://github.com/YOUR-USER/update-manager.git
|
git clone https://github.com/YOUR-USER/update-manager.git
|
||||||
cd update-manager
|
cd update-manager
|
||||||
|
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install dialog openssh-client
|
||||||
|
|
||||||
sudo mkdir -p /opt/update-manager
|
sudo mkdir -p /opt/update-manager
|
||||||
sudo cp update-manager.sh /opt/update-manager/
|
sudo cp update-manager.sh update-manager-ui.sh /opt/update-manager/
|
||||||
|
|
||||||
sudo chmod +x /opt/update-manager/update-manager.sh
|
sudo chmod +x /opt/update-manager/update-manager.sh
|
||||||
|
sudo chmod +x /opt/update-manager/update-manager-ui.sh
|
||||||
|
|
||||||
sudo ln -s /opt/update-manager/update-manager.sh /usr/local/bin/update-manager
|
sudo ln -s /opt/update-manager/update-manager.sh /usr/local/bin/update-manager
|
||||||
SSH Setup (Required)
|
sudo ln -s /opt/update-manager/update-manager-ui.sh /usr/local/bin/update-manager-ui
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SSH Setup (Required)
|
||||||
|
|
||||||
Update Manager uses SSH to connect to your hosts.
|
Update Manager uses SSH to connect to your hosts.
|
||||||
|
|
||||||
You must have SSH key-based authentication set up (no password prompts).
|
You must have SSH key-based authentication set up (no password prompts).
|
||||||
|
|
||||||
Generate SSH key (if not already done)
|
### Generate SSH key (if not already done)
|
||||||
|
|
||||||
|
```bash
|
||||||
ssh-keygen -t ed25519
|
ssh-keygen -t ed25519
|
||||||
Copy key to hosts
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Copy key to hosts
|
||||||
|
|
||||||
|
```bash
|
||||||
ssh-copy-id user@192.168.1.10
|
ssh-copy-id user@192.168.1.10
|
||||||
ssh-copy-id user@192.168.1.20
|
ssh-copy-id user@192.168.1.20
|
||||||
ssh-copy-id user@192.168.1.30
|
ssh-copy-id user@192.168.1.30
|
||||||
Test connection
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Test connection
|
||||||
|
|
||||||
|
```bash
|
||||||
ssh user@192.168.1.10
|
ssh user@192.168.1.10
|
||||||
You should be able to connect without entering a password.
|
```
|
||||||
|
|
||||||
⚠️ If SSH is not configured, the tool will fail or hang during execution.
|
You should be able to connect **without entering a password**.
|
||||||
|
|
||||||
Configuration
|
> ⚠️ If SSH is not configured, the tool will fail or hang during execution.
|
||||||
Copy config files
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Copy config files
|
||||||
|
|
||||||
|
```bash
|
||||||
cp update-manager.conf.example update-manager.conf
|
cp update-manager.conf.example update-manager.conf
|
||||||
cp hosts.conf.example hosts.conf
|
cp hosts.conf.example hosts.conf
|
||||||
Edit hosts
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Edit hosts
|
||||||
|
|
||||||
|
```bash
|
||||||
nano hosts.conf
|
nano hosts.conf
|
||||||
|
```
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
```bash
|
||||||
# name ip user
|
# name ip user
|
||||||
server1 192.168.1.10 user
|
server1 192.168.1.10 user
|
||||||
server2 192.168.1.20 user
|
server2 192.168.1.20 user
|
||||||
server3 192.168.1.30 user
|
server3 192.168.1.30 user
|
||||||
Usage
|
```
|
||||||
Check updates
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Start UI
|
||||||
|
|
||||||
|
```bash
|
||||||
|
update-manager-ui
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Check updates (CLI)
|
||||||
|
|
||||||
|
```bash
|
||||||
update-manager check
|
update-manager check
|
||||||
Run updates
|
```
|
||||||
update-manager update
|
|
||||||
File Structure
|
---
|
||||||
|
|
||||||
|
## Logging
|
||||||
|
|
||||||
|
The tool logs both to terminal and file.
|
||||||
|
|
||||||
|
### Primary location
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/opt/update-manager/log/update-manager.log
|
||||||
|
```
|
||||||
|
|
||||||
|
### Fallback location
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/update-manager/log/update-manager.log
|
||||||
|
```
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
* Log directory is created automatically
|
||||||
|
* Log file is created automatically
|
||||||
|
* Output is written to both terminal and file
|
||||||
|
* Log levels:
|
||||||
|
|
||||||
|
* INFO
|
||||||
|
* WARN
|
||||||
|
* ERROR
|
||||||
|
|
||||||
|
Logs can be viewed directly from the UI.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## File Structure
|
||||||
|
|
||||||
|
```bash
|
||||||
/opt/update-manager/
|
/opt/update-manager/
|
||||||
├── update-manager.sh
|
├── update-manager.sh
|
||||||
|
├── update-manager-ui.sh
|
||||||
├── update-manager.conf
|
├── update-manager.conf
|
||||||
├── hosts.conf
|
├── hosts.conf
|
||||||
How it works
|
└── log/
|
||||||
Uses SSH to connect to each host
|
└── update-manager.log
|
||||||
Runs apt commands remotely
|
```
|
||||||
No agents or services needed
|
|
||||||
Designed for simple and efficient operations
|
---
|
||||||
Requirements
|
|
||||||
SSH access to all hosts
|
## How it works
|
||||||
SSH keys recommended (no password prompts)
|
|
||||||
Ubuntu/Debian-based systems
|
* Uses SSH to connect to each host
|
||||||
Future ideas
|
* Runs `apt` commands remotely
|
||||||
🔔 Notifications (ntfy / push alerts)
|
* No agents or services needed
|
||||||
🌐 Web interface
|
* Designed for simple and efficient operations
|
||||||
📧 Email reporting
|
|
||||||
📜 Logging and audit trail
|
---
|
||||||
📊 Basic monitoring (status, last check, pending updates)
|
|
||||||
🧩 Plugin system (extensible modules)
|
## Requirements
|
||||||
🔐 Security & compliance checks
|
|
||||||
🤖 AI integration (Lanx AI)
|
* SSH access to all hosts
|
||||||
License
|
* SSH keys recommended (no password prompts)
|
||||||
|
* Ubuntu/Debian-based systems
|
||||||
|
* `dialog` (for UI)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Future ideas
|
||||||
|
|
||||||
|
* 🔔 Notifications (ntfy / push alerts)
|
||||||
|
* 🌐 Web interface
|
||||||
|
* 📧 Email reporting
|
||||||
|
* 📜 Advanced logging / audit trail
|
||||||
|
* 📊 Basic monitoring (status, last check, pending updates)
|
||||||
|
* 🧩 Plugin system (extensible modules)
|
||||||
|
* 🔐 Security & compliance checks
|
||||||
|
* 🤖 AI integration (Lanx AI)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
This project is licensed under the GNU GPL v3 License.
|
This project is licensed under the GNU GPL v3 License.
|
||||||
|
|
||||||
See the LICENSE file for full details.
|
See the LICENSE file for full details.
|
||||||
|
|
||||||
Author
|
---
|
||||||
Built with ❤️ for Lanx by NodeFox 🦊
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
Built with ❤️ for [Lanx](https://lanx.dk) by **NodeFox** 🦊
|
||||||
|
|
||||||
Maintained by Eddie Nielsen
|
Maintained by Eddie Nielsen
|
||||||
Feel free to contribute, suggest improvements or fork the project.
|
Feel free to contribute, suggest improvements or fork the project.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue