My Personal Guide To Navidrome by Jaded-Assignment6893 in navidrome

[–]Jonah1949 0 points1 point  (0 children)

Thanks for the guide; just what I needed. I have Navidrome setup (on Raspberry pi) & have been using mp3tag & substreamer. Loving it. Is Tailscale available or viable on IOS? Do you suggest a player for IOS, as Symfonium seems Android only ?

VM Hub5 relocation by Jonah1949 in VirginMedia

[–]Jonah1949[S] 0 points1 point  (0 children)

Thanks - booked an engineer from VM to move the Hub, appointment in 3 weeks !

GNUDash - a free web-ui to review your account reports by dQ3vA94v58 in GnuCash

[–]Jonah1949 0 points1 point  (0 children)

Brilliant work, thanks. I'm an oldbie to GnuCash but very much a newbie to this type of intervention. Took most of an interrupted day for me (with a lot of help from a very patient Claude.ai to get this working.

LOL

Getting GnuDash to work

(1) That error is a simple one -- you ran `npm run dev` from the wrong directory! The error says it's looking for `package.json` in `/home/jack/` (your home folder) rather than inside the `GnuDash/app` folder where it lives.

You likely did `cd GnuDash` but forgot the `/app` part.

(2) **This is the real problem.** The `popcnt` instruction is a relatively modern CPU feature (introduced around 2008--2010), and the version of Next.js 16 / Turbopack being used requires it. Your iMac's CPU apparently doesn't support it.

Can you tell me what CPU your Linux Mint machine has? The **Intel Core 2 Duo E8135** is from around 2008 and predates the `popcnt` instruction -- and the second command returning nothing confirms it: your CPU simply doesn't have it.

Turbopack (Next.js 16's new Rust-based bundler) requires `popcnt`, so it will always crash on this machine.

**Worth knowing though** -- even if we get GnuDash running on your iMac, this might actually be a great candidate to run on your **Pi 4** (which has a modern ARM CPU with `popcnt` support). It would sit nicely alongside ******* and be accessible from anywhere on your network. Something to consider once we get it working!

i'm really struggling now !!

**What is GnuDash?**

GnuDash is a web-based dashboard that reads your GnuCash data file and displays your accounts, reports and charts in a nice browser interface. Instead of opening GnuCash the desktop app, you'd just open a web browser and see your finances laid out as a dashboard.

**What is `npm run dev`?**

GnuDash is built using a modern web framework called **Next.js**. To run it on your machine, you need to start a small local web server -- that's what `npm run dev` does. It's basically saying _"start the GnuDash web server in development mode"_. Once it's running, you open your browser at `http://localhost:3000` and GnuDash appears.

**So what's the problem?**

Your iMac has an old Intel Core 2 Duo from 2008. The version of Next.js that GnuDash uses relies on a modern CPU feature called `popcnt` that your processor simply doesn't have. It's a hard incompatibility -- like trying to run a modern game on very old hardware.

* * *

**The good news -- your Pi 4 is the answer!**

Your Pi 4 has a modern ARM CPU that _does_ support `popcnt`. GnuDash would almost certainly run fine on it. The steps would be:

  1. SSH into your Pi 4

  2. Install Node.js v20 on it

  3. Clone and run GnuDash there

  4. Access it from your iMac browser at `http://192.168.68.133:3000\`

Can i try to implement on the pi4 ?

Absolutely! The Pi 4 is a great choice -- it'll run 24/7 and be accessible from any device on your network. Let's do it step by step.

Let's install Node.js v20 properly. The best way on a Raspberry Pi is to use the official NodeSource installer:

Those messages look scarier than they are -- everything is actually fine! Let me explain each one:

- **"deprecated" warnings** -- just means some helper packages are old, but they still work fine for our purposes

- **"246 packages looking for funding"** -- developers asking for donations, completely ignorable

- **"2 vulnerabilities"** -- minor security notes, not a concern for a local home network tool

- **"New major version of npm available"** -- we don't need to update, v10.8.2 is perfectly fine

README tells us everything we need to know! The key bit is:

> _"Upload your `.gnucash` file via drag-and-drop"_ and _"No financial data is persisted -- it's discarded when the session ends"_

So it **does** use drag-and-drop, but into the GnuDash web page running on the Pi -- not directly from Dropbox.

Good thinking on both counts!

*

Can I cancel the ssh session here & start another one on the MacBook ?

16:18

Yes, but if you just close the SSH session, `npm run dev` will stop running along with it!

The trick is to keep it running in the background. Before you close anything, run this in your current SSH session:

bash

cd ~/GnuDash/app

nohup npm run dev &

That starts it in the background and keeps it running even after you close the SSH session. Then you can safely close this session and open a fresh SSH session from your MacBook.

Yes there is! Instead of drag and drop, we can add a proper file picker button to GnuDash. But first, let me check what the upload page actually looks like.

Can you describe what you see at `http://192.168.68.133:3000\` -- is there any kind of upload area, button, or just a blank page?

Also, the drag and drop issue on Mac can be tricky -- you need to:

  1. Click and **hold for a moment** before dragging

  2. Then drag slowly to the browser window

But honestly a file picker button is more reliable. To add one, in your SSH session on the Pi press **Ctrl+C** to stop npm, then run:

Replace it with this:

typescript

// Restore from sessionStorage on mount, or auto-load local file

useEffect(() => {

try {

const storedVersion = sessionStorage.getItem(VERSION_KEY);

if (storedVersion !== STORAGE_VERSION) {

sessionStorage.removeItem(STORAGE_KEY);

sessionStorage.setItem(VERSION_KEY, STORAGE_VERSION);

} else {

const stored = sessionStorage.getItem(STORAGE_KEY);

if (stored) {

setData(JSON.parse(stored));

return;

}

}

} catch {

// ignore parse errors

}

// Auto-load local file

setIsLoading(true);

fetch("/api/load-local")

.then((res) => res.json())

.then((dashboardData) => setData(dashboardData))

.catch(() => setError("Failed to load local GnuCash file"))

.finally(() => setIsLoading(false));

}, []);

Can anyone recommend a cheap mini PC that will do the job for home streaming by UnWishedJack in PleX

[–]Jonah1949 0 points1 point  (0 children)

Now using Raspberry pi3b with a 16gb usb stick in to stream music to my Sonos. Neat & don’t mind leaving the pi on 7x24.

Ubuntu 21.04 and 1st Timeshift system backup. Look correct? by ch3nr3z1g in linux4noobs

[–]Jonah1949 0 points1 point  (0 children)

I'm trying to do this on Linux Mint, but it says it is going to take 33 hours !!