Comment by crabmusket
5 days ago
One day when I have free time I really want to build an "everything app" suite on top of Sandstorm. Kind of like your supermarket's "home brand" meant to be no-frills, functional and cheap.
The way Sandstorm takes auth and hosting off your hands feels like it would make this more tractable. Business model remains an issue though, as it does for much open source work (and of course, all businesses! it's rough out there).
Having played around with Sandstorm, it's just so freeing to create one sqlite file per document (or board, or whatever) and just not worry about what happens if 10,000 users turn up. Wekan, which does run admirably well on Sandstorm, pulls an entire Mongodb instance into each grain. That makes sense if you want to host an entire SaaS on one database. But not in the Sandstorm world.
> Wekan, which does run admirably well on Sandstorm, pulls an entire Mongodb instance into each grain.
There is only MongoDB raw database files at each WeKan grain, similar to SQLite. MongoDB 3 server version is same for every grain.
In progress is adding SQLite support to WeKan.
Using Caddy 2 at front, I host Sandstorm, many WeKan Snap and RocketChat at same server. Sandstorm has many websites, etc software in use. At Sandstorm, only those grains are running and use RAM where is logged in user, this is much more efficient that Docker or Snap where container is running all the time.
https://github.com/wekan/wekan/blob/main/docs/Platforms/FOSS...
https://github.com/wekan/wekan/wiki/Sandstorm
https://github.com/wekan/wekan/wiki/Caddy-Webserver-Config
There is also development towards next version of Sandstorm, that is Tempest:
- https://sandstorm.org/news/2023-10-23-sandstorm-tempest-and-...
- https://github.com/sandstorm-org/tempest
- https://sandstorm.zulipchat.com/
> MongoDB 3 server version is same for every grain.
Can you elaborate on that? If I have 2 Wekan grains open (active) are there not two Mongo instances running? How do the two grains share resources?
Edit: oh you mean the Mongo binary is shared, because the two grains share their "image" separate from their data directory? Yes that's a good point!