✨ Introducing Discourse on Ghost - Reimagining the integration!

:rocket: I’m thrilled to announce Discourse on Ghost - a powerful (open source) tool that allows you to create a seamless and engaging community experience on your Ghost Publication!

Discourse has rich discussion capabilities that allow you to create a truly immersive and interactive community experience, and Ghost has powerful membership and access-control features that enable you to sustainably build your business. But the integration between the two is limited since user accounts are completely siloed.

Discourse on Ghost (DoG) was built to bridge this gap, by serving as Discourse’s Single Sign-On (SSO) provider, using your Ghost Publication as the member source of truth. This means your members can seamlessly access your forum, with the same permissions as they have on your publication. :raised_hands:

To get started, check out the docs which provide step-by-step instructions on how to get DoG set up: :open_book:

:warning: While I’ve tried to make the documentation comprehensive and user-friendly, please note that DoG requires more setup work than Ghost - you’ll have to configure your webserver (NGINX) and process manager (systemd), which is what ghost-cli normally does when you self-host Ghost.

I believe that Discourse on Ghost can be a powerful tool to help build and grow your community. I hope it helps you build a vibrant and engaging community experience that fosters meaningful conversations and connections. I can’t wait to see what you build! :muscle:


Quick Links:

25 Likes

Huge thanks to @vikaspotluri123 for this! This is Ghost taken to a next level if you ask me, allowing for publications to have a rich “community” experience whose extensibility only Discourse could allow for.

If anybody out there would like to see DoG in action, you’ve already got two options. First off there’s my site, which is a “simple” subscriptions-only site. Visit its forum, click on Log In, and you’ll be taken to the site’s /sso page. It’s on this page that it’s explained to users that they need to first be logged into Ghost in order to get logged into Discourse for commenting purposes. The copy is completely customisable via a sso.hbs file that the DoG owner puts together themselves.

The second example is much more enthralling, that being the new site by investigative journalist Nafeez Ahmed: Age of Transformation. Nafeez (INSURGE intelligence, Vice, Byline Times, The Guardian, and much more) was the first journalist to use Patreon, and now he’s not only the first journalist to use DoG but the first writer utilising DoG to its fullest – his site isn’t a “mere” subscription one, but fully utilises Ghost’s membership system and thus usage of Groups and Categories on Discourse. Again, the /sso page on his site explains to users how things work.

Once again, huge thanks to Vikas for this astounding integration!

8 Likes

So, total noob here. Is it possible to host a Discourse forum on my Ghost site, if my site is not self-hosted, but rather hosted on ghost’s servers?

A discourse forum is something i’ve been wanting to integrate into my site scenepensacola.com for awhile now, without paying for Discourse hosting. Is this now possible?

Sorry if this is a dumb question :grimacing:

If you’re using a managed hosting provider for Ghost, you’ll have to install Discourse on a separate (sub)domain (e.g. forum.scenepensacola.com) :slight_smile: You could try self-hosting Discourse if Discourse hosting is cost-prohibitive; if you’re looking to use DoG, it should be possible to host it on the same VPS as a Discourse instance using jwt mode.

@vikaspotluri123 — I assume this requires a discourse account to get started? Also, are you, or any preferred Ghost suppliers, offering the set-up of this as a service?

Since Discourse instances are relatively independent, you wouldn’t need a Discourse account, but you would need your own Discourse instance!

I’m not officially offering any hosting/setup services, but I might be able to do a handful (setup only, no ongoing maintenance) here or there :slight_smile: Of course, I can’t speak for others.

That being said, I’ve done my best to clearly document the steps, or in one place the lack of documentation. I also try to make sure the release notes and changelog are easy to read and approachable, with the goal that migrating to a new version shouldn’t have (m)any pain points.

4 Likes

Thanks @vikaspotluri123, I could only see the (quite expensive) paid plans on the discourse site, but searching for ‘instance’ has brought me to this page. Is that what I need to do in the first place? That page seems to suggest having a subdomain, but my preference would be to have the forum on a regular page like https://bl.ag/forum or equivalent.

amazing! just dm’d you as well.

1 Like

Yep, you’ll need to get a Discourse instance somehow :slight_smile:

I can’t really speak for how simple/feasible it is to set up Discourse on a subdirectory, since I have very limited experience self-hosting Discourse.

Wow, this is awesome. Any plans to make this part of the Ghost Pro managed hosting service? If so, at what pricing tier?

3 Likes

At this time DoG is completely independent of the Ghost core, so it’s highly unlikely that Ghost(Pro) would support this :slightly_smiling_face:

1 Like

Whoah @vikaspotluri123 you soooo rock!

I can’t wait to dig into this and study what you’ve done here.

I have a self-hosted Discourse at https://nOObish.me which I’ve been using as my primary blogging platform for a while now, because of all the built-in features and extensibilities.

Ghost and Discourse are like the Ying and Yang for me – so opposite in so many complementary ways that make using them in concert so exciting!

4 Likes

Thanks Vikas.

How would this be integrated in a self hosted ghost run via docker-compose.yaml that uses official image ghost:5.37.0-alpine with minimal modifications.

DoG is currently targeted for node installations. I’ve got the infrastructure in place to support other places (e.g. serverless), but I haven’t done anything to support Docker.

I’d be happy to accept a PR that adds support for deploying DoG on docker!

3 Likes

@blag I can recommend both Linode and Digital Ocean for self-hosting a Discourse instance.

I’m self-hosting my Discourse instance on Linode. For the last year or so I’ve had it on the $10/mo plan (1 CPU and 2GB RAM).

I chose Linode mainly because I found a YouTube video that simply and cogently took me thru installing and setting it up on Discourse.

1 Like

Thanks. Let me attempt adding DOG to docker and will send PR if I succeed.

Where would this location be?

{SUB_DIR}/ghost/api/external_discourse_on_ghost 

Yeah, you could use session mode for member auth - just make sure you configure nginx to pass /ghost/api/external_discourse_on_ghost to DoG! There’s an example in the Nginx section of the docs

This is magnificent, thank you!

1 Like

Thanks @denvergeeks. As someone who is largely non-technical, even this relatively clear video intimidates me.

Also, everywhere I’ve looked seems to suggest that Discourse needs to be installed on a sub-domain, and what I really want is to have it embedded in my main domain, eg at https://bl.ag/forum or similar.

If it’s sitting on a subdomain, then that is effectively another website and so I am currently leaning towards something like Circle, although this will itself require users to have a new login which is the thing I was hoping to avoid with a Discourse instance and the Discourse on Ghost application that @vikaspotluri123 has written.

@blag I have Discourse installed on my “Top Level Domain”.

It seems you are correct that running a Discourse in a sub-folder is discouraged.

1 Like