# ✨ Introducing Discourse on Ghost - Reimagining the integration!

**URL:** <https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844>\
**Category:** Share & showcase\
**Created:** [March 5, 2023, 7:52am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844 "2023-03-05T07:52:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 5, 2023, 7:52am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/1 "2023-03-05T07:52:08Z")

</div>

🚀 I’m thrilled to announce [Discourse on Ghost](https://github.vikaspotluri.me/discourse-on-ghost) - a powerful ([open source](https://github.com/vikaspotluri123/discourse-on-ghost)) 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](https://ghost.org/integrations/discourse/) 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. 🙌

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

> **[Home](https://github.vikaspotluri.me/discourse-on-ghost/)**
>
> Add Ghost-based SSO to Discourse

⚠ 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! 💪

* * *

**Quick Links** :

- [Home Page](https://github.vikaspotluri.me/discourse-on-ghost)
- [Source Code](https://github.com/vikaspotluri123/discourse-on-ghost)
- [Report an Issue](https://github.com/vikaspotluri123/discourse-on-ghost/issues/new)
- [Suggest a Feature](https://github.com/vikaspotluri123/discourse-on-ghost/issues/new)
- [Start a Discussion](https://github.com/vikaspotluri123/discourse-on-ghost/discussions/new/choose) (or you can leave a comment here 😄)

---

<div class="post-metadata">

**Author:** ![Stromfeldt](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/stromfeldt/32/13572_2.png) [@Stromfeldt](https://forum.ghost.org/u/Stromfeldt)\
**Post date:** [March 5, 2023, 8:19am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/2 "2023-03-05T08:19:49Z")

</div>

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.

- [From Filmers to Farmers](https://ff2f.com/)
- [Forum](https://ff2f.discourse.group/)
- [Forum login page](https://ff2f.com/sso/)

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.

- [Age of Transformation](https://ageoftransformation.org/)
- [Forum](https://ageoftransformation.discourse.group/)
- [Forum login page](https://ageoftransformation.org/sso/)

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

---

<div class="post-metadata">

**Author:** ![scenepensacola](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/scenepensacola/32/23424_2.png) [@scenepensacola](https://forum.ghost.org/u/scenepensacola)\
**Post date:** [March 5, 2023, 9:32am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/3 "2023-03-05T09:32:29Z")

</div>

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](http://scenepensacola.com) for awhile now, without paying for Discourse hosting. Is this now possible?

Sorry if this is a dumb question 😬

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 5, 2023, 4:34pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/4 "2023-03-05T16:34:05Z")

</div>

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`) 🙂 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.

---

<div class="post-metadata">

**Author:** ![blag](https://avatars.discourse-cdn.com/v4/letter/b/ba9def/32.png) [@blag](https://forum.ghost.org/u/blag)\
**Post date:** [March 6, 2023, 6:35am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/5 "2023-03-06T06:35:32Z")

</div>

@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?

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 6, 2023, 7:17am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/6 "2023-03-06T07:17:40Z")

</div>

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 🙂 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.

---

<div class="post-metadata">

**Author:** ![blag](https://avatars.discourse-cdn.com/v4/letter/b/ba9def/32.png) [@blag](https://forum.ghost.org/u/blag)\
**Post date:** [March 6, 2023, 7:43am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/7 "2023-03-06T07:43:32Z")

</div>

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](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md). 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](https://bl.ag/forum) or equivalent.

---

<div class="post-metadata">

**Author:** ![busfactor](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/busfactor/32/23230_2.png) [@busfactor](https://forum.ghost.org/u/busfactor)\
**Post date:** [March 6, 2023, 10:54am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/8 "2023-03-06T10:54:07Z")

</div>

amazing! just dm’d you as well.

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 6, 2023, 5:30pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/9 "2023-03-06T17:30:53Z")

</div>

Yep, you’ll need to get a Discourse instance _somehow_ 🙂

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.

---

<div class="post-metadata">

**Author:** ![chillbilldill.com](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/chillbilldill.com/32/22849_2.png) [@chillbilldill.com](https://forum.ghost.org/u/chillbilldill.com)\
**Post date:** [March 7, 2023, 7:34pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/10 "2023-03-07T19:34:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 7, 2023, 7:53pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/11 "2023-03-07T19:53:13Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![denvergeeks](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/denvergeeks/32/7401_2.png) [@denvergeeks](https://forum.ghost.org/u/denvergeeks)\
**Post date:** [March 8, 2023, 8:50pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/12 "2023-03-08T20:50:20Z")

</div>

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](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!

---

<div class="post-metadata">

**Author:** ![NNN](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/nnn/32/22725_2.png) [@NNN](https://forum.ghost.org/u/NNN)\
**Post date:** [March 10, 2023, 5:33am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/13 "2023-03-10T05:33:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 10, 2023, 7:56am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/14 "2023-03-10T07:56:19Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![denvergeeks](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/denvergeeks/32/7401_2.png) [@denvergeeks](https://forum.ghost.org/u/denvergeeks)\
**Post date:** [March 10, 2023, 9:20am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/15 "2023-03-10T09:20:02Z")

</div>

@blag I can recommend both [Linode](https://www.linode.com/docs/products/tools/marketplace/guides/discourse/) 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.

[![](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/9/8/98ab7bda9de138c1ae9b8cc4bfce22c91697e6d9.jpeg "TechHut The Surprisingly Easy Way to Install Discourse with Free SSL") ](https://www.youtube.com/watch?v=-5-lQQVMYsQ)

---

<div class="post-metadata">

**Author:** ![NNN](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/nnn/32/22725_2.png) [@NNN](https://forum.ghost.org/u/NNN)\
**Post date:** [March 10, 2023, 5:05pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/16 "2023-03-10T17:05:01Z")

</div>

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

Where would this location be?

```auto
{SUB_DIR}/ghost/api/external_discourse_on_ghost 

```

---

<div class="post-metadata">

**Author:** ![vikaspotluri123](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/vikaspotluri123/32/24_2.png) [@vikaspotluri123](https://forum.ghost.org/u/vikaspotluri123)\
**Post date:** [March 10, 2023, 5:43pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/17 "2023-03-10T17:43:20Z")

</div>

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](https://github.vikaspotluri.me/discourse-on-ghost/#step-4-set-up-nginx)

---

<div class="post-metadata">

**Author:** ![simardcasanova](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/simardcasanova/32/10976_2.png) [@simardcasanova](https://forum.ghost.org/u/simardcasanova)\
**Post date:** [March 10, 2023, 6:02pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/18 "2023-03-10T18:02:30Z")

</div>

This is magnificent, thank you!

---

<div class="post-metadata">

**Author:** ![blag](https://avatars.discourse-cdn.com/v4/letter/b/ba9def/32.png) [@blag](https://forum.ghost.org/u/blag)\
**Post date:** [March 12, 2023, 7:02am UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/19 "2023-03-12T07:02:21Z")

</div>

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](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.

---

<div class="post-metadata">

**Author:** ![denvergeeks](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/denvergeeks/32/7401_2.png) [@denvergeeks](https://forum.ghost.org/u/denvergeeks)\
**Post date:** [March 12, 2023, 8:24pm UTC](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844/20 "2023-03-12T20:24:58Z")

</div>

@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](https://meta.discourse.org/t/serve-discourse-from-a-subfolder-path-prefix-instead-of-a-subdomain/30507).

[Next page](https://forum.ghost.org/t/introducing-discourse-on-ghost-reimagining-the-integration/36844.md?page=2)
