onboard-spoke.sh: add rclone auto-mount via crontab @reboot entry and immediate mount on onboarding

This commit is contained in:
Justin Oros
2026-04-19 11:40:47 -07:00
parent d3a6d406d8
commit 9bdd12ebbd

View File

@@ -235,6 +235,24 @@ fi
echo "${SPOKE_NAME} ${TUNNEL_PORT} ${KEY_PATH} ${MOUNT_POINT}" >> "$REGISTRY" echo "${SPOKE_NAME} ${TUNNEL_PORT} ${KEY_PATH} ${MOUNT_POINT}" >> "$REGISTRY"
info "$SPOKE_NAME registered." info "$SPOKE_NAME registered."
header "Setting Up Auto-Mount"
MOUNT_CMD="rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --daemon"
CRON_ENTRY="@reboot ${MOUNT_CMD}"
EXISTING=$(crontab -l 2>/dev/null || true)
if echo "$EXISTING" | grep -qF "${SPOKE_NAME}-remote:"; then
warn "Crontab entry for ${SPOKE_NAME}-remote already exists, skipping."
else
CRONTAB_BACKUP="${HOME}/.config/tinyboard/crontab.$(date +%Y%m%d%H%M%S)"
mkdir -p "$(dirname "$CRONTAB_BACKUP")"
echo "$EXISTING" > "$CRONTAB_BACKUP"
info "Crontab backed up to $CRONTAB_BACKUP"
{ echo "$EXISTING"; echo "$CRON_ENTRY"; } | crontab -
info "Auto-mount crontab entry added for ${SPOKE_NAME}."
fi
info "Starting mount now..."
mkdir -p "$MOUNT_POINT"
eval "$MOUNT_CMD" 2>/dev/null && info "Mounted ${SPOKE_NAME} at ${MOUNT_POINT}." || warn "Mount failed — will retry on next reboot."
header "Onboarding Complete" header "Onboarding Complete"
echo -e " Spoke: ${GREEN}$SPOKE_NAME${NC}" echo -e " Spoke: ${GREEN}$SPOKE_NAME${NC}"
echo -e " Port: ${GREEN}$TUNNEL_PORT${NC}" echo -e " Port: ${GREEN}$TUNNEL_PORT${NC}"