CloudDB Hosting

Does anyone ever build your own Redis server and make it work with Kodular through the component CloudDB?
If so, could you please explain to me, step by step how to do it?
I’ve created a Azure instance and the Redis Server side appears to work fine, I’ve created a test app with these blocks:
image
When the app initializes it says that it’s connected but right away a error message come up:
image
Really don’t know what to do…

Ps.: This topic was originally posted at https://community.kodular.io/t/clouddb-hosting/51631/1 but I think nobody there ever used CloudDB Redis, so I decided to look for help here, sorry if I’m bothering you guys with issues from other platform.

Tim described one way to Host a Redis DB on your own Server for AI2

That solution may or may not be compatible with Kodular . App Inventor 2 Blocks are NOT compatible with other builder Blocks. Your issue may be due to an issue with the compiler you are building on and NOT App Inventor 2. If your issue is not from building using App Inventor and you report a bug, you needlessly use App Inventor resources to solve an issue that is not related to it. AI2 used to be generally compatible with the other builder Blocks. That is no longer true as there are more differences in the compilers.

You might try your CloudDB by porting the basic app to App Inventor 2 . Tim’s solution works for AI2 users, but Kodular???

First you might use the search for topics with the work Redis to learn about redis server issues using AI2.

Good luck.

Regards,
Steve

Blind guess … Firewall ports ?

No, untill it works the server is “wide open”.

Are you sure you have entered the correct port? Port 6379 is the default port, but you may shift it to any other port. So please ensure.

Also, see whether the protected-mode in on. If the server is in protected-mode then the app won’t be able to connect to the server.

Also, my custom Redis server seems to ignore some of the Config from the config file. Especially regarding the protected-mode. Hence, while starting the server, please add the parameter again along with requirepass parameter even if you have already added it to the config. For example, your command should be -
redis-server --protected-mode no --requirepass "<your-password>"

It’s nice to see someone else too is trying to work with a custom Redis server. However, please note that there are a number of issues with running your custom Redis server.
I have been troubleshooting about a number of issues with the thing. I’ve not yet able to make the DataChanged procedure trigger when the data is changed externally. Similarly, I’m not sure whether CloudDB Error routine would work.

I had decided to use CloudDB for a workshop I’d be conducting, because Redis is open-source. However, now due to the issues, I’d be forced to use Firebase; and do not wish to use extensions to keep everything simple.

Yes, I’m using port 6379 and it’s correctly setted on config of the CloudDB component.
Didn’t know about that parameter, changed into config file and by command but still doesn’t work.
I’ve just gaved up on Firebase because when a read/write block is used into a repeat structure it just pane out and start to write or read empty strings…
I’m avoiding SQL DB because I’ve learned quite well noSQL DB and to migrate to a SQL DB I’ll have to spend study time that I don’t have now and it would mean months of delay in my project changing the DB structure and logic.

Please go through @TIMAI2’s tutorial about custom Redis server. It explains the required config in details. Link: https://groups.google.com/forum/#!msg/mitappinventortest/GPtZN2viC3E/Cna0GhAeEgAJ

Also don’t forget to add the password to the Token property of the CloudDB component. It’s the same password which you set through the requirepass flag in server config.

If you wish to try SQL, have a look at these extensions. There are a number of extensions for MySQL and SQLite here. Link: https://puravidaapps.com/extensions.php

Which DB suits you best depends upon your application. Redis is good lightweight DB for real-time-like applications as it is an in-memory database. However, that makes it not the best solution to persist data reliably and for a long time.