v0.9.7: Caddy + CrowdSec modules; category menu with required-gate

- services/caddy.sh (homelab): reverse proxy + auto HTTPS, own ~/docker/caddy
  folder (compose + starter Caddyfile + README).
- services/crowdsec.sh (homelab): system-level IPS (agent + firewall bouncer +
  Caddy acquisition + optional ntfy alerts), README in ~/docker/crowdsec.
- setup.sh guided flow redesign:
  * Prints REQUIRED set (essentials + glow + docker check) with a cancel option.
  * Offers Caddy first (most services proxy through it).
  * Category menu LOOP: pick category -> checklist ([installed] marked) ->
    install -> back to menu, until Done. whiptail + text fallback.
- Categories reorganized: base/homelab/utilities/media/cameras/gaming/backup;
  moved ntfy/filebrowser/portainer/uptimekuma/watchtower to utilities;
  caddy->crowdsec->authelia ordered first in homelab.

Verified: bash -n all; --list groups by category with caddy first; cancel path
prints 'Cancelled, nothing changed'; dry-run guided flow runs required + loops
menu; run-one still works.

https://claude.ai/code/session_017eA2qqq9jfF2tNtpUYL8vK
This commit is contained in:
Claude
2026-06-03 17:16:32 +00:00
parent 4a37b3622d
commit 9dc8c4063d
11 changed files with 624 additions and 82 deletions
+22
View File
@@ -4,6 +4,28 @@ All notable changes to this project. Versions follow `MAJOR.MINOR.PATCH`.
The project is pre-1.0 while the modular system reaches parity with the
monolithic `ubuntu-post-install-*.sh` scripts.
## [0.9.7] - 2026-06-03
### Added
- `services/caddy.sh` *(homelab)* — Caddy reverse proxy + automatic HTTPS, own
`~/docker/caddy/` folder (compose + starter Caddyfile + README). Services add
their site blocks to its Caddyfile.
- `services/crowdsec.sh` *(homelab)* — system-level intrusion prevention
(agent + firewall bouncer + Caddy log acquisition + optional ntfy ban alerts);
README in `~/docker/crowdsec/`.
- **Guided menu redesign** in `setup.sh`:
- Prints the **required** set (essential packages incl. glow + a Docker check)
up front and lets you **cancel** before anything changes.
- Offers **Caddy first** (most services depend on it).
- **Category menu loop**: pick a category → checklist (already-installed shown
as `[installed]`) → install → back to the menu for the next category, until
you choose Done. whiptail UI with a plain-text fallback.
### Changed
- **Categories** reorganized: `base · homelab · utilities · media · cameras ·
gaming · backup`. Moved ntfy, filebrowser, portainer, uptimekuma, watchtower
to `utilities`. Within `homelab`, Caddy → CrowdSec → Authelia sort first.
## [0.9.6] - 2026-06-03
### Added