DEV: Add fully-automated dev setup with Gitpod (PR #9026)

Hi Discourse team! :wave:

As discussed in Meta, I work on and we’ve recently migrated our community to Discourse. So far we’re loving it! Thanks a lot for your help, and for making such a fantastic discussion platform. :+1:

I also wanted to contribute a fully-automated dev setup for Discourse, to help new contributors and busy developers get started coding on Discourse without friction, in one click.

It comes with:

  • All Discouse dev dependencies pre-installed (Ruby 2.6, PostgreSQL, Redis, etc.)
  • All bundle gems pre-installed
  • A freshly created DB
  • A preview that opens automatically when Discourse starts.

Here is what it looks like: Screenshot 2020-02-23 at 19 26 03 You can try it by opening my fork in Gitpod:

Open in Gitpod


CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@jankeromnes I am 100% fine with having a post on meta about this, but somewhat uneasy about promoting a paid product directly in our readme / repo. I guess Windows is paid and Mac is kind of paid, but still you have no choice but to promote that in the doco.

If there is a free option for open source I am much more open to adding this to the repo.

@SamSaffron Thanks a lot for your quick reply.

If there is a free option for open source I am much more open to adding this to the repo.

Gitpod is actually 100% free for Open Source. It can be used by anyone, on any public repository, for up to 50 hours every month. (There are also indeed paid plans if you’d like more hours, or to work on private repositories, but with the Open Source plan you already pretty much get the full Gitpod experience.)

Note that we also sponsor professional Open Source developers with unlimited monthly hours, and the majority of Gitpod’s code is itself open source.

Update: Rebased on top of latest master.

This pull request has been mentioned on Discourse Meta. There might be relevant details there:

@eviltrout what are your thoughts here?

CLA assistant check
All committers have signed the CLA.

I have mixed feelings.

It seems like a fine open source tool, but there’s nobody on Discourse’s side or actively in the community really championing this. I’m not sure we should put something in core discourse if nobody on our side is enthusiastic about it.

1 Like

Many thanks @SamSaffron and @eviltrout for your consideration and feedback so far.

I personally believe that it could be precious for new contributors to get easy access to fully-configured Discourse dev environments (ready in seconds & from any device), instead of first having to struggle to install Discourse’s dependencies on their own personal computer, but I’m biased since I work for TypeFox.

@pfaffman @erlend-sh @notriddle would you have any thoughts on this?

I don’t think that I get a vote on this, but since you asked. . . .

I’m not immediately clear if or how I’d use this tool. Maybe it could help for some trivial plugin development. It seems rather like a neat parlor trick, but I’m not sure if it’s actually useful (for me, anyway).

It took me a minute to figure out how to ^c out of rails to do a rake admin:create and then do some up-arrows to be able to restart rails.

The stuff required to make it work is just two files that won’t hurt anything else, so adding it to core, seems reasonably safe. It’s not clear to me whether it’s likely to get stale and then be broken.

I definitely agree that unless there is a sizable group who wants this then it might be just as easy for those who to want it to include the two files in their own fork.

I’m going to close for now. Thanks for the effort I just don’t think it makes sense in our project right now.

1 Like

Sure, that works for me, thanks for the reviews.

Let me know if you reconsider this one day, I’d be happy to make it work.

(Meanwhile, both Gitpod and Theia communities are now happily using Discourse. :slightly_smiling_face:)