Add full README with install guide

This commit is contained in:
Ed Nielsen 2026-03-18 13:55:12 +01:00
parent 322bbb90ea
commit 41d09ea542

108
README.md
View file

@ -2,30 +2,112 @@
Lightweight SSH-based update manager for Linux systems.
---
## Features
- Check for updates across multiple hosts
- Run upgrades remotely via SSH
- Run autoremove
- Simple inventory file
- SSH-based (no agents)
- Simple host inventory
- No external dependencies
## Usage
---
./update-manager.sh check
./update-manager.sh update
./update-manager.sh autoremove
./update-manager.sh full
## Installation
## Hosts file format
git clone <repo-url>
cd update-manager
chmod +x update-manager.sh
./update-manager.sh install
name|ip|ssh_user
This will:
- Install the tool in /opt/update-manager
- Create global command: update-manager
- Create config files if missing
---
## Configuration
Edit hosts:
nano /opt/update-manager/hosts.conf
Format:
name ip ssh_user
Example:
server1|192.168.1.10|user
server1 192.168.1.10 user
server2 192.168.1.20 user
---
## SSH (required)
Passwordless SSH must be configured.
ssh-keygen -t ed25519
ssh-copy-id user@192.168.1.10
Repeat for all hosts.
Test:
ssh user@192.168.1.10
Should work without password.
---
## Usage
update-manager check
---
## Output
server1 🔴 2 updates
server2 🟢 up-to-date
server3 ❌ connection failed
---
## Config
HOSTS_FILE="${HOSTS_FILE:-/opt/update-manager/hosts.conf}"
NTFY_URL=""
/etc/update-manager.conf
Default:
HOSTS_FILE="/opt/update-manager/hosts.conf"
SSH_OPTIONS="-o BatchMode=yes -o ConnectTimeout=5"
---
## Notes
- hosts.conf and update-manager.conf are local files (not in Git)
- .example files are templates
- Existing config is not overwritten on reinstall
---
## Roadmap
- update command
- parallel execution
- scheduled checks
- logging integration
---
## Philosophy
Keep it simple.
- No agents
- No dependencies
- Just SSH