Easy install needed for Discourse to become the forum solution "for the next decade"


#1

Hi Discourse developers and users,

I recently discovered Discourse, and am really impressed about how fresh / goodlooking it is. I really would like to install it.
(Note : I currently use solutions like Wordpress + PhpBB for my websites.)

An important thing about what made PhpBB one of the biggest forum solution of the last decade was :

  • easy install : we only needed PHP, MySQL, and it was it quickly installed !
  • it can be installed even on “shared hosting” : lots of people (like me) only have shared hosting and no personal server : this means that we cannot install things like Rails, and cannot install Postgres, etc. (I don’t have root access on my shared hosting)

For these reasons, it is now impossible to install Discourse on “shared hosting”. I don’t have figures showing how many % of website-makers have a dedicated server and how many % have a shared hosting, but if you want Discourse to become a widely used solution, you have to think about this. (I do know you already are thinking about this by the way…)

What are you ideas in order to make Discourse available for more people (like us, shared-hosting users)?

Best regards.

Note : I already have read related topics like Discourse Meta, Discourse Meta


(David Celis) #2

Both of those topics are quite old and out-of-date… There’s an easier way to install Discourse now, and it’s by using Docker

However, Docker also requires root access to install. But the Docker installation is by far the easiest I’ve encountered, and it’s quite easy if you simply follow the guide :smile:

But out of curiosity, why shared hosting as opposed to a VPS? With something as resource heavy as Discourse (requiring 1 GB RAM minimum, 2GB with a 1GB swapfile recommended), shared hosting sounds like a bad time…


(eriko) #3

There is something that I think people that have not installed Discourse and maybe even some of those using Docker do not understand about Discourse. warning may not be valid warning Discourse is really 5 separate applications:

  • The long running rails app(s) that is at the core
  • The postgresql server that hosts the data and helps with search
  • Sidekiq running and processing background jobs like mail and running of mechanics
  • The Redis caching server that is used to accelerate the app and hold background jobs
  • The Javascript app the runs in the browser and talks with everything above via the rails app.

There are way more moving parts than a simple php app. Wordpress is still using user connections to trigger background processing. DIscourse is using a separate engine to handle offline work.

I was explaining the difference between moodle (php lms) and canvas (rails,s3,otherstuff lms) as the difference between excel and database. Yes they can both hold tables of data but they are really different in complexity of what they are capable of. Yes both moodle and canvas can be described as an LMS but they are much different beasts. A good chunk of what makes discourse so much nicer to use is the results of all these parts working together and doing they part that they good at.

LMS == Learning management system (think Blackboard)


(Nathan Rijksen) #4

This is true for most PHP apps as well, but they’re not separate “applications”, but rather they are separate “components”.

The reason its so easy to set up PHP apps (eg. phpBB - which is horrible btw) is because shared hosts are designed from the ground up to facilitate primarily PHP as a server-side language. Similarly there are shared hosts that are set up with Ruby in mind but they are far less plentiful because Ruby is not as popular as PHP (note I am using the word “popular”, not “better”, that’s a whole different discussion).

Honestly though in my opinion quality applications should not try to cater to shared hosting setups as no one that is really serious about their business would use shared hosting, especially with virtual hosting being so cheap right now, there really is no excuse to use shared hosting.

And just to back up what I’m saying:

  • Digital Ocean - $5 a month (virtual hosting)

  • Hostgator (a popular shared host) - $3.96 a month (if you sign for a year)


(Jeff Atwood) #5

We are working hard to make Discourse easier to install over time.

If you compare the deprecated Ubuntu install versus our new Docker install, it is far fewer steps and the resulting install is much easier to troubleshoot and maintain. So I think we have made solid progress in the last year.

It will be an even simpler install once Ubuntu 14.04 is released in a month or so as you can skip the kernel updating step necessary for Ubuntu 12.04.

I am sure we will continue to improve our install story, and Docker will be at 1.0 soon too!


#6

Thanks for your answers @davidcelis @eriko.

Your remarks lead me to another (related) question :

  • if Discourse wants to be (one of) the best discussion platform for the future (I hope it will be so), why does it require so many prerequisites ?

  • For example, why is :

Redis caching server that is used to accelerate the app and hold background jobs

mandatory for Discourse to run? Why can’t we imagine a light version of Discourse, without cache (for small and midsize forums), and let let cache for big forums ?

It appears to me that Discourse is currently designed for power users only
… whereas phpBB (and others) were designed to small forum creators + midsize forum owners + big forum owners (with cache features as plugins maybe).

As a summary of my question, there seems to be two approaches :

  1. You need to install the whole big thing before beginning anything (this will prevent millions of small users to begin with Discourse, and to “spread” this platform) => this seems to be Discourse’s approach

  2. You can start small, and make your discussion platform grow with your needs. (Example : If you become a big forum, add a cache plugin) => this was phpBB, wordpress, etc. approach : start small and grow…

Are you **really **sure that using 1) can make the solution spread enough in order to make Discourse become an important (widely used) platform “for the next decade” ? (as mentionned here : What is Discourse? | Discourse - Civilized Discussion)


(Jeff Atwood) #7

Yes. As long as you can afford $20 per month, you can host on Digital Ocean and the install guide is really quite simple at this point. (It can be improved, but many folks are having success installing even if they don’t have a technical background).

Now if your argument is that it should be even less than that, I think over time that will decrease to $10 per month. Maybe even lower.

Remember that Discourse is a project intended for the next 10 years of the Internet, not the last 10. It is forward thinking, rather than inheriting all the server herpes of MySQL and PHP, we want people to move to superior technology stacks, facilitated with Docker. And Discourse is the killer app carrot on a stick to help goose this process along.

Some patience is in order. Was WordPress easy to install in 2003?


(Dave McClure) #8

Another question worth asking, is what % of website makers use a hosted service. (I took a look at the stats page on WordPress.com, which lists 77+ million sites, but its not obvious what the breakdown is)

But I imagine a lot of folks will be interested in no-headache installs provided directly by discourse or by a third party like @michaeld’s discoursehosting.com

Its still a young product, but as it gains more traction and these existing businesses can scale, my bet is that those prices will go down too and make it very easy to get a forum up and running.


(Jeff Atwood) #9

I also liked @lukelarris’s point here


(eriko) #10

I run a medium size moodle installation with 4K to 7K users (2 web hosts,2 db). Moodle is filled with 10 years of cruft to facilitate running it’s background tasks via cron. 10 years ago when they started work on it the idea of running stuff in the background was not even really there as they did not need it. As moodle has grown the need has grown and they are still dealing with cleaning this up.

So yes you could probable get away with running without redis, sidekiq, and caching and use the filesystem for caching and cron to make a heart beat every couple seconds. But if your site started getting any growth performance would crap out. Moodle has the same issue. Unless you scale moodle’s resources and start using some form of caching moodle craps out pretty quick.

So in part the reason to start with a higher requirements is so discourse does not get a bad rap for performance because people did not follow instructions to scale to the userbase. The other reason is probably resources. In this case it is developers and the time it would take to maintain two different ways of handling core functional needs.


#11

Thanks for your answers,

@codinghorror, I know you do know what you are doing (I know your experience and the fact Discourse is not your first project :wink: ) but are you sure you can do without the “millions of crappy forums” ?

What I remember from a small course I had about mathematical model for epidemiology is that you have basically these 2 situations (representation of the numbers of contaminated people along time) :

The millions of crappy (I agree, lots of them are!) websites or forums made with Wordpress or phpBB have probably allowed to have the second curve.

These crappy websites help the software’s notoriety, and help it to grow : this was true for projects like phpBB, Wordpress, etc.

So the questions remain :

  • Are you sure (once again @codinghorror I know your experience, so no offense here) that you can do without the non-power-users if you want Discourse to grow ?
  • Wouldn’t a version with 1/ MySQL instead of Postgresql 2/ without Redis cache (I can imagine that these 2 things will take development resources but isn’t it worth it?) help your software to spread in the internet world ?

Last remark : I know DigitialOcean provides a good current solution, but you cannot expect that a big % amount of people (like me) who already have a hosting service will switch easily to another hosting service. (Changing the hosting service is not always easy, takes time, so few of us will switch to one specific hosting service to be able to use Discourse).

Last last remark : All these remarks are positive cricitisms : I really would like to be able to use Discourse, because I find it great.


(Jeff Atwood) #12

Sooooo… “I know you know what you are doing, but I’m going to question all that anyway?” :laughing:


#13

@codinghorror All the respect I have for what you achieved doesn’t prevent me to have questions anyway :wink:

Sorry for lots of editing in the last post, but I had some “500 internal errors”, probably because of the images I wanted to put in the topic ?


(Johan Jatko) #14

You could always outsource Redis hosting to a 3rd-party.


(Katie Hunter) #15

But many won’t be able to move to superior technology if they can’t easily install Discourse compare to something like for example VBulletin. Vbulletin puts in its mind how to make installation as easy as possible (5 min install) so that many try it and see if they like it or not.

I have the resources and dedicated server to try discourse while i am sure 9 years ago, i wouldn’t be able to use it. As any other site, they started with share > VP > Dedicated (for me that is how things started. But i still was able to host Vbulletin on a shared hosting, then VPS, and later Dedicated servers.


(Warrior 15) #16

I like Discourse. Naah…I love it.
Yet I won’t use it. you ask my why ?

  • Not easy to install
  • Not available on Shared hosting

I understand that Discourse is for Future. But you don’t expect Individuals & starters like me who just signed up for shared hosting would go for VPS or dedicated hosting to use Discourse.
The transition for every one is from Shared --> Dedicated.

And to reach to a wider base you need to be available to the general public - to the individuals, starters, amateur bloggers, students [ who in most cases start with shared hosting ] .


#17

Technically, discourse.org and discoursehosting.com are shared hosting providers. They both seem to be doing quite well. I aim to enter this market in the near future at a lower price point. You may find interest in what one of us have to offer.


(Jens Maier) #18

I’m fairly certain that he’s talking about a different kind of shared hosting, namely the one where you and other customers share a server’s process space. discourse.org, discoursehosting.com and your site are SaaS, not shared hosting. :stuck_out_tongue:


#19

Our services would best be described as SaaS, but in all situations the customer is sharing the server’s process space. How could it be otherwise? The distinction seems to be “shared hosting” in it’s strictest sense has one software instance being shared by all customers.

I’m also not certain that’s what he’s talking about. Look at the definitions he’s using. Shared, VPS, or dedi. We’re not offering VPS or dedi. The best fit is shared hosting. At some point this debate is merely semantics (and a little petty, tbh).


(Michael - DiscourseHosting.com) #20

That is not completely true, only our Basic package uses a shared process space, and it’s only shared between small groups of customers. And even then, usually shared hosting means that every customer has a separate user login on the machine, and that’s not the case with us (and neither with discourse.org).

I agree with @elberet, your terminology is confusing. Especially when you describe my company, I’d appreciate it if you’d refrain from using the term ‘shared hosting’. It just doesn’t fit.