3 ms·
I think the answer is that packaging apps for Sandstorm is a bad hack, as ripping out the auth system and design granularity is all hard for an existing applica
by ocdtrekkie 3y ago
I think the answer is that packaging apps for Sandstorm is a bad hack, as ripping out the auth system and design granularity is all hard for an existing application. The best Sandstorm apps are written for Sandstorm, and in those cases, the granularity and built-in authentication make it way easier to write an app. I wrote a Sandstorm-native app in less than an hour.
But if you built your entire application assuming you're shipping it via Docker, untangling the sheer amount of redundant garbage you need to pare down to a single-document app that accepts outside authentication and security, ends up being a ton of work to package and then maintain it long-term.
Ideally, I think having apps not made for Sandstorm originally is mostly just a strategy to get enough people operating on Sandstorm's model for people to build Sandstorm-specific apps in earnest.
- robertlagrant 3y agoI think making apps that have a very clean separation between external security code (e.g. "the claims in the JWT") and internal security code (e.g. "the app's own internal understanding of security, regardless of provider") is always a fantastic idea.
- hanniabu 3y agoWhy not just make it be a docker launcher instead?
- ocdtrekkie 3y agoThen it would be as poor of a user experience and have as many security problems as one of the literally dozens of self-hosting tools that are just Docker launchers.
- anderspitman 3y agoCan you share links to the major ones (I'm aware of a couple like yunohost and cloudron)? What are the most important UX issues in your opinion? Disclaimer: I'm working on a docker launcher for selfhosting and want to solve some of the current problems.
- ocdtrekkie 3y agoUmbrel is another relatively popular one, particularly with the crypto space. The biggest thing is the lack of integration. Some of them have patchy SSO integration options, but most won't tamper with the app in any meaningful way, so even if you have login integration, you have to log into each app on a server, and each app is subject to that app's capabilities for things like sharing. You end up hosting a bunch of disjointed and separate services. Sandstorm feels much more like hosting Google Docs and it's barely ever used support for third party apps/document types. Sandstorm requires aggressive app packaging work but the payoff is significant: Apps do not have independent authentication at all, logging into Sandstorm gets you into all of your applications, and every file can be shared using the same process with other users or the public trivially. In fact, because we break apps into "grains" or documents, we can do crazy things like allow you create Collections which comprise of documents made with different applications and then share that as a single unit with others. So I can take a couple specific Etherpad documents, a Wekan board, and a WordPress, put them into a project collection, and then share that with a collaborator with one link.
- ignoramous 3y ago> Umbrel is another relatively popular one, particularly with the crypto space. Impressive that Umbrel's popular because IIRC it doesn't take security as seriously as say Sandstrom. You'd think the crypto folks would at least care about that, if nothing else?
- ocdtrekkie 3y agoUmbrel pivoted. When it launched it actually was a Bitcoin miner, and then they added other apps, and then made the Bitcoin miner optional. And yeah, I don't know the details about the internals but a friend of mine was not thrilled with their approach. I think one specific point was that they don't support using HTTPS on the local network at all.
- kentonv 3y agoI wrote a blog post answering that: https://sandstorm.io/news/2014-08-19-why-not-run-docker-apps https://sandstorm.io/news/2014-08-19-why-not-run-docker-apps Oof... 9 years ago.