I'm working on such CRUD app builder, which might be interesting to you.
It's self-hosted and because it's written in Golang the entire server is a single binary - users can simply download the binary, run it and that's it.
The data is stored in PostgreSQL. The form builder generates JSON, which is stored in the database and the server builds the resulting app on the fly.
I'm building the first demos as we speak. So far I have an invoicing app with payments tracking, overdue invoices, etc. and a second app, which is Bill of Materials. It can calculate manufacturing costs based on recipes with different inputs like raw materials, processing, other parts and assemblies and so on.
I'll try to put the demos on the site by tomorrow.
It still cannot work with any third-party APIs though, but other than that virtaully anything can be built in a matter of a few hours (maybe a day or two for the more complex and large apps).
Also I've implemented implicit workflows, where what happens is defined in the forms based on what components are inserted into it. There isn't the traditional "when A happens, do B" kind of workflows. IMO the implicit ones are much more pwoerful and flexible.
You can check it here (demos coming soon, currently one one basic tutorial):
https://www.formbolt.com