Sign Up User Verify Account

Hi everyone,

I have searched here for a possible solution but didn’t find anything so:

My problem is that once I install the Web API, mqtt gateway and the frontend (https://forum.farmbot.org/t/farmbot-web-frontend-error/1651) and I run MQTT_HOST=ws://localhost:3002 rails s then, when I try to log in with my user an error shows saying that I have to verify my account first, the problem is that I haven’t received any email and two days have passed since I created the account.

Any possible solution, do I need to install something else?

Thank you.

Not sure if it’s related but I’m pretty sure you need to use your machine’s IP address rather than localhost for setting it up correctly. I also think MQTT and Web API need to run on the same machine.

Hi, @erikoviktor A couple of things:

  1. Avoid using localhost as a host address if you plan on using a real bot. Use the server’s real IP address.
  2. MQTT_HOST needs to be a host rather than a URL, try using 192.x.y.z instead (no ws:// or :3002)
  3. You do not need to run MQTT and the API on the same machine. For example, the MQTT server used by the “official” server is not on the same machine.
  4. We are working on a way to disable user verification for self hosted setup. In the mean time, here is a quick fix:
cd API_SERVER_DIRECTORY
rails c
User.update_all(verified_at: Time.now)
quit

This should verify all accounts on the server and you should be good to go.

Please let me know if you require any other assistance.

2 Likes

Hi, I’ve tried really hard not to bother you but I can’t solve this new problem, after doing all you said, this is:

MQTT_HOST=10.230.xxx.xxx rails s
WEB_API_URL=http://localhost:3000 npm start

and also, for the verification problem:

cd API_SERVER_DIRECTORY
rails c
User.update_all(verified_at: Time.now)
quit

I have everything on the same machine at the moment but after running the second command I get this:

[nodemon] app crashed - waiting for file changes before starting...

Here is a screenshot:

Thank you!

PS: Verification problem is solved.

Error: listen EADDRINUSE :::1883

Seems like your address is already in use by something else? You’re already running another service @ localhost:3000

The Issue here is you guys are not exiting the node process gracefully after the first run. Therefore, node is still binded to that port. ps aux | grep node would show that. Instead of killing the application with CTRL+Z, exit the application with CTRL+C. This exits the application gracefully and the port binding is removed.

@DavidAmo

Did you try installing another MQTT broker, by chance? Perhaps rabbitmq or mosquitto? Or perhaps you have a zombie NodeJS process in a tab that was closed long ago?

Typing killall node might make the issue go away if it is a zombie process. If another program is actually using port 1883 (or you have a firewall installed) that will be a different issue to fix and depend on other factors.

One last note:

You might want to add a -b 0.0.0.0 to the end of rails s to be safe. This will allow connections from any IP address, rather than just localhost. I might need to update the README about that. Sorry for any confusion.

@RickCarlino @mdingena

Mosquitto was using port 1883 so I killed the process and now works great.

Thank you very much!

1 Like