39
30 Comments

How to build your own Substack with Ghost

As you probably know, Substack is an email newsletter platform which allows writers to really easily publish a newsletter to their subscribers and charge for optional "premium" access.

As a tool, it sits between a marketing-focussed email platform like Mailchimp and blogs, because the email and web versions of content are equal citizens on the platform. To make money, Substack charges 10% on all payments from paid subscriptions.

In v3, Ghost has many of the features of Substack, including email newsletters, accounts for members and the ability to charge for subscriptions/membership.

In this post, we will utilise Ghost's memberships and email features to emulate Substack but on your own server, on your own domain and with zero transaction fees.

TL;DR

Here's a quick overview of the steps I will cover in the post:

  • Set up a Ghost blog
  • Use a newsletter-first theme which supports memberships, like Substation
  • Enable members and email newsletters
  • Add paid plans
  • Add community features with a commenting tool like Cove

What is Substack?

The key features of Substack are:

  • send newsletters
  • host an archive of newsletters online
  • let readers subscribe to the emails
  • let readers pay for premium posts
  • let readers comment on posts once logged in
  • show a list of popular posts from the platform

Publications running on Substack each get a hosted version of the newsletter, an online archive and tools for readers to sign up to paid plans.

All of this apart from the platform-wide posts is available in Ghost.

Why build your own version of Substack?

Email newsletters are a great way of reaching people and creating a community around you and your ideas.

Like we've seen with other services like Medium (publishing) and Patreon (memberships), if you start on a platform you're tied to their product decisions, updates and company opinions.

If you create your own version, you can own everything. You change the design, the copy—everything—as you see fit. Importantly, you also have all of your content on your own domain, which Substack currently doesn't offer. (Why is this important?)

You will also avoid Substack's 10% fees for all premium payments. Ghost takes zero fees for premium payments. (You will see the same payment processor fees on both platforms as they are both powered by Stripe.) If you have 100 customers paying $5 a month on Substack, you will earn just $450 after fees; with Ghost you get the full $500. Remember, you will have hosting costs to self-host with Ghost.

Let's see how we can build a self-hosted Substack-like site using Ghost, a newsletter-focussed theme and commenting with (my product) Cove.

Start a Ghost blog

The first step is to create a Ghost blog. There are many ways to do this: Ghost(Pro) (Ghost's own hosting solution), using another managed host provider like Gloat or Midnight, using an install service like gloat.dev, or simply downloading and self-hosting yourself (installing the code yourself on a server you own).

Enable Members

Once Ghost is set up, you need to go into Labs in the admin and toggle the Members feature on.

With one click, you have now enabled a way for readers to subscribe to your content and log in to your site (the front-facing site, not the Ghost admin).

Set up email newsletters

In order to send out newsletters, you need to connect your Ghost site to an email sending service. Ghost supports only one at the moment: Mailgun.

If you run your site on Ghost(Pro), this integration happens automatically behind the scenes, so you don't have to do anything. If you self-host or have your site set up for you, you will need to sign up to Mailgun, do some configuration with your domain so you can send emails from it, and paste your API credentials into the Members settings in your Ghost admin (pictured above).

Use a newsletter-friendly theme

A crucial part of emulating a newsletter service like Substack is how your site works and looks.

Most Ghost themes look like blogs and are focussed on showing posts and the web experience. Substack pushes the newsletter to the fore, with web content slightly hidden.

I created a theme called Substation, which prompts subscriptions to your email version of your content. Posts are all available online but at an /archive/ URL.

The theme also supports member-only and paid-only content, just like Substack. And users can easily sign up to your paid plans once they log in (using Ghost's in-built magic link auth system).

Add some paid plans (optional)

You may want to offer premium content to paying members. This is very easy to do in Ghost. You first need a Stripe account (like you do on Substack). You can then simply paste your API credentials into the Members section of the Ghost admin (similarly to the Mailgun integration mentioned above).

You can set a monthly and yearly fee in six different currencies. Currently, different tiers are not available; this is similar to Substack.

Since the launch of Ghost v3, most Ghost themes support showing paid plans and allow members to start paying for content. Substation also does this out of the box.

Add comments/community

Substack has comments for each post. These can be for all members or limited to paying members. You can even create discussion threads, which are posts specifically for discussion in the comments (to mimic this in Ghost, you can just use a normal post).

Using Cove (a product I launched in April), you can create the same commenting features, including the different access levels.

Cove runs on top of Ghost's member features, so you can limit commenting only to members/subscribers. Plus, any logged in subscriber (i.e.: anyone who has clicked on their subscription confirmation link) can leave comments immediately.

Installing Cove involves copying some code into your theme, or simply pasting your account ID if you use a supported theme.

During set up, there are some different ways to show and hide comments based on your user's access level. Ghost has some very useful template tags that make this very easy.

Substation comes with three different comment configurations, which are really easy to switch between.

Done!

And you're finished.

You now have a Substack-like site on your own domain, in a totally customisable site, and with no added fees.

Use this set-up to write independently, own your content, make money from your writing, and be free to change things up whenever you like.

(If you need help installing a site like this, I offer one-off, concierge installs for just $89 through my service Gloat, with everything listed above included: Ghost installation and server setup, memberships, payments and comments.)

This post was originally posted on the Cove blog.

  1. 3

    Nice write up Dan! It's cool to see all these companies and services growing around the Ghost project (I've been a supporter since the Kickstarter).

    Random question (sorry for the tangent) - do you take any SEO hit for cross-posting from the Cove blog?

    1. 3

      Honestly, I have no idea about the SEO hit 😄

      Just trying to help people see the value that Ghost has and help show off different alternatives to the major hosted players in the space.

      1. 1

        This comment was deleted a year ago.

        1. 3

          If you can’t use canonical, just link back to the original article and you’ll be fine.

  2. 3

    This is a game-changer. Thanks Dan.

    Writers will have permissionless, custom domain names. And more features without platform risk.

    1. 1

      Thanks @dru_riley!

      Totally agree. I'm banking on Ghost being a major player in this publishing space.

      1. 2

        This comment was deleted a year ago.

  3. 2

    Hi Dan, excellent post! I'm a bit confused about mailgun. I run a newsletter on substack with roughly 5,500 members (about 600 paid). We send out 5/6 emails a week, half of them going to the entire mailing list. It seems to me that the amount I'd be paying on mailgun means Substack's fees aren't actually so bad. Am I understanding the payment plans correctly? It's $0.80 for 1000 emails sent as I understand it.

    1. 1

      Hi Ben. That's right, Mailgun's fees are $0.80/1,000 emails on their "free" plan.

      However, if you go for their $35/month plan, you get 50,000 emails included (so $0.07/1,000). I don't know if that helps, as I don't know how many emails you're sending out.

  4. 2

    I’ve just bought the Substation theme.
    I’m a new to the whole ‘paid newsletter’ thing. I’ve noticed Substack, and also the Substation theme “Read past issues” feature. I guess I’m trying to understand, if you can just ‘read the issue’ every week without paying.. what would drive people to pay? Are there like.. some ‘paid subscriber’ only posts, and some free? Or is the driver to pay because the comment section is only available to paid subscribers? Or maybe people just don’t mind forking over $50, because it beats clicking the “Read past issues” everyweek.

  5. 2

    I have to compliment @dr for this theme. I've enjoyed the beautiful simplicity it's created for https://dailytrainingsession.com and it was crafted in a way to make minor tweaks pretty easy for anyone. Substack is fine but the ghost members feature offers a little more control and far better writing experience.

  6. 2

    Hi Dan! We'd love to get a demo of your features for Gloat and Cove, can we schedule one through DM's here?

    1. 1

      Hi @ki!

      DM me on Twitter and we can sort something out. https://twitter.com/dr

  7. 2

    This is super awesome! Any chance to copy over the points or threads features from Substack?

    1. 1

      Great question!

      Ghost doesn't have points or comments, unfortunately.

      You can however use my tool Cove for comments on Ghost, and I'd be happy to create an import option for Substack threads.

  8. 2

    Hey Dan, thank you for your article!
    Just to be clear, despite not charging any fees for a membership plan, you do not get around the 29€ / month for Ghost Pro, right?

    1. 2

      You can easily get around that Ghost(Pro) fee.

      1. You can use another managed host like Midnight ($15/month for a very similar offering).

      2. Or you can set up a self-hosted Ghost site, which can cost as low as a few dollars.

      I offer a service for setting up self-hosted Ghost sites, so non-developers can take advantage of lower hosting costs. Check out gloat.dev if you're interested to find out more. I'd be happy to help if you head down that route.

      1. 1

        Oh okay now I see. First, I thought that membership and newsletter functionality would only be offered to Ghost Pro users but now I've found the documentation to just implement it in self-hosted themes. Thanks for pointing out! Also, I will definitely check out your services!

  9. 2

    Definitely going to keep this handy as I keep growing on Substack.It's just so simple to start building an audience even if it is limited but I've long been fascinated by Ghost and their mission.

    1. 1

      There's definitely plenty of room in the market for both Substack and Ghost to exist alongside eachother. I've been seeing a trend of Substack being used to get started easily (as you mention) and then migrating off to platforms like Ghost when things start growing and more flexibility is required.

  10. 1

    ah man i wish i would have found this post earlier

  11. 1

    Hi there. Is there a way for newsletters subscribers to reply to the email?

    1. 1

      You can set a "From address" in Ghost's settings. If you put your own email there, subscribers can easily reply to the newsletters.

      1. 1

        Ah now I feel dumb haha, thanks for pointing out! This is in the theme right? I cannot really change the one on the site.

        1. 1

          There's a setting in your Ghost admin, in the Members part.

          Where's your site hosted?

          1. 1

            Ah then sounds like it's one more Ghost Pro limitations. I don't even know what I was thinking going that route... but well I made contribution to the Ghost project :P

            1. 1

              This comment was deleted a year ago.

  12. 1

    I've seen Cove posted on Reddit in r/ghost and I'm a huge fan of Ghost. I currently have it set up for my ltd company https://blog.michaelbrooks.dev, and for my personal website, I've currently decided to go the Substack route until I gain enough subscribers.

    My reason for this is due to costs and knowing how much work it will take to convert and transfer all of my blog posts from one platform to another (my blog is running on Gridsome with Netlify and Forestry as the backend). However, if I can gain enough of a following to a point where I can monetise then I will probably make the move to Ghost and use your theme and commenting system since it absolutely seems like the best way to go.

    Congrats on creating an awesome theme and commenting system, and I look forward to watching you and seeing what happens in the future with this new generation of blogging.

    1. 2

      Thanks for your comments @MichaelBrooks! And for using Cove ❤️

      The thing with all the publishing options we have nowadays is that people have varying needs; Substack works amazingly for one person but lacks features someone else wants. Same with Ghost, Wordpress, etc.

      I'm happy to be able to show an alternative to Substack, but it's definitely not going to be everyone's perfect setup.

    2. 1

      Hey I see you’re using the dawn theme on ghost.

      I am also using the same theme. The members feature doesn’t seem to be working on the theme. Clicking on the login or subscribe button doesn’t do anything in my theme

      I see it’s the same on your blog too. Do you know if this can be fixed somehow.

      1. 2

        Hello,

        I created an issue on their GH repo, and apparently it hasn't been implemented properly on the theme yet. You can either implement it yourself or wait for them to implement the features. In the meantime, Lyra is a great alternative if you really need the membership features now.

        You can keep an eye on the issue here - https://github.com/TryGhost/Dawn/issues/5

        1. 1

          Thanks a lot for sharing

    3. 3

      This comment was deleted a year ago.

  13. 1

    This comment was deleted 4 months ago.

  14. 5

    This comment was deleted a year ago.

    1. 2

      Thanks a lot for the kind write-up @jasraj!

      I'm really glad to have helped you migrate from Substack to Ghost with Gloat

      1. 1

        This comment was deleted a year ago.

Trending on Indie Hackers
How I grew a side project to 100k Unique Visitors in 7 days with 0 audience 47 comments Competing with Product Hunt: a month later 33 comments Why do you hate marketing? 27 comments $15k revenues in <4 months as a solopreneur 14 comments Use Your Product 13 comments How I Launched FrontendEase 13 comments