Unable to deploy new flows, nothing visible in logging

I have been running an unaltered flow in docker.

However since recently I have not been able to deploy, due to node-red simply being stuck after pressing deploy, changing deploy mode, starting in safe mode etc is not working either.

Permissions are also set correctly

The logs don't show any failure nor does node-red.

I have been trying to run node-red stop from inside the docker container but this just attempts to start second instance of node-red but fails because the port is already in use.

I am really stuck with this problem and can not detect a single point of failure, since every feature in my flow is working as intended, and everything has worked before too also the last deploy could not have been a breaking one since I only added an iframe to the UI.

I am really stuck in where to look or what the issue could be does anyone have any ideas.

Like I said every single other aspect of my flow node-red is working as intented, I just can not update my flows anymore.

That command attempts to start a new instance of node-red running a flows file called stop. The command you want is node-red-stop. However, I don't know if that runs in a docker install.

Does the node-red log show it attempting to deploy?

Can you try the Deploy from a different browser or PC in order to eliminate that as a possibility?
If that doesn't help, open the developer tools console in the browser, refresh the page, then make a change and attempt to deploy. See if you see any errors in the developer console.

The logs do not show any attempt of re-deploy, I'll try clearing my node-red dir and manually import my old flows

Why don't you try answering my other questions first?

node-red-stop is a valid command inside the docker container, hence my attempt.

and i have tried deploying from different browsers(Chrome, Firefox, Safari) incognito mode and different machines(MacOs 2x + IOS),
as well as inspecting the page since these were the first things I tried upon encountering the problems.

And since I have been on this problem for some time i am taking steps to see wether the problem could lie in any corrupted files/directories or whether it's an issue in one of packages inside my palette rather than going over what I've already did again.

OK, you had not mentioned all those things.

Did you open the developer console and do a full page refresh, then hit the deploy button and check for errors?

Do inject buttons and the debug pane work ok?

Done those things as well, along with clearing my caches etc but every time i press deploy just keeps hanging forever on the loading icon.

Debugging pane and inject buttons as well as any other interactions with Node-red work fine.

However upon just trying to manually install some packages to my palette that I used in above mentioned configuration, node-red is crashing upon restart so that might have something to do with it.
since my package lock files, flows etc came from my bare-metal set-up and I think that might have been causing my issues.

Either way I'm sorry for any unclear communication and do appreciate your help and quick replies.

What is the message in the node-red log?

After installing the dashboard and restarting node red produces the following logs and that's where it hangs.

4 Jan 17:57:16 - [info]

Welcome to Node-RED
===================

4 Jan 17:57:16 - [info] Node-RED version: v3.0.2
4 Jan 17:57:16 - [info] Node.js  version: v16.16.0
4 Jan 17:57:16 - [info] Linux 5.4.0-1077-raspi arm64 LE
4 Jan 17:57:18 - [info] Loading palette nodes
4 Jan 17:57:21 - [info] Dashboard version 3.3.1 started at /ui

However the problematic part seems to lie when I try to install the dashboard package from the UI it gets stuck on here when starting.

That is not showing a crash (unless something external is killing node-red at that point), it is a hang. Is the proces still running at that point?

You might get more information by setting the log level to Trace in settings.js.

Thanks for that tip, as far as I can see there are some issues dashboard packages and the version of node-red i am using, will try to see if I can get some working combination to at least get my set-up to run again.

Welcome to Node-RED
===================

5 Jan 12:49:41 - [info] Node-RED version: v1.2.3
5 Jan 12:49:41 - [info] Node.js  version: v16.16.0
5 Jan 12:49:41 - [info] Linux 5.4.0-1077-raspi arm64 LE
5 Jan 12:49:43 - [info] Loading palette nodes
5 Jan 12:49:46 - [info] Dashboard version 3.3.1 started at /ui
(node:7) [DEP0128] DeprecationWarning: Invalid 'main' field in '/usr/src/node-red/node_modules/@node-red/editor-client/package.json' of './lib/index.js'. Please either fix that or report it to the module author
(Use `node --trace-deprecation ...` to show where the warning was created)
5 Jan 12:53:58 - [info]

Welcome to Node-RED
===================

5 Jan 12:53:58 - [info] Node-RED version: v1.2.3
5 Jan 12:53:58 - [info] Node.js  version: v16.16.0
5 Jan 12:53:58 - [info] Linux 5.4.0-1077-raspi arm64 LE
5 Jan 12:54:00 - [info] Loading palette nodes
5 Jan 12:54:03 - [info] Dashboard version 3.3.1 started at /ui

Dove further into my issues but whatever I do the deploy button does not seem to do anything anymore, making me stuck with the set-up I have as building the set-up from scratch does not seem to work either as installing certain things to the palette makes everything crash.

I'm just so confused what exactly could be the cause and why it could have stopped working, been running this configuration for about 1,5 years and since 3 months I switched to docker where it has been working fine for some time.

Sorry, I am out of ideas. I think maybe it needs a Docker expert. Hopefully one will come along.

Are you running on a Pi with an SD card? If so, I wonder whether the card is corrupted. Do you have a backup image of the card you can try?

I think that answers your issue.

Why are you running docker? Are you proficient with Docker?

I am running docker since i have been running the rest of my whole stack in swarm mode allowing me to maintain all services from 1 machine and resolve any service i need to access externally services from a single(floating) IP whilst running on different machines and scale them whenever needed.
Also since i'm using the internal networking i do not have to expose certain services (influxdb,mariadb, machine learning inference containers) outside of the docker overlay nework and can resolve them by the name of the container rather than having to hardcode the IP's of any server inside these services)
And ofcourse take advantage of the self-healing capabilities when taking down my nodes for maintenance, or when a node would crash.

However with all that said i am going to tinker around a bit further and educate myself a bit more on the internals of node-red to see if i can getting it to work as it used to.

@Colin Thanks a lot for your help, your suggestions definitely provided me with sufficient input to tackle this when i have some more time.

I have already put some fresh good quality SD's on my shopping list as this was on my to do list anyways, since i've recently had to deal with some corrupted cards already.

That could be a big clue. Since I stopped using cheap cards several years ago I don't think I have had a failure.

That's worth checking out then, however all node-red files are mounted on persistent storage from docker
It's one of the reasons i switched to Docker swarm + persistent storage for all apps on my NAS(which is also a node in the swarm) and not having to worry about having to back-up every single server .

IMHO we need some basics in order to be able to help...

  • what image are you running? the std node-red:3.0.2 from dockerhub or your own image? If the latter, can you post the Dockerfile?
  • what is the command or configuration you use to launch the container, in particular, what are the volume mounts and what are the options to npm start?
  • what are you trying to achieve by running node-red-stop?
  • you mention SD card issues, have you deleted the nore-red docker image and done a fresh pull?