So then, I decide to take the plunge and...



  • ...try to set up a local instance of Discourse to play with. Let's see what's needed from the "How do I Install Discourse" page...

    Hardware Requirements

    • Dual core CPU recommended
    • 1 GB RAM minimum (with [swap][swap]), 2 GB recommended

    Well since it's only going to be toy installation, nothing too onerous there it seems - and my old laptop would appear to met them anyway:

    [pjh@sofa docker]$ free -m
                 total       used       free     shared    buffers     cached
    Mem:          3512       3281        231          0        136       1291
    -/+ buffers/cache:       1853       1659
    Swap:        16376        150      16226
    [pjh@sofa docker]$ grep processor /proc/cpuinfo 
    processor       : 0
    processor       : 1
    

    After spending a couple of hours on manually installing/upgrading the following because

    1. I'm at work and I'm doing this between compiles, on my home laptop
    2. my repos don't carry the latest (or even recent) versions, and
    3. Redis, on the first attempt, decided on make test that 102 should be equal to 100 and failed because it didn't

    Software Requirements

    Postgres 9.1+
    Redis 2.6+
    Ruby 1.9.3+ (we recommend 2.0.0-p353 or higher)</blockquote>
    

    Fair enough, though I'm puzzled as to why Redis doesn't have an installer. Not that it matters as it turns out...

    I finally get to

    Install Docker

    wget -qO- https://get.docker.io/ | sh

    Whereupon I am met with the following message:

    [pjh@sofa docker]$ wget -qO- https://get.docker.io/ | sh
    Error: you are not using a 64bit platform.
    Docker currently only supports 64bit platforms.
    [pjh@sofa docker]$ 
    

    #What a fucking waste of time that was.


    Yes, yes, I know I could probably run Discourse manually but:

    The **only** officially supported installs of Discourse are the **Docker based** beginner and advanced installs.
    Emphasis mine.


  • I like how the “simple” installation page starts with a “buy access on this cloud server” step, but continues with generic installation steps for apprently any Linux distro.



  • For testing/development, you probably wanted Vagrant anyways.

    Instructions here: http://blog.discourse.org/2013/04/discourse-as-your-first-rails-app/

    Remember to do this sequence often:

    git pull
    bundle install
    bundle exec rake db:migrate
    

    Additionally, I recommend vagrant suspend instead of vagrant halt.

    Also there might be some issues with backups created with PG9.3 not being able to be restored on PG9.1


  • Banned

    Palpatine "Good" – 00:11
    — aug035

    I recommend a cloud install if you just want an instance of Discourse to play with and not necessarily code against:

    There is a $10 credit code there which covers a free month of the 1 GB install.

    (512mb with swap will work, barely, but it is not really suitable for use by any other human beings, whereas 1 GB can run a small discussion community with ease)



  • @codinghorror said:

    I recommend a cloud install...

    I don't want to pay for (yet another) service when I have a perfectly respectable system that should be able to handle running a(nother) website.

    Ok, let me rephrase that...

    In your hardware requirements, may I suggest that you add "requires a 64bit platform" so others who are using only 32bit don't waste their time like I did for more than half of yesterday?



  • So wait... we should pay you (because you referred us so you'll get a cut) to help write software that you're selling to people? That's kind of not how software development tends to work. Or any other kind of labour for that matter. Volunteering for an open-source project is one thing, paying to do a company's job is kind of ridiculous.



  • @marinus said:

    So wait... we should pay you (because you referred us so you'll get a cut) to help write software that you're selling to people? That's kind of not how software development tends to work. Or any other kind of labour for that matter. Volunteering for an open-source project is one thing, paying to do a company's job is kind of ridiculous.

    From what I understand, it's not Discourse that's being sold, but a "hosted platform service". And you don't need to sign up for cloud hosting, you can run it on your own hardware - given that it's capable of running Discourse. And you're not obligated to sign up using @codinghorror s reflink.


    Filed under: i'm defending discourse, what's the world coming to


  • Banned

    @PJH said:

    In your hardware requirements, may I suggest that you add "requires a 64bit platform" so others who are using only 32bit don't waste their time like I did for more than half of yesterday?

    Fair point, just updated the root install doc with that.

    Filed under: 32-bit is for pussies



  • OK, that was a bit unfair. But he did respond to "I can't set up a development environment" with a referrer link, so I wouldn't say it was completely uncalled for. Then again, that's probably his standard link and it does give you a discount, so yeah, he probably didn't mean it like that and I'm wrong to attack him.

    I actually did get a Discourse installation running on a 32-bit server. I followed this: https://github.com/discourse/discourse/blob/master/docs/INSTALL-ubuntu.md

    It had been my intention to write a pagination plugin and be hailed as a hero, but I could not immediately make sense of the plugin architecture, and have more pressing real-world tasks to do.



  • @codinghorror said:

    (512mb with swap will work, barely, but it is not really suitable for use by any other human beings, whereas 1 GB can run a small discussion community with ease)

    What the heck is the software doing that it needs that much memory to run "well"?

    Filed under: 640k ...



  • I'm pretty sure that it's running Ruby, if I recall correctly.


    Filed under: java -Xmx10G -jar spigot.jar


  • Banned

    Postgres, Redis, Sidekiq, Ruby, V8. That's a lot of stuff to fit in 512mb, e.g. a real application stack, not just "rub some PHP and MySQL on it".

    Filed under: PHP and MySQL are server herpes.



  • At least they are not cancer.


  • Winner of the 2016 Presidential Election

    @codinghorror said:

    Postgres, Redis, Sidekiq, Ruby, V8. That's a lot of stuff to fit in 512mb, e.g. a real application stack, not just "rub some PHP and MySQL on it".

    Filed under: PHP and MySQL are server herpes.

    I don't see anything here that's beyond the capabilities of a simple LAMP stack, so what's your "real" application stack buying you? A more complicated dev environment and some memory bloat?


    Filed under: ...said the .NET developer.


  • Banned



  • @Maciejasjmj said:

    given that it's capable of running Discourse

    The problem being, and the raison d'être for this topic was, that the requirements weren't complete - a major and important requirement was omitted.



  • @codinghorror said:

    Filed under: I write blog posts so I don't have to constantly repeat myself.

    I thought you wrote blog posts so you could invoke the "argument from authority" fallacy more easily.


    Filed under: Citing yourself is TRWTF, to be fair, you occasionally cite other sources too

  • Banned

    My blog posts usually have a bunch of citations and research. But in this case the request was "why did you do that?" and I am sort of the ultimate authority on why I did things a particular way.

    Filed under: Hayyyy guyyyyz, I'm kind of a big deal


  • Discourse touched me in a no-no place

    Oh, but we could invoke the rules of modern literary criticism and claim that the author of a work is the very last person who should be considered to be an authority on what they created, as they're biased by what they thought was in their heads and so are unable to see the inevitable forces of bourgeois socioeconomics that caused them to pick a particular mode of thought that…

    I'm sorry, I can't keep this sort of BS up for a whole paragraph.



  • @dkf said:

    I can't keep this sort of BS up for a whole paragraph.

    Clearly, you are not yet ready for the burden of blog authorship.


  • Discourse touched me in a no-no place

    @subscript_error said:

    Clearly, you are not yet ready for the burden of blog authorship.

    Or management, yeah.


  • Winner of the 2016 Presidential Election

    @codinghorror said:

    My blog posts usually have a bunch of citations and research. But in this case the request was "why did you do that?" and I am sort of the ultimate authority on why I did things a particular way.

    Filed under: Hayyyy guyyyyz, I'm kind of a big deal

    I read your blog post, and it did not address my question at all. My takeaway was, "we use Ruby because .NET seems at odds with FOSS and some people I respect swear by it and the performance is kind of ass but a real programmer shouldn't be afraid to try new things." The question posed was: what actual advantage does your "real application stack" offer over, well, any other stack?
    I ask both out of genuine curiousity (as half of that stack is unrecognizable to me), as well as to challenge your overt condescension toward the spit-and-grease workhorse of the web. Your blog post satisfied neither point.


  • Banned

    I think it very much did answer your question.

    As for php and mysql, aka server herpes, see


  • Winner of the 2016 Presidential Election

    @codinghorror said:

    I think it very much did answer your question.

    So now I know what Sidekiq and Redis are (a Chuck Norris movie, and a site for sharing and rating websites, respectively), and I know why Ruby is actually good. That's a relief.
    Waitaminute....



  • @codinghorror said:

    My blog posts usually have a bunch of citations and research.

    Control groups? Falsifiable hypotheses?

    Most research, isn't.


  • Banned

    @error said:

    what actual advantage does your "real application stack" offer over, well, any other stack?

    I like our Ruby/Redis/Postgres/V8/NGINX stack because:

    1. I enjoy writing code in Ruby (I do not enjoy writing code in PHP) - I also enjoy golang and other programming languages
    2. Ruby has a very large and active open source eco system (unlike .NET) - same could be argued for Python
    3. Ruby is an established programming language. With widely established web platforms. Unlike say Swift of even golang, so a lot of kinks are sorted out and tooling is there. (also node is still fairly early on, Express has yet to have full won the battle)
    4. Redis is really fast and flexible, PUB/SUB is of great use to us (hence your live notifications) for our use cases we pretty much have memcached parity
    5. Postgres unlike MySql has DDL transactions and a kitchen sink of useful features. Also ... Oracle
    6. Having V8 on the server is a great blessing, we share the same markdown pipeline on the client and server.
    7. Ruby has had a recent focus on perf and profiling, case in point our largest bottlenecks are client side, not server side.
    8. My stack is open source all the way down, the way I like it.
    9. NGINX unlike apache is evented and allows for long polling
    10. PHP is indeed server herpes.

    Python/Node would be other options for something like Discourse, in a few years Golang may be as well.



  • @codinghorror said:

    http://blog.codinghorror.com/the-php-singularity/

    I'm starting a new open source web project with the goal of making the code as freely and easily runnable to the world as possible.

    What happened to it?


  • Banned



  • Jeff, I think you've missed the point that the whole point of this topic is that fact that Discourse isn't freely and easily runnable.

    So, I ask again, what happened to it?


    And why are you editing my posts? That's the second time I've noticed you doing it. Stop it.


  • Discourse touched me in a no-no place

    @PJH said:

    And why are you editing my posts?

    That's called Copy Editing. Some people (myself) are incorrigible copy editors; it's one of the ways our OCD tendencies come out. (A good copy editor won't do anything that makes your words differently; they focus on fixing things like formatting suck, broken links, etc.)


  • Banned

    Well,

    What's the over-under on "easily" in your book? 10 seconds? 1 second? 1 nanosecond? So hard to predict these things.



  • @dkf said:

    That's called Copy Editing.

    It's unacceptable.

    @codinghorror said:

    What's the over-under on "easily" in your book? 10 seconds? 1 second? 1 nanosecond?

    I dunno - official installation instructions for a 32 bit system perhaps?


  • Banned

    We basically don't support 32-bit systems, since we're "all in" on Docker based installs. Yes, there are ways to manually install, but.. it's a pain, and we want people on Docker since it's a zillion times easier to install, update, and maintain.

    Filed under: 4GB ought to be enough for anybody



  • @codinghorror said:

    We basically don't support 32-bit systems,

    So not freely or easily runnable then.


  • Banned

    Discourse is a project designed for the next 10 years, not the previous 10 years. We're about 1 year into that plan. I don't expect the 64-bit OS requirement to be a serious hindrance.

    Filed under: Windows XP is not supported either



  • @codinghorror said:

    Discourse is a project designed for the next 10 years, not the previous 10 years. We're about 1 year into that plan. I don't expect the 64-bit OS requirement to be a serious hindrance.

    Filed under: Windows XP is not supported either

    is this sarcasm or real truth?


  • :belt_onion:

    @dkf said:

    That's called Copy Editing. Some people (myself) are incorrigible copy editors; it's one of the ways our OCD tendencies come out. (A good copy editor won't do anything that makes your words differently; they focus on fixing things like formatting suck, broken links, etc.)

    This is a real-time interactive forum not a newspaper, magazine, or book. Maybe we wanted the "broken" or

    suck
    formatting.


  • SockDev

    See, Jeff complains about how much PHP sucks (and don't get me wrong, it's a sucky thing), but I can get a website started on a shared hosting in 15 minutes. And 10 minutes of that is the signup for the hosting.

    There's a reason why WordPress is very proud of its 'famous 5 minute install'. And they have a crappy installer that makes you edit the configuration file by hand and even idiots can apparently do that these days.

    Or they have hosting panels that have one-click installations (which also suck), but even so, 15 minutes from scratch is still better than the 20-30 minutes talked about here.

    For reference, installing WampServer for a local test site and then installing a PHP app, usually in the same bracket too.

    Who's sucking now?

    Filed under: that really didn't come out right.



  • @Arantor said:

    Who's sucking now?

    Bring forth the Purple Dildo!



  • @Luhmann said:

    Bring forth the Purple Dildo!

    Sorry, I'm fresh out.

     

     

     

    So that means it's still a little wet.



  • @Arantor said:

    See, Jeff complains about how much PHP sucks (and don't get me wrong, it's a sucky thing), but I can get a website started on a shared hosting in 15 minutes. And 10 minutes of that is the signup for the hosting.

    Agreed. I'd also add that for some communities, shared hosting is the only affordable option.

    For example, I recently took over "webmastering" a site for a friend who runs a local LARP business. Used Wordpress for the front end, and I would've loved to run Discourse for the forum they have set up, but the shared hosting doesn't have the ability to run it. In order to run Discourse they'd have to fork over for a VPS which would be something like 4-5x the monthly/yearly cost to host the site. They can't afford that, so they're stuck with the shared hosting.


  • SockDev

    There are cheap VPS options available these days, by way of Digital Ocean or Linode, in the $10/month category but they don't come with cPanel or similar so you'd be doing the work yourself to set it up.

    It's not necessarily just about what's affordable, it's about what's sane. Securing an unmanaged VPS is not an especially simple affair to someone who's never done it before, and paying a host to take care of that stuff does help. It's just a shame most shared hosts still do most of their file uploading via FTP...


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.