I sat down today to research installing Discourse on Heroku. I’m hoping I could get pointers on a few issues here.
How well does Docker installation work, in general, on hosting sites other than Digital Ocean? I gather it works well on Digital Ocean, but I want to use Heroku since that’s where the main website code & wiki live.
Can I actually install Discourse to Heroku with Docker? Has anybody done it? Any gotchas? Any other Heroku installation issues?
If you have shell access, and Docker works (and it’s a recent version), then the 30 minute install should work just fine. That’s the point of Docker, after all.
I am not the OP, but I am in a similar situation, so I found his question helpful. But I am a little confused by your response. Can you clarify?
For example, if we already have our sites on Heroku, why even suggest some other service?
What do you mean Heroku is ‘a different kind of cloud service’? Different how? And how does that difference matter?
I am not very familiar with Docker, Digital Ocean, or Linode. Before Heroku, I used services like Hostgator.
What do you mean we will not have a supported installation? Not supported by who? Heroku? Discourse? Docker? Digital Ocean? How do you know that? And what are the ‘many ways’ you refer to?
This is a big decision for me, so I want as much good, accurate information in advance as I can find. Thank you in advance for taking to the time to clarify and explain.
A “supported installation” is one that follows the INSTALL-cloud.md instructions. Discourse requires a whole bunch of packages of certain versions. It’s quite possible to install those things yourself, but if you do, and it doesn’t work, then you’re on your own. People here won’t help you.
Things like hostgator won’t work. You need full root access to your own (probably virtual) machine. You don’t get that with services like hostgator and tools like cpanel.
It might be possible to deploy Discourse on Heroku, but I install Discourse for a living and wasn’t able to figure out how to make Heroku work in 10 minutes. It’s likely that’s because I don’t understand how Heroku works, but if you want things to work easily, go with something like Digital Ocean.
OP here. I ended up trying to install on Heroku, and I had a lot of trouble getting it working. I’m sure a sysadmin type and Ruby expert would be able to do it, but that’s not me, so I just went with Digital Ocean.
Of course the reason I preferred Heroku over Digital Ocean is that for small projects like ours, Heroku is free. Both Heroku and Digital Ocean are for hosting web stuff; the big differences as far as I can tell that Heroku doesn’t give you easy access to the command line (they do have a command line tool & a web interface, but they don’t seem to like you mucking around in the shell), and they have an “ephemeral” filesystem which means you can’t host data there, only code.
Digital Ocean installation was reasonably straightforward, although there was still quite a bit to figure out. Took me longer than 30 minutes.