Upgraded Flowfuse local debian version to 2.9.0 and now it won't start?

I was running an old 1.X version and installed 2.9.0 over the top after upgrading to node 18.20.4 The install went ok but when I started the service, it didn't.

When I check with sudo service flowforge status
I get this . . .

ESCOD
● flowforge.service - FlowForge Platform
Loaded: loaded (/lib/systemd/system/flowforge.service; disabled; vendor prese
Active: activating (auto-restart) (Result: exit-code) since Tue 2024-10-08 12
Docs: Documentation • FlowFuse
Process: 25388 ExecStart=/opt/flowforge/bin/flowforge.sh (code=exited, status=
Main PID: 25388 (code=exited, status=127)

Oct 08 12:30:21 localhost systemd[1]: flowforge.service: Main process exited, co
Oct 08 12:30:21 localhost systemd[1]: flowforge.service: Failed with result 'exit-code'
~

any ideas appreciated !!

Cleared it all out and did a full reinstall from latest version after a node.js v20 install as well, and . . .
flowfuse.service - FlowFuse Platform
Loaded: loaded (/lib/systemd/system/flowfuse.service; disabled; vendor preset
Active: activating (auto-restart) (Result: exit-code) since Tue 2024-10-08 13
Docs: Documentation • FlowFuse
Process: 27778 ExecStart=/opt/flowforge/bin/flowfuse.sh (code=exited, status=1
Main PID: 27778 (code=exited, status=1/FAILURE)

Oct 08 13:05:50 localhost systemd[1]: flowfuse.service: Main process exited, cod
Oct 08 13:05:50 localhost systemd[1]: flowfuse.service: Failed with result 'exit
lines 1-9/9 (END)

it's dead Jim !

And what does the log say if you run it directly in the terminal?

bash /opt/flowforge/bin/flowfuse.sh

ermmm, it says the following, and the key point is-> address already in use 0.0.0.0:3000 of course !!

thank you, I have somewhere to go now !
Gav

root@localhost:/opt/flowforge# bash /opt/flowforge/bin/flowfuse.sh
{"level":"INFO","time":"2024-10-08T13:54:06.119Z","msg":"FlowFuse v2.9.0"}
{"level":"INFO","time":"2024-10-08T13:54:06.120Z","msg":"FlowFuse running with NodeJS v18.20.4"}
{"level":"INFO","time":"2024-10-08T13:54:06.120Z","msg":"FlowFuse Data Directory: /opt/flowforge"}
{"level":"INFO","time":"2024-10-08T13:54:06.120Z","msg":"Config File: /opt/flowforge/etc/flowforge.yml"}
{"level":"INFO","time":"2024-10-08T13:54:06.121Z","msg":"Database driver: sqlite"}
{"level":"INFO","time":"2024-10-08T13:54:06.121Z","msg":"Database file: /opt/flowforge/var/forge.db"}
{"level":"INFO","time":"2024-10-08T13:54:06.401Z","msg":"No license applied"}
{"level":"INFO","time":"2024-10-08T13:54:06.449Z","msg":"Usage       : count/limit"}
{"level":"INFO","time":"2024-10-08T13:54:06.450Z","msg":" Users      : 0/5"}
{"level":"INFO","time":"2024-10-08T13:54:06.450Z","msg":" Teams      : 0/5"}
{"level":"INFO","time":"2024-10-08T13:54:06.450Z","msg":" Instances  : 0/5"}
{"level":"INFO","time":"2024-10-08T13:54:06.946Z","msg":"Email not configured"}
{"level":"WARN","time":"2024-10-08T13:54:06.947Z","msg":"[comms] Broker not configured - comms unavailable"}
{"level":"INFO","time":"2024-10-08T13:54:07.004Z","msg":"Container driver: localfs"}
Error: listen EADDRINUSE: address already in use 0.0.0.0:3000
    at Server.setupListenHandle [as _listen2] (node:net:1817:16)
    at listenInCluster (node:net:1865:12)
    at doListen (node:net:2014:7)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '0.0.0.0',
  port: 3000
}

so I found something using port 3000 and all was nearly well . . . managed to get into the admin portal and create a node-red instance . . . now it fails because the instance has node v16.X and needs higher - but my debian instance has node 18 installed ?!?! is there some way to chance the node-js instance Flowfuse is using for its NR instances ?

I've used flowfuse quite a bit previously and never hit probs like this :frowning:

Did you restart that instance of FF that seems to be active before you did a nodejs update? If you type node -v do you have the v20?

node-v shows v20.18.0

but inside FF any instance I create says

Specs

Type Default / Node-RED 4.0.3
Template Default
Node-RED Version 4.0.3
Launcher Version 2.9.0
Node.js Version 16.20.2

and the NR log says

08/10/2024 15:14:27 Unsupported version of Node.js: v16.20.2
08/10/2024 15:14:27 Node-RED requires Node.js v18 or later

Hi @vtgav

How have you installed node.js? The launcher will be using whatever version of node.js it finds on the path. Depending how you have node.js installed, it may have modified the path of your user to pickup node 20, whereas the FF service running as its own user has a different path configured.

thanks for the info but I confess I'm more than a bit lost here - I installed v20 version of node using

nvm install 20.18.0

apologies but I've no how to get the FF user to use that as well or why it would be pointing at an old version?!?!

nvm is very useful for installing multiple versions of node.js, however it only sets up the local user's path to point at what you've installed using it.

For other users, it will fall back to the version installed via apt (as this is Debian).

One solution will be to update the version of node.js you have installed globally via apt. Rather than rely on the default debian repositories which are usually backlevel, you can install from nodesource: GitHub - nodesource/distributions: NodeSource Node.js Binary Distributions - just note their instructions will get you Node 22.

Thanks - I checked the APT installed version and it was old, however I'd got myself into a mess and fortunately had a backup of the VM I was on and restored, then updated using APT and I'm now in a happy place ( who knows how long that will last ! ) so thanks for the help, appreciated