Quick update, in case that’s helpful to anyone – we’ve successfully deployed Discourse on Google Cloud! It’s running on https://community.gitpod.io and we’re loving it so far.
Details
I mostly followed INSTALL-cloud, and created a g1-small
GCE VM (1 vCPU, 1.7 GB memory) with an additional 20GB SSD. (Note: I originally considered a n1-standard-1
VM, but it seemed a bit overkill for Discourse).
For the VM’s location, based on this blog post, we’ve determined gce-us-east4
to be the best location, since most Gitpod users are in North America and Europe, but also a lot in Asia, so latency shouldn’t get too bad there either.
For the email setup, we really wanted to use our Google Apps account. We’ve tried to configure a Gmail SMTP relay, but even after triple-checking that we were using all the correct protocols and allowed them through GCP firewall and got the correct IPs whitelisted, no email ever went through. Discourse Doctor was a great help, but didn’t succeed either. So eventually we gave up and used SendGrid instead, because we wanted to evaluate it anyway for other things. It was super easy to set up and worked on first try. FYI, our Discourse traffic is growing, but still easily fits within SendGrid’s free tier (100 emails / day).
We then set up GitHub OAuth login (the same as for gitpod.io, for convenience) and installed a few useful plugins:
- discourse-solved to mark questions as resolved
- discourse-chat-integration to notify about new topics in our internal Slack support channel
Also, for the anecdote, I wrote a quick and dirty spectrum-to-discourse.js nodejs script to transfer our old Spectrum threads over to Discourse. The quality isn’t 100% optimal, and there may be a few bugs left in the script, but this was enough to seed our new Discouse. We now manually review/fix/improve old topics when we see them becoming popular.
Hope all this info may help someone in the future!