cbdbce7a41
refactor(setup-network): let netplan own the AP switch — update config and apply before wpa_cli
master
Justin Oros2026-04-23 12:16:40 -07:00
bbf1d8b79a
fix(setup-network): use remove_network instead of disable_network and drop interface bounce to prevent AP fallback
Justin Oros2026-04-23 12:11:12 -07:00
436906582c
fix(setup-network): move netplan file selection before Proceed prompt so it isn't missed on SSH drop
Justin Oros2026-04-23 11:57:04 -07:00
a01f4aa11c
fix(setup-network): prompt user to choose netplan file when multiple configs exist
Justin Oros2026-04-23 11:54:03 -07:00
d61f7e4512
fix(setup-network): update all netplan files containing access-points, not just the first one
Justin Oros2026-04-23 11:49:01 -07:00
337d238d7f
fix(setup-network): bounce interface and force DHCP renew after AP switch to restore connectivity
Justin Oros2026-04-23 11:43:39 -07:00
ff5cb104f8
fix(setup-network): collect all user input before switching AP to prevent SSH session drop mid-prompt
Justin Oros2026-04-23 11:39:10 -07:00
5d9e0f579c
setup-network.sh: add Change Wireless Network option using iw/wpa_cli/wpa_passphrase for systemd-networkd on Armbian
Justin Oros2026-04-23 11:32:47 -07:00
2bd8711db3
health-check.sh: show human-readable used/total disk usage instead of percentage
Justin Oros2026-04-22 09:50:44 -07:00
2928285143
health-check.sh: fix total disk usage label to show root filesystem instead of empty mount point
Justin Oros2026-04-22 09:47:25 -07:00
f9d0717b71
health-check.sh: add total disk usage summary line to disk space section
Justin Oros2026-04-22 09:45:30 -07:00
518f54394c
health-check.sh: only check last 60 seconds of autossh logs for tunnel failures to avoid false positives from old log entries
Justin Oros2026-04-22 08:52:15 -07:00
defb4fdaa3
onboard-spoke.sh: use script-based rclone mount with sleep 90 for reliable boot ordering, add per-spoke mount log
Justin Oros2026-04-20 22:27:10 -07:00
c7c5d2bf8d
setup-opds.sh: replace fixed sleep watchdog with retry loop that restarts dir2opds until books are visible inside container
Justin Oros2026-04-20 22:26:28 -07:00
85def22fca
setup-opds.sh: add bind-propagation=shared to dir2opds mount for FUSE mount visibility inside container
Justin Oros2026-04-20 21:41:46 -07:00
80d5f1d1fd
setup-opds.sh: use --mount type=bind instead of -v for FUSE mount propagation into dir2opds container
Justin Oros2026-04-20 21:22:27 -07:00
56e0fc38c0
onboard-spoke.sh: use full path to rclone in crontab mount command to ensure it works at boot
Justin Oros2026-04-20 20:56:45 -07:00
1c6e12e2d6
setup-opds.sh: add boot watchdog cron to restart dir2opds if books mount is empty after reboot
Justin Oros2026-04-20 20:45:54 -07:00
40d24158b6
onboard-spoke.sh: add --allow-non-empty to rclone mount command to prevent mount failure after reboot
Justin Oros2026-04-20 20:43:00 -07:00
5bc33b28f4
syncthing.sh: show folder label alongside folder ID in pending folders display and selection menu
Justin Oros2026-04-20 19:04:12 -07:00
21a1c7e922
setup-opds.sh: replace hardcoded books path with dynamic spoke mount listing
Justin Oros2026-04-20 16:08:31 -07:00
4586a0f598
setup-opds.sh: add -hide-dot-files flag to dir2opds to filter macOS metadata files and Syncthing folders
Justin Oros2026-04-20 15:01:41 -07:00
2999c464fa
setup-opds.sh: add firewall port warning before starting Caddy
Justin Oros2026-04-20 14:53:44 -07:00
dfa3c1ce6d
setup-opds.sh: add reconfigure option to update existing OPDS setup, improve Caddyfile generation for auto and manual SSL
Justin Oros2026-04-20 14:45:08 -07:00
9dc2b221d3
setup-opds.sh: prompt user to install Docker if not found, using same approach as setup-spoke.sh
Justin Oros2026-04-20 14:40:32 -07:00
89e84c41c1
hub/setup-opds.sh: add OPDS server setup script with dir2opds and Caddy running in Docker on shared network, with SSL and auth options
Justin Oros2026-04-20 14:37:10 -07:00
2d2b19b2db
syncthing.sh: add ignored folder display and un-ignore option to pending folders menu
Justin Oros2026-04-20 13:19:37 -07:00
78d4373c0d
syncthing.sh: add pending folders support to option 1, allowing acceptance of incoming folder offers
Justin Oros2026-04-20 13:08:29 -07:00
132d15357c
health-check.sh: filter Docker overlay mounts from disk space check
Justin Oros2026-04-20 09:54:47 -07:00
8acfc3269a
health-check.sh: filter Docker overlay mounts from disk space check
Justin Oros2026-04-20 09:37:42 -07:00
ad15498bb9
health-check.sh: add disk space check with OK/WARN/FAIL thresholds at 80% and 90%
Justin Oros2026-04-20 09:33:36 -07:00
dea8d2df4d
add sleep to prevent rclone before fuse mod, and add performance caching
rclone-tweaks
finn2026-04-20 00:40:38 -07:00
8a7fe7b4de
setup-network.sh: back up and remove conflicting netplan files before writing static IP config
Justin Oros2026-04-19 22:45:24 -07:00
e3a12c0f6e
health-check.sh: remove union remote check
Justin Oros2026-04-19 22:39:04 -07:00
a8b10a1814
health-check.sh: check hub user's crontab instead of root's when running as root
Justin Oros2026-04-19 22:36:46 -07:00
92a2af8c5c
health-check.sh: auto-detect hub user home directory when running as root
Justin Oros2026-04-19 22:35:42 -07:00
a5cf3d1f8b
health-check.sh: only show docker and Syncthing checks on spokes, not hubs
Justin Oros2026-04-19 22:34:21 -07:00
84b3b7ce1d
health-check.sh: fix spoke detection to check for running autossh container instead of compose.yaml presence
Justin Oros2026-04-19 22:29:02 -07:00
86688c43c7
setup-hub.sh: use fuse3 for apt systems
Justin Oros2026-04-19 22:26:11 -07:00
972dbef11c
setup-hub.sh: change AllowTcpForwarding from local to yes to allow reverse tunnels from spokes
Justin Oros2026-04-19 22:11:02 -07:00
e55ab898ef
setup-spoke.sh: show current hostname as default in hostname prompt
Justin Oros2026-04-19 22:01:53 -07:00
81d0bebd5e
setup-spoke.sh: write hub host key to root's known_hosts during keyscan to prevent host key prompt during tunnel test
Justin Oros2026-04-19 21:58:29 -07:00
6fe164a6ae
setup-network.sh: add IPv4/IPv6 preference options to network setup menu
Justin Oros2026-04-19 21:49:13 -07:00
b76e890857
setup-spoke.sh: print exact authorized_keys command with public key when displaying hub key instructions
Justin Oros2026-04-19 21:32:23 -07:00
4e2f17266a
compose.yaml: bind Syncthing web UI to all interfaces instead of localhost only
Justin Oros2026-04-19 21:12:40 -07:00
0af3c30f79
setup-hub.sh: change password auth disable default to N
Justin Oros2026-04-19 20:58:50 -07:00
b0e63a2e01
syncthing.sh: replace python3 XML parsing with grep/sed for API key extraction since Syncthing container has no python3
Justin Oros2026-04-19 15:50:41 -07:00
58c641d603
health-check.sh: auto-detects hub/spoke role and reports status of Docker, SSH, Syncthing, autossh tunnel, rclone mounts, and crontab entries
Justin Oros2026-04-19 15:41:50 -07:00
1cc50f8ff0
compose.yaml, setup-spoke.sh: replace named Docker volume with host directory for syncthing config, reset compose.yaml to generic placeholders, remove volume permission fix step
Justin Oros2026-04-19 15:35:13 -07:00
97aff6a741
onboard-spoke.sh: replace printf with python3 to correctly write rclone remote config with real newlines
Justin Oros2026-04-19 15:04:39 -07:00
eaff38477c
onboard-spoke.sh: restore union remote, rclone test, registry, auto-mount, and completion sections lost during rewrite
Justin Oros2026-04-19 14:43:05 -07:00
0553420d04
setup-spoke.sh: add docker-cli to apt install list
Justin Oros2026-04-19 14:00:25 -07:00
4cdddd649d
setup-spoke.sh: add option to choose existing key from ~/.ssh/ in SSH key setup menu
Justin Oros2026-04-19 13:52:29 -07:00
0fd7d94d58
setup-spoke.sh: redirect find_free_port warn output to stderr to prevent contamination of TUNNEL_PORT variable
Justin Oros2026-04-19 13:46:07 -07:00
f3c9cf2344
setup-spoke.sh: change password auth disable default to N and add warning to wait until after onboard-spoke.sh
Justin Oros2026-04-19 13:14:52 -07:00
f486795154
onboard-spoke.sh: add key selection prompt for tunnel auth, use explicit -i flag for all SSH calls, clarify hub key installation header
Justin Oros2026-04-19 13:05:29 -07:00
4e1e9282ac
setup-spoke.sh: use docker.io and docker-compose instead of docker-compose-plugin for apt installs
Justin Oros2026-04-19 12:37:19 -07:00
07f4601bad
setup-spoke.sh: replace docker.io apt install with Docker official install script to fix docker-compose-plugin availability
Justin Oros2026-04-19 11:45:07 -07:00
9bdd12ebbd
onboard-spoke.sh: add rclone auto-mount via crontab @reboot entry and immediate mount on onboarding
Justin Oros2026-04-19 11:40:47 -07:00
d3a6d406d8
setup-hub.sh: change AllowTcpForwarding from yes to local to restrict forwarding to local connections only
Justin Oros2026-04-19 11:26:15 -07:00
e74c9b45d5
etup-hub.sh: change GatewayPorts from yes to no for improved security
Justin Oros2026-04-19 11:21:52 -07:00
600f6044ce
setup-network.sh: add menu with hostname change and static IP options, fix SSID extraction quoting using heredoc
Justin Oros2026-04-19 11:03:56 -07:00
2fe94dfe9d
setup-hub.sh: remove unnecessary sudo/wheel group membership for hub user
Justin Oros2026-04-19 10:36:32 -07:00
e9c1daccce
onboard-spoke.sh: replace raise SystemExit with sys.exit(0) in union duplicate check
Justin Oros2026-04-18 21:47:55 -07:00
6db5e9769e
onboard-spoke.sh: replace grep -A5 union duplicate check with python3 for reliable section parsing
Justin Oros2026-04-18 21:46:48 -07:00
c75b29a5ea
onboard-spoke.sh: fix upstream construction for empty path with tag, replace fragile sed range with python3 for reliable union upstream append
Justin Oros2026-04-18 21:45:02 -07:00
92b74d8f67
onboard-spoke.sh: add upstream access mode prompt (ro, nc, writeback) when creating or joining a union remote
Justin Oros2026-04-18 21:43:24 -07:00
1d4e25b6a5
syncthing.sh: auto-unshare folder from all devices before removal if shared
Justin Oros2026-04-18 21:21:24 -07:00
0c784a672c
syncthing.sh: fix remaining shell variable interpolation in python3 -c strings across add_device_by_pending, remove_device, and unshare_folder
Justin Oros2026-04-18 21:18:04 -07:00
410def45c3
syncthing.sh: fix grep -oP portability, add curl error messages, pass shell vars as sys.argv to prevent python injection
Justin Oros2026-04-18 21:15:46 -07:00
f1d818eae6
syncthing.sh: store container name as global ST_CONTAINER
Justin Oros2026-04-18 21:13:34 -07:00
5017af57c9
syncthing.sh: List available folders when on Add a folder
Justin Oros2026-04-18 21:12:47 -07:00
9e4fba591a
compose.yaml, setup-spoke.sh: scope syncthing mount to data directory only, move config/certs to named Docker volume, syncthing.sh: update add folder path example
Justin Oros2026-04-18 21:08:22 -07:00
982b8a8641
syncthing.sh, README.md: change syncthing menu to 0-based indexing
Justin Oros2026-04-18 18:57:36 -07:00
e6720804dc
syncthing.sh: new script for managing Syncthing devices and folders via REST API with interactive menu
Justin Oros2026-04-18 18:36:01 -07:00
63197799b8
setup-hub.sh: fix sed delimiter for PasswordAuthentication/PubkeyAuthentication, guard authorized_keys creation, setup-spoke.sh: fix sed delimiter, validate spoke name charset, make find_free_port vars local, offboard-spoke.sh: validate spoke name charset, setup-network.sh: replace brittle SSID grep with python3 regex
Justin Oros2026-04-18 14:39:01 -07:00
128b41ede9
setup-hub.sh: fix sed delimiter and add file dep, onboard-spoke.sh: fix rclone append newline guard and keyscan key-type dedup, offboard-spoke.sh: fix crontab empty check and add timestamped backup, setup-network.sh: replace single bak with timestamped backup, compose.yaml: replace syncthing host network with explicit port bindings
Justin Oros2026-04-18 14:31:10 -07:00
f3792a38fc
setup-spoke.sh: fix port scan range and user@host sed regex, offboard/onboard-spoke.sh: fix registry grep-v empty-output clobber, setup-network.sh: fix wifi password colon handling
Justin Oros2026-04-18 14:25:24 -07:00
e450456638
spoke/setup-spoke.sh Fix check_permissions to check group bits; fix ssh-keyscan dedup to iterate per key type; fix HUB_USER@HUB_HOST sed regex to handle trailing whitespace hub/offboard-spoke.sh Drop root requirement; fix crontab running as root; fix registry .tmp not cleaned on failure hub/onboard-spoke.sh Fix registry .tmp not cleaned on failure; chmod 600 key immediately after generation hub/setup-hub.sh Check permissions on existing SSH private keys in setup
Justin Oros2026-04-18 14:12:05 -07:00