Apologies. This got a bit long and probably deserves its own topic. But here goes.
1.build with Grails after changes
2.Watch live project changes during development
So I would recommend following the instructions in the README to get the application running in development mode on your local machine.
Let me know if you run into any issues. You should be able to use the same openboxes-config.properties file. Just copy (or symlink) the file using to the .grails directory under your home directory.
$ mkdir ~/.grails
$ ln -s /opt/tomcat/.grails/openboxes-config.properties ~/.grails/openboxes-config.properties
It’s great that you learned how to deploy the application to Tomcat, but now you’ll need to disable the Tomcat service since running Grails locally will start up an embedded Tomcat instance on the same port(s) that the tomcat.service listens on (i.e. 8080). You can configure it to run on a different port if you want, but I prefer disabling Tomcat altogether.
$ sudo systemctl disable tomcat.service
tomcat.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable tomcat
FWIW, I also use ngrok (https://ngrok.com) for SSH tunneling so that I can share my local OB instance
3.How many users can openboxes support on cloud ?
There are two ways to interpret this question, so I’ll try to respond to both.
- If by “users” you mean actual users logging into the system
There’s virtually no limit to the number of users that OpenBoxes can support as long as you can vertically scale your VM. However, since there is a limit to scaling vertically, the default deployment strategy (i.e. all services deployed on one VM) is bound by memory and CPU of the VM. Meaning eventually you could conceivably run into issues, but unless you’re handling a high level of volume, you will probably not need that.
With that said, we’d definitely recommend setting up your deployment the right way if you have the money and technical expertise. The “right way” means that you should set up your OB instance to scale horizontally from the beginning by adding multiple VM or PaaS instances of Tomcat to support whatever user load you expected, place those Tomcat instances behind a load balancer to balance traffic between those servers, and deploy the database to a PaaS MySQL service on the same virtual private network as the application servers.
We don’t have any documentation on this yet, but I’d be happy to further the conversation here if that’s something you’re interested in. I’ve been meaning to set up a reference implementation that demonstrates how OB can be run in a high availability cluster, deploying read-replicas of the database in another region in order to support redundancy (failover) as well as advanced business intelligence / reporting use cases.
- If by “users” you mean tenants (organizations with users)
If you’re looking to implement multi-tenancy (i.e. multiple tentants supporting their own set of users), that is not officially supported yet. And honestly, it might be very difficult without a large refactoring. But you can get close to multi-tenancy using location-specific roles (user access can be restricted to certain locations). However, users would still share some global data like products and suppliers.