Discourse and my personal experience using it

Hello.

This is my first topic on meta.discourse and I would really like to write about my opinion and the results of my first acquaintance with discourse.

Background

I should start by saying that I came across discourse relatively accidentally while trying to find a good forum engine for my purposes. And the familiarization stage went quite positively - in particular, I realized that it has well-implemented functions that I require:

  1. Webhooks
  2. Achievement system
  3. Rich ability to integrate with other services
  4. Interface modernization and much more…

To be honest, Discourse surprised me with its capabilities. And I am grateful to the authors for continuing to support this project.

First Problems

But unfortunately, it still has shortcomings that I discovered for myself, and because of which I could not continue to interact with discourse. If in order, then initially for a forum engine that I would consider suitable, I defined 3 rules:

  1. API management
  2. Convenient administration
  3. Ability to customize any interface to suit your needs.

And while Discourse is good with API and admin panel… When I delved into modernization, I was stumped.

The first “beast” that attacked me was the difference in Discourse versions and, as a consequence, the difference in ways of writing Discourse Components and Themes. Some used widgets, some Ember JS, some something else… This all caused confusion not only for me but also for the AI, with which I periodically tried to speed up my learning of Discourse - but because of the next “beast” the AI only confused me more…

The second “beast” is the lack of quality and rich documentation in readable form and in several languages. I would very much like the administration to pay attention to this as soon as possible. Yes, of course, I read topics about setting up and creating my own Discourse Components and Themes - but they did not give me the knowledge that was required to understand the architecture of Discourse. In particular, I stumbled upon this article completely by accident: Upcoming Header Changes - Preparing Themes and Plugins Which helped me understand why I was constantly writing code incorrectly on the beta version :slight_smile: The difference in versions with the absence of clear and Detailed documentation is a sore subject for Discourse… Because their combination gives a significant negative comeback, which prevented me from using Discourse to its full extent. I extremely need to deeply modernize the appearance of the forum, and alas, the current “documentation” does not allow me to do this. Because of this, I am most likely temporarily saying goodbye to Discourse, but I will follow its development.

And the third “beast” is the relative cataloging of information about discourse. Finding this or that information, how to do this or that action, is extremely difficult. I would say it depends on your luck and knowledge of English. Otherwise, if you are not a “lucky Englishman” - then you will have to fiddle around for more than one day. This is exhausting.

And finally, my personal drawback to discourse is the use of only Docker (as the official installation method) . I am sure that for this statement I can catch a wave of hate, but still, I believe that such a product should have an alternative way of installation without workarounds. Sometimes I might even need to modernize existing docker image files - and because of the container constructor, this is extremely inconvenient to implement. Well, or I didn’t find the right way…

Conclusion

Regardless of the fact that Discourse has enough disadvantages for me not to choose it now, I am confident that in the future I will be able to choose it and use it for my purposes. Because I expect that the developers and administrators of this project will pay attention to the shortcomings of discourse (including those stated in this topic/article). Discourse is already a very high-quality project, in my opinion, but it still seems not to have grown to “common” use. But this is temporary.

Thank you for your attention to the article.
P.s. AI “Manus” was used for translation from Russian to English

13 Likes

Yes. Some things that worked 10 years ago don’t now. There is now a new Theme developer guide; It’s pretty great and addresses many of your “beasts”: Theme Developer Tutorial: 1. Introduction

9 Likes

Hi there, although this is an unsupported-install, there is this guide to install Discourse without Docker:

4 Likes

Indeed. Hence, I clarified that there is no such official installation method.

My biggest issue is… many of the plug-ins that are out there simply fail when installing on my latest installations.
And it is not like I tried. My first site install was under Ubuntu 24.04LTS and using Docker… and after the initial install, almost every rebuild after adding in a few plug-ins (which showed to be recent and supported -yeah, right) the rebuild of the Discourse app took a dump all over itself and failed regularly.
Then when I would try to rebuild with those plug-ins removed… back to failing.
My ultimate solution was actually moving back to a AlmaLinux install with Docker. At least now when I add a plug-in that the current version does not like, I can actually rebuild the app when I remove it from app.yml., unlike on the Ubuntu install.

And no, I am not a new admin to running websites. I’ve been running forum based websites for over a decade, having experience with Woltlab, Xenforo, Invision, SMF. phpBB, myBB, NodeBB and several others. and even going back to the era of MS-DOS/DesqView and multi-node BBS’s (ultimately an OS/2 Maximus/2 multi node system with 4 nodes and 3 of which were direct access by users and all 4 of which were available to process FidoNet mail). So I am not new to the scene.

I like what I have seen of Discourse so far on my site I am running it on. But I can quickly see where people new to running a self-hosted site may have issues with it. I currently also run Xenforo and NodeBB on several sites… and honestly, the NodeBB setup for a multi-site system is MUCH easier to deal with than the Discourse offering. We won’t even get into where running 4 nodes of NodeBB on the VPS instance has less impact than a singular Discourse Node on a VPS install And yes, I have investigated the use of multi-site on it… but it’s really more hassle than it’s worth currently. And yes, I do like to play with various scripts.. and I have no issues with pointing out warts that I find with any of them. :wink:

Discourse has a solid base.. but it still needs to make it easier for admins to run multiple sites when self hosting without having to jump through the hoops it does currently.

1 Like

Ah the DOS days of the Telegard Hack BBSES one of the most popular being Renegade BBS. Though do recall PCBoard that had it’s own script programming language, Amiga and Commodore 63 bbses. Fun days.

I have been fortunate running Discourse on Ubuntu LTS. If a Plugin install didn’t go right typically minimum issues with a simple remove/comment out the plugin line…once in awhile though yes may need to rebuild twice if it failed.

The problem I had was it would never rebuild with them listed.
But I think I may also have found an additional issue that I was having. If the config file is not exactly right (errant space or tab on a new line) it seems to not play nicely when adding the plug-ins. Since I removed all blank lines below the plug-in list, they seem to be now building like they should have.
I know that most use Ubuntu, and it’s a decent OS (it is the base of the astrophotography capture software I use), but I’ve been using AlmaLinux for a while now and prefer it, and it does seem to be running OK.

1 Like

Yeah the yml files are very picky on layout.