Vote for Discourse on Sandstorm.io


(kaktux) #1

Sandstorm is an open source project for an easy-to-use personal cloud.
It comes with some kind of “app-store” - and also a list where you can vote for apps.

As discourse is already on that list i wanted to make aware of that list.

So: if you like discourse and think sandstorm.io is an interesting project - you should create an account there (needed for voting) and give discourse (and your other favourite open source projects) you vote.

https://alpha.sandstorm.io/grain/yjNpfjNjCHS9rqM34MGnbs


(Erlend Sogge Heggen) #2

We appreciate the votes, but I think it’s highly unlikely that Discourse will ever be supported on Sandstorm.io As far as I know, Sandstorm doesn’t support Docker apps, which is what Discourse is.


(Kenton Varda) #3

Hmm, are you saying you’re opposed to Discourse running in any environment that isn’t Docker? I’d be curious to understand the reasoning behind that.


(Matt Palmer) #4

It’s an issue of supportability. When Discourse is running inside Docker, installed as we describe in the install guide, we’ve got a pretty good idea of what’s going on when something breaks. We can reproduce the problem fairly easily, and fix it.

When someone has a Discourse install that was done some other way, we’ve got no idea how it’s setup. Getting a reproducible bug report is often a nightmare, making the problem nigh unsolvable. We’re a very small team, and while we want to help everyone who has a problem with our software, we’ve got to draw the line somewhere to keep the support burden manageable, and we’ve drawn it at “if it wasn’t installed via Docker, as per our install guide, we can’t help you”.

It’s not that we “forbid” sandstorm from packaging Discourse for their platform – it’s open source, anyone can do anything they like with it (insofar as the GPL permits). However, we can’t support those users, so if sandstorm does package Discourse, when those users have problems, they won’t get the level of support here that other Discourse users would get. That’s why we discourage third parties from packaging Discourse in strange, mysterious ways – it ends up being a disappointment for everyone. If you’d like an existing real-world example of this phenomenon, search for “Bitnami” on here.


(Jeff Atwood) #5

To be fair, Bitnami predates Docker as a thing, and they do have plans to eventually support Docker based installs of Discourse.


(Kenton Varda) #6

@mpalmer OK, that makes sense.

Sandstorm similarly provides an extremely consistent environment across servers – much more consistent, in fact. So if you shipped a Sandstorm package, you’d get the same benefits as you get with Docker.

Of course, shipping two packages would be significantly more work than shipping one, so I don’t expect you’d do that in the absence of strong demand. But @erlend_sh’s comment seemed to say “We will never support platforms other than Docker.” – that seemed a bit extreme.

(FWIW, the reason supporting Sandstorm might be interesting is that it would make it possible for non-technical users – or impatient technical users – to deploy their own private Discourse instances. Docker is designed for use by skilled sysadmins, which limits its audience.)


(James Kiesel) #7

We had a similar experience with Sandstorm and Loomio a while back; we had an awesome open source contributor put in some great work porting it in, but in the end couldn’t support it because we don’t have the capacity and it’s not The Way We Deploy Stuff.

Sandstorm looks pretty sweet though, and it seems like a cool use case to have a community organizer go ‘I want a forum, hackpad, gitlab, and trello for my new community, all with shared auth (because making 8 accounts is the most PITA thing about joining a community). Sweet, done.’


(Erlend Sogge Heggen) #8

You’re right, I was a bit too dismissive there, sorry.

I’m in that category of users who’d greatly appreciate a chiefly graphical interface for setting up development (or even production) environments, like with WAMP back in my WordPress days. So I’m actually very much in favour of Discourse on Sandstorm.io, albeit only as a community-supported project, for the reasons laid out by @mpalmer and @gdpelican.


(Jeff Atwood) #9

Not really seeing that, non technical people have deployed Discourse in 30 minutes per our official install guide. I can do it in 15 minutes, and a lot of that is external email service setup which is the same no matter what install method you use. The SMTP gods will have their tithe, and two decades of rampant spam means no “I will set up my own email server” is ever going to be “easy”.


(Kenton Varda) #10

At Sandstorm we feel it’s unacceptable for an app install to take more than one minute, including download time. Ideally we like them to take under 10 seconds. Moreover, we believe that ongoing updates should take literally zero effort. Essentially, we’re trying to match the experience of installing apps on your phone.

We observe that billions of users worldwide have no problem installing apps on their phones, but vanishingly few are interested in installing apps on a server, instead resorting to centralized SaaS. But on Sandstorm, installing a new app is actually faster and easier than signing up for its SaaS equivalent. When you get install times down to the 10-second range, users will actually go and install dozens of apps just to see what they do – something that no one would ever do if each takes 30 minutes of setup, and that most people don’t even really want to do with SaaS signups.

Granted, SMTP setup needs to happen when installing Sandstorm itself. However:

  • This work is amortized across all the apps that eventually run on the server.
  • There are Sandstorm hosting providers available where SMTP is preconfigured.
  • We aim to automate as much of the setup as possible. We’ve already automated setting up DNS and TLS, and we plan to tackle SMTP in the future, e.g. by offering the option to automatically configure using Mailgun.

I imagine that, as an app developer, these kinds of automations are not the thing you want to be spending your time on. So by targeting Sandstorm you could leverage our work.

With all that said, I recognize there are other reasons why it might not make sense to officially support Sandstorm yet. But I really can’t let you get away with “30-minute installs are fine”. :wink:


(James Mc Mahon) #11

I see this a something for sandstorm to put in their scope, rather than Discourse. Including the support of the platform outside of a docker container. I don’t think there is a great value exchange here given the short term and ongoing resources that would be required by the Discourse group to maintain this. It takes resources away from it’s core mission: developing a great platform for the future of quality online conversations and collaboration.

The 30mins one might spend installing the software pales in comparison to the hours, days and weeks you will spend building a community.

Discourse is not just an app, it’s a community platform. In fact I’d almost counter that the (slight) curve installing the software benefits the Discourse project by focusing on a userbase that is serious about building communities for the long haul, not just “trying out a forum software”.

For those that don’t want to do a 30min install, other options exist that do not require extra resources of the Discourse team.

JMHO/YMMV/E&OE