scripts: FileBrowser volumes controller-managed, remove drive auto-discovery
- docker-setup.sh install_filebrowser(): removed /mnt/* auto-discovery; FileBrowser now installed with no drive volumes. Initial config.yaml written with /srv fallback. Controller's SyncFileBrowserMounts() takes over on first startup and manages volumes/config going forward. - Added ./config.yaml bind mount to initial docker-compose.yml so FileBrowser starts correctly before controller syncs. - Fixed ((step_num++)) → step_num=$(( step_num + 1 )) to prevent set -euo pipefail trap when var starts at 0 (same class of bug as the found_mounts fix in the previous commit). - scripts/README.md: step 7 updated to reflect controller-managed volumes. - CHANGELOG.md: added entry for all scripts changes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
## Changelog
|
||||
|
||||
### scripts — Hub Mode + FileBrowser Controller-Managed Volumes (2026-02-22)
|
||||
|
||||
#### `scripts/docker-setup.sh` — v6.0.0
|
||||
- **Hub mode** (`--hub-customer` / `--hub-password`): downloads `controller.yaml` from Hub API early in setup, extracts `domain`, `email`, `cf_api_token`, `cf_tunnel_token` and auto-populates all infrastructure settings. Single one-liner deploys fully configured Traefik + TLS + Cloudflare Tunnel with no additional flags needed. CLI flags always override hub values.
|
||||
- **`yaml_get()` helper**: strips leading whitespace before key comparison — required because Go's `yaml.v3` uses 4-space indentation.
|
||||
- **`apply_hub_config()`**: called before `print_banner` in `main()` so hub-sourced values are reflected in the plan display.
|
||||
- **FileBrowser initial install**: removed drive auto-discovery from `install_filebrowser()`. FileBrowser is now installed with no drive volumes and a minimal `config.yaml` with `/srv` fallback. Drive volumes are managed entirely by the controller (`SyncFileBrowserMounts()`) after storage is registered via the dashboard.
|
||||
- **Bug fix**: `((found_mounts++))` → `found_mounts=$(( found_mounts + 1 ))` — `set -euo pipefail` traps post-increment when var=0 (exit code 1). Same fix applied to `step_num` in `install_filebrowser()`.
|
||||
|
||||
#### `scripts/felhom-wipe.sh`
|
||||
- **`cleanup_scan_dir()`**: removes `/mnt/.felhom-scan/` (ephemeral DR scan directory) — called from `full` level onwards.
|
||||
- **`cleanup_raw_mounts()`**: removes raw helper mount infrastructure (`/mnt/.felhom-raw/`) at `nuclear` level: unmounts bind mounts first, then raw mounts, strips fstab entries, removes empty directories. Physical drive data untouched.
|
||||
|
||||
#### `scripts/README.md`
|
||||
- Hub mode quick start simplified to one-liner
|
||||
- Updated installation steps table: step 7 reflects controller-managed FileBrowser volumes
|
||||
- Added "Raw helper mounts" section explaining two-level mount architecture
|
||||
- Updated wipe levels table for `full` (scan dir) and `nuclear` (raw mounts + scan dir)
|
||||
|
||||
### v0.26.0 — Storage Namespace `felhom-data/` + Test Node Wipe Script (2026-02-22)
|
||||
|
||||
All felhom-managed data on external drives now lives under a `felhom-data/` subdirectory, cleanly separating controller-managed data from user files. Plus a multi-level wipe script for repeatable test node cleanup.
|
||||
|
||||
Reference in New Issue
Block a user