Update README with logging and dialog UI
This commit is contained in:
parent
bc43a7c66c
commit
b2840ab8b2
1 changed files with 57 additions and 154 deletions
211
README.md
211
README.md
|
|
@ -1,52 +1,27 @@
|
||||||
# 🖥️ Update Manager
|
📚 Table of Contents
|
||||||
|
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
|
||||||
|
|
||||||
Simple CLI tool to check and manage updates across multiple Ubuntu systems over SSH.
|
Lightweight • No dependencies • Works over SSH
|
||||||
|
|
||||||
Built for Lanx environments – lightweight, fast and no unnecessary dependencies.
|
Quick Install
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📚 Table of Contents
|
|
||||||
|
|
||||||
* [Features](#features)
|
|
||||||
* [Update Manager UI](#update-manager-ui)
|
|
||||||
* [Quick Install](#quick-install)
|
|
||||||
* [SSH Setup](#ssh-setup-required)
|
|
||||||
* [Configuration](#configuration)
|
|
||||||
* [Usage](#usage)
|
|
||||||
* [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 updates remotely over SSH
|
|
||||||
* Simple config files
|
|
||||||
* 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 • No dependencies • 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
|
||||||
|
|
||||||
|
|
@ -55,142 +30,70 @@ sudo cp update-manager.sh /opt/update-manager/
|
||||||
sudo chmod +x /opt/update-manager/update-manager.sh
|
sudo chmod +x /opt/update-manager/update-manager.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)
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 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.
|
||||||
|
|
||||||
You should be able to connect **without entering a password**.
|
⚠️ If SSH is not configured, the tool will fail or hang during execution.
|
||||||
|
|
||||||
> ⚠️ If SSH is not configured, the tool will fail or hang during execution.
|
Configuration
|
||||||
|
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
|
|
||||||
|
|
||||||
### Check updates
|
|
||||||
|
|
||||||
```bash
|
|
||||||
update-manager check
|
update-manager check
|
||||||
```
|
Run updates
|
||||||
|
|
||||||
### Run updates
|
|
||||||
|
|
||||||
```bash
|
|
||||||
update-manager update
|
update-manager update
|
||||||
```
|
File Structure
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## File Structure
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/opt/update-manager/
|
/opt/update-manager/
|
||||||
├── update-manager.sh
|
├── update-manager.sh
|
||||||
├── update-manager.conf
|
├── update-manager.conf
|
||||||
├── hosts.conf
|
├── hosts.conf
|
||||||
```
|
How it works
|
||||||
|
Uses SSH to connect to each host
|
||||||
---
|
Runs apt commands remotely
|
||||||
|
No agents or services needed
|
||||||
## How it works
|
Designed for simple and efficient operations
|
||||||
|
Requirements
|
||||||
* Uses SSH to connect to each host
|
SSH access to all hosts
|
||||||
* Runs `apt` commands remotely
|
SSH keys recommended (no password prompts)
|
||||||
* No agents or services needed
|
Ubuntu/Debian-based systems
|
||||||
* Designed for simple and efficient operations
|
Future ideas
|
||||||
|
🔔 Notifications (ntfy / push alerts)
|
||||||
---
|
🌐 Web interface
|
||||||
|
📧 Email reporting
|
||||||
## Requirements
|
📜 Logging and audit trail
|
||||||
|
📊 Basic monitoring (status, last check, pending updates)
|
||||||
* SSH access to all hosts
|
🧩 Plugin system (extensible modules)
|
||||||
* SSH keys recommended (no password prompts)
|
🔐 Security & compliance checks
|
||||||
* Ubuntu/Debian-based systems
|
🤖 AI integration (Lanx AI)
|
||||||
|
License
|
||||||
---
|
|
||||||
|
|
||||||
## Future ideas
|
|
||||||
|
|
||||||
* 🔔 Notifications (ntfy / push alerts)
|
|
||||||
* 🌐 Web interface
|
|
||||||
* 📧 Email reporting
|
|
||||||
* 📜 Logging and 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
|
Maintained by Eddie Nielsen
|
||||||
|
|
||||||
Built with ❤️ for [Lanx](https://lanx.dk) by **NodeFox** 🦊
|
|
||||||
|
|
||||||
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