Update README with UI and logging support

This commit is contained in:
Ed Nielsen 2026-03-18 19:21:09 +01:00
parent b2840ab8b2
commit 15d3f0b2d6

259
README.md
View file

@ -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.