0.92.0 possibly broke my mqtt

Hi, since 0.92.0 the mqtt trigger doesn’t connect to my mqtt broker anymore. I checked the server with mqtt-box … connection there is still in tact. Any idea?

Best,
daniello

I have the impression that the credentials use Port 1883 - even though I changed it to 1888.
Very strange things happen on my ioBroker.

What n8n version did you use before?

Actually does not matter. There have not been any changes to the MQTT Trigger node since it got created. So it is either something else or the library n8n uses introduced a bug.

can you check this?

How do you use n8n? If you run it with docker it is probably the easiest to roll back and see if it works with the old version.

It’s a VM in Proxmox. The former version was 0.91.x if I recall correctly.

@jan
Are you looking into this? I’d also roll back my version … if there are instructions how.

@jan
0.93.0 still sending on the wrong port.

Yes sorry. Nothing changed. Simply had no time to look into it. One reason is that I first have to research how to set up a test environment, then do the actual testing, debugging, … all time intensive and time is a thing I sadly do not have much of right now.

Installing an old version of n8n should be possible with:

npm install [email protected] -g 

If that does not work, which seems to be sadly very common with npm, it is probably easiest to totally uninstall n8n and then reinstall again with the above command.

Please keep me updated if it works fine with the old version. Thanks

I tried to downgrade. Uninstall worked but installing a new version didn’t some sqlite errors I don’t understand. I restored my VM … if you have an ideas pls let me know … I was to anxious to copy all the log output … but I could try again.

Can you run n8n in docker? Because that makes everything much simpler. Especially up and downgrading. Additionally, does it make sure that n8n runs as good as possible as then it has for sure everything it needs.

I turned to VMs instead of dockers because I had better control of resources … like using USB devices. I hadn’t heard that dockers are in any way superior to VMs … this is new to me.

In proxmox they are called containers. So you think using a container will solve everything?

Like most technologies are they superior in one way or another. That is why normally different technologies exist and not just one. If VMs would be superior in every way, people would not use docker containers everywhere. The same the other way around. So simply said: “Each technology has their advantage and disadvantages”.

In this case do we have a perfectly running and ready docker-image. One that includes everything that n8n needs to run. Up- and downgrading to any version is possible by changing one number. Meaning you would have been able to answer my question if it runs fine with the old version within a few minutes and so days ago. Sure, if we would have ready VMs for every version that would be a different conversation. But we do not and is currently also not planned.

I for sure do not think containers solve everything but it makes many things easier and less prone to errors than npm installing n8n in an unknown environment where a lot of stuff can go wrong. Hope that makes sense.

Ah I understand … there is a custom docker image for n8n … I have no idea if I can plug this into Proxmox as Container but I can try.

Yes exactly. That docker image contains all the n8n dependencies. Not just on a system-level, like for example graphicmagic, also the Node.js ones. Meaning it has for sure everything it needs to run and also if an underlying dependency changes (or breaks) it works still fine.

Honestly never used Proxmox but on their website they also mention containers so it looks like it should be possible.

So I have a docker for n8n now and I know how to start in tunnel mode. Nevertheless I could use some support:

  • how can I make the docker-image auto load at startup? Now I have to enter the command to start it?
  • How can I exchange the default sql db with the one from my VM … the path seems to be different?
  • How can I downgrade (if the mqtt problem persists) … is it from the LXC shell or do I need to go into some docker shell?

Sorry … this is very new to me.

First: It is important to remember that the built-in tunnel is only meant for testing & development. It should not be used for production deployments!

  • how can I make the docker-image auto load at startup? Now I have to enter the command to start it?

If you use the “restart” option and set it to “always” it should automatically start again also if you restart. Best to check the docker documentation.

  • How can I exchange the default sql db with the one from my VM … the path seems to be different?

No is 100% the same. The only difference is how you define the environment variables. Also best check the docker documentation about that.

  • How can I downgrade (if the mqtt problem persists) … is it from the LXC shell or do I need to go into some docker shell?

If you set as image n8nio/n8n it will use the latest version. But you can also define a specific version like this n8nio/n8n:0.91.0

You can find some examples on how to run n8n in docker here:

Here also a full setup guide:

1 Like

I hope I’m on the right track … should above command still work when I use the docker version?
ATM it doesn’t look like it.

No, in docker that is not needed anymore as the container already contains the full code. Depending on the docker container you use, it will start a different version.