docs(readme): simplify quick start and remove dev section
This commit is contained in:
@@ -1,21 +1,7 @@
|
|||||||
# Scripts — DevOps Toolbox
|
# Scripts — DevOps Toolbox
|
||||||
|
|
||||||
A personal collection of Python scripts for deploying, monitoring, and
|
A personal collection of standalone Python scripts for Linux server and
|
||||||
maintaining Linux systems. Every script is **idempotent** (safe to run
|
desktop management — stdlib only, MIT-licensed.
|
||||||
repeatedly), requires **no external dependencies** (stdlib only), and
|
|
||||||
ships with `--dry-run` where applicable.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Stack
|
|
||||||
|
|
||||||
| Concern | Choice |
|
|
||||||
|---------|--------|
|
|
||||||
| Language | Python 3.12+ |
|
|
||||||
| Package manager | None — stdlib only |
|
|
||||||
| Target platforms | Fedora Server, CentOS Stream, openEuler; FreeBSD 13+ (`network-diag.py` only) |
|
|
||||||
| Lint / format | Ruff (line length 100 — see `ruff.toml`) |
|
|
||||||
| Licence | MIT |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -34,7 +20,7 @@ ships with `--dry-run` where applicable.
|
|||||||
|--------|---------|---------|
|
|--------|---------|---------|
|
||||||
| `server-setup.py` | 1.3.0 | Server initial setup: packages, firewall (SSH verified before start), SELinux, Podman, automatic updates |
|
| `server-setup.py` | 1.3.0 | Server initial setup: packages, firewall (SSH verified before start), SELinux, Podman, automatic updates |
|
||||||
| `workstation-setup.py` | 4.1.0 | Fedora desktop setup: Brave, dev tools (Bun, Zed, uv, Rust), Flatpak apps, SSH + Git |
|
| `workstation-setup.py` | 4.1.0 | Fedora desktop setup: Brave, dev tools (Bun, Zed, uv, Rust), Flatpak apps, SSH + Git |
|
||||||
| `vllm-deploy.py` | 1.2.0 | vLLM inference server behind nginx with HTTPS and API-key auth — installs ROCm on AMD GPUs |
|
| `vllm-deploy.py` | 1.2.1 | vLLM inference server behind nginx with HTTPS and API-key auth — installs ROCm on AMD GPUs |
|
||||||
| `zabbix-deploy.py` | 1.1.0 | Zabbix 7.4 monitoring stack: PostgreSQL 18, nginx with HTTPS on :443, PHP-FPM, SELinux |
|
| `zabbix-deploy.py` | 1.1.0 | Zabbix 7.4 monitoring stack: PostgreSQL 18, nginx with HTTPS on :443, PHP-FPM, SELinux |
|
||||||
|
|
||||||
### Maintenance
|
### Maintenance
|
||||||
@@ -47,39 +33,43 @@ ships with `--dry-run` where applicable.
|
|||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
Run any script directly without cloning — just `curl` and go:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://codeberg.org/petrbalvin/scripts.git && cd scripts
|
# Network diagnostics (no root needed)
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/network-diag.py | python3
|
||||||
|
|
||||||
|
# System health (no root needed)
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/system-diag.py | python3
|
||||||
|
|
||||||
|
# Server setup
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/server-setup.py | sudo python3
|
||||||
|
|
||||||
|
# Workstation setup
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/workstation-setup.py | sudo python3
|
||||||
|
|
||||||
|
# vLLM deployment
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/vllm-deploy.py | sudo python3
|
||||||
|
|
||||||
|
# Zabbix monitoring
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/zabbix-deploy.py | sudo python3
|
||||||
|
|
||||||
|
# System cleanup
|
||||||
|
curl -sSf https://petrbalvin.org/scripts/system-optimise.py | sudo python3
|
||||||
```
|
```
|
||||||
|
|
||||||
All scripts are standalone — run them directly:
|
#### Integrity verification (optional)
|
||||||
|
|
||||||
|
A single [`SHA256SUMS`](https://petrbalvin.org/scripts/SHA256SUMS) file covers
|
||||||
|
every script. Verify before running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Check your network (Linux or FreeBSD)
|
curl -sSfO https://petrbalvin.org/scripts/server-setup.py
|
||||||
python3 network-diag.py
|
curl -sSfO https://petrbalvin.org/scripts/SHA256SUMS
|
||||||
|
sha256sum -c --ignore-missing SHA256SUMS
|
||||||
# Full system health report (Linux)
|
|
||||||
python3 system-diag.py
|
|
||||||
|
|
||||||
# Set up a new server
|
|
||||||
sudo python3 server-setup.py --dry-run
|
sudo python3 server-setup.py --dry-run
|
||||||
|
|
||||||
# Set up a development workstation
|
|
||||||
sudo python3 workstation-setup.py --dry-run
|
|
||||||
|
|
||||||
# Deploy vLLM (interactive model selection)
|
|
||||||
sudo python3 vllm-deploy.py
|
|
||||||
|
|
||||||
# Deploy the Zabbix monitoring stack
|
|
||||||
sudo python3 zabbix-deploy.py --dry-run
|
|
||||||
|
|
||||||
# Clean up old kernels and temp files
|
|
||||||
sudo python3 system-optimise.py --dry-run
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Every script supports `--help` and `--version` without root privileges.
|
|
||||||
Use `--dry-run` to preview changes before applying them, and `--skip-*`
|
|
||||||
flags to skip individual sections.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
@@ -112,18 +102,6 @@ flags to skip individual sections.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Development
|
|
||||||
|
|
||||||
No build step, no dependencies. Lint and format with Ruff
|
|
||||||
(configuration in `ruff.toml`, line length 100):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ruff check .
|
|
||||||
ruff format --check .
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Licence
|
## Licence
|
||||||
|
|
||||||
MIT — see [`LICENSE`](LICENSE).
|
MIT — see [`LICENSE`](LICENSE).
|
||||||
|
|||||||
Reference in New Issue
Block a user