Bonfire/Integrations/Ghost

Ghost + Bonfire

Your readers can already reach you. Now they can reach each other.

Keep publishing exactly as you do. This connects your Ghost publication to a community space where your archive, your writers and your members all land together, and where the people who read you can finally find each other.

Archive & topics

Everything you've published, in one move.

Your whole post history comes with you, imported in the background and sorted into the places where people will talk about it. Ten years of archive ready to become fresh conversations.

The whole archive

A background backfill pages through every article you've ever published, keeping titles, images, excerpts, original dates and the link home to your site.

And everything after

New posts arrive as you publish them. Edit a piece, change who can read it, unpublish it, bring it back. The Bonfire copy follows along.

Run it as often as you like

Imports match on canonical URL, so a second pass updates what's there instead of leaving you with two of everything.

Your publication gets a room

Choose one group or topic, and every imported article lands there. That room becomes the home of the discussion: people join it, follow it, browse everything you've published in one place, and carry a discussion on from one article to the next.

You also decide what comes over at all: everything you publish, or only the articles carrying the Ghost tags you pick.

Where an article ends up

Ghost article
“The heat dome, explained”
lands in
Your publication's room
becomes
A discussion the whole room can join

And it keeps up with you

Every change you make in Ghost has a defined counterpart here, including the ones that take something down, which hide rather than destroy.

Article published
Create or update Create the article, or update the one that's already here
Published article edited
Update Update its content, its room and who's allowed to read it
Article unpublished
Hide Take it out of feeds and close off reading, without deleting anything
Article deleted
Hide, keep record Hide it while the discussion around it stays intact
Article republished
Restore Bring back the article and the conversation exactly as they were

The community

Readers meet each other, and the people who write.

A byline stops being a name at the top of a page. Your writers get profiles people can follow and answer; your readers get profiles, feeds and rooms of their own. Everyone who turns up for one article leaves with people, not just a thread.

How far someone can come in

Read

Public pieces stay public. Gated pieces keep their gate, exactly as you set it in Ghost.

Reply

Under the article on your own site, with an account here, or from another fediverse server they already use.

Follow

Follow the writer whose beat they care about, get the next piece, and answer them directly.

Gather

Join the topic where that beat lives and keep talking between articles, with everyone else who reads it.

Contribute

Start a discussion of their own, run a poll, raise something worth covering. Readers become participants.

Bylines become people

Importing an article creates its author's profile and keeps the attribution attached to it, so a reader can follow that writer, see everything else they've filed, and reply to them directly.

Beyond your own visitors

With remote interaction switched on, people can take part from whatever fediverse server they're already on. No new account on your domain to put them off.

Conversations that stay put

A discussion belongs to the whole community. It survives an article being unpublished or removed, and it's still there when the next piece on the subject lands.

Tiers & access

What your paid tier can be worth.

Everything you've set in Ghost carries over untouched: what's public stays public, what's paid stays paid. And the tiers you already sell can start opening doors as well as articles.

Public
Open Readable by everyone
Members
Logged in Readable by logged-in local users
Specific tiers, including a free tier
Logged in Readable by logged-in local users
Paid-only specific tiers
Preview + tier A preview is visible; full reading goes to the matching tier circles
Paid
Preview + tier A preview is visible; full reading goes to every paid tier circle

Each tier becomes a circle that looks after itself

Every tier is mirrored as a Bonfire circle, and boundaries do the rest. Subscribers join their tier's circle, lapsed members drop out of it, and you never touch a list. Retire a tier and its circle is archived rather than deleted, so nobody's history disappears. What that circle is allowed to reach stays entirely your decision. This never assumes a policy on your behalf.

Things you could hand to a tier

Read paid articles Comment and reply Vote in polls Start a group Reach a private space

Sign-in

One member list, kept in sync.

Your Ghost members are the guest list. Nobody has to sign up a second time, and you never maintain a parallel list of who's who.

1

They give their email

The same address they subscribed with. No second form, no new password to invent.

2

Ghost is asked about it

On your member list? A one-time sign-in link goes out. Not on it? They're sent to your Portal to subscribe.

3

They're in

Their account is set up for them, with whatever their tier unlocks already attached to it.

You decide who gets in

Everyone on your member list, or only the tiers you pick. Your writers and editors always get in, tier or not, and the login page carries your own words and a button to wherever you sell memberships.

Your member list stays yours

Every address gets the same neutral answer: subscriber, stranger or lapsed alike. The login form can't be used to work out who does and doesn't pay you.

A lapse doesn't lock people out

Someone who stops paying keeps their account, their posts, their follows and every conversation they've been part of. They lose only what the tier unlocked, and it comes back if they resubscribe.

In the wild

A magazine already did this.

Jacobin's German edition wanted readers who debate, organise and build solidarity together. They kept publishing on Ghost and gave that community a home of their own.

Jacobin Social, a federated community space for the German edition of Jacobin magazine

From audience to community

A comment section wasn't going to be enough, and neither was sending readers to a platform someone else owns. Articles keep coming from Ghost; the conversation happens somewhere their community actually controls: federated, in their own hands, with their own branding on it.

See how other communities set theirs up →

Everything included

Features that ship today.

5 areas, and every capability in them ships today, in the extension you can install this afternoon. Open a group to read through it.

Articles

Full archive backfill
A background job pages through every published article in your Ghost site.
Continuous import
New articles arrive automatically as they're published.
Live updates
Edits, visibility changes, unpublishing, deletion and republishing all follow through.
Faithful rendering
Title, excerpt, HTML body, feature image, image metadata, original date and canonical URL.
Native article objects
Real Bonfire Articles when the Articles extension is on, not posts pretending to be articles.
Duplicate-safe re-runs
Canonical URLs match existing articles, so repeat imports update rather than multiply.
Tag filtering
Import everything, or only articles carrying chosen primary or secondary Ghost tags.
Article browser
Recent Ghost articles at /ghost, with images, excerpts, tags, dates and reading times.

Where discussion happens

A chosen destination
Pick one group or topic, and every imported article lands there.
Destination checks
The importing identity is verified as able to contribute to the destination you chose.
On-site comments embed
One script tag in your Ghost theme renders the discussion under the article.
Fediverse participation
With remote interaction enabled, people take part from another compatible server.
Durable discussions
Conversations survive the source article being unpublished or deleted.
Author profiles
Bylines become real profiles, with attribution that stays attached to them.
Embed can't be forged
Author, destination and audience come from trusted settings, never from the embedding page.

Access & tiers

Visibility translation
Public, members, specific tiers and paid each map onto Bonfire boundaries.
Tier circles
Every Ghost tier mirrored as an instance-level circle named ghost_tier:<slug>.
Automatic protection
Imported paid articles are gated by the matching tier with no extra setup.
Stale-grant removal
Changing visibility or allowed tiers replaces old grants and clears dead permissions.
Archive, don't delete
Retired Ghost tiers keep their circle and its history, marked archived.
Reusable anywhere
Tier circles work throughout Bonfire's boundaries system, like any circle you'd make by hand.

Accounts & identity

Email-only sign-in
A one-time link replaces password and local signup forms.
Ghost-gated eligibility
An unknown address is checked against Ghost before any link is sent.
Tier gating
Allow every member, or restrict new accounts to selected tiers. Any one match is enough.
Staff admission
Active owners, admins, editors, authors and contributors get in without a tier.
Enumeration-proof
Valid, unknown and ineligible addresses all receive the same neutral response.
Identity linking
Member and staff records converge on one account, matched by Ghost ID first, email second.
Email-change tracking
Ghost email changes are followed, unless the address was deliberately changed here.
No silent merges
Conflicting identity or email records stay an administrator's decision, never an automatic one.

Operations & security

Admin dashboard
Connection status, article counts, import rules, tier, member and staff lists in one screen.
Live sync reporting
Progress counters, current stage, recent per-item errors, timestamps and stalled-job detection.
Resumable backfills
Completed pages are checkpointed, so a retry picks up from durable progress.
Gated content support
The Admin API supplies complete HTML for paid articles; the Content API covers public ones.
Idempotent syncs
Re-running article, tier or member synchronisation is safe by design.
Signed webhooks
HMAC-SHA256 over the original body and timestamp, with a five-minute replay window.
Fail closed
No shared secret configured means no webhook is accepted, and invalid ones die before queueing.
Permission-gated data
Member information and sync actions require instance-administration permissions.

Getting started

Two ways in, and no lock-in either way.

Build it with us, or build it yourself. It's the same AGPL-licensed software in both cases. The difference is only how much of the work you'd like to do, and how much you want it shaped around your publication.

Not on Ghost? The comments widget already drops into any site: WordPress, Drupal, a static blog. And the deeper membership integration (single sign-on, tier and member sync) could be extended to other CMSes and Patreon-style membership tools. Tell us what you publish on →

Bonfire Mosaic Most publishers start here

Build it with us

We sit down with you, work out how your publication and its readers actually operate, and shape the space around that: your branding, your structure, your rules. We wire up the Ghost side, get your archive in, and hand it over as yours.

Co-design sessions with your editorial and community people.
Your identity and language throughout, not a template you fill in.
The Ghost connection, tier sync and archive import set up for you.
Yours outright when it's done: forkable, exportable, impossible to take back.

◼ We work closely with a handful of communities a year, so there's a queue. Worth starting the conversation early.

Self-hosted AGPL · free forever

Or do it yourself

Nothing here is held back for paying customers. The extension is open source, the docs are public, and a technically comfortable team can have it running against their Ghost site in an afternoon. If you'd rather not touch a server, a managed host works too.

No licence fee, no seat pricing, no feature locked behind a plan.
Install it yourself, or point a managed host at it.
Read the code, change it, fork it. It's AGPL.
Ask questions in the open: we answer in the chat and on the tracker.

Starting with us doesn't tie you to us. A space we build together runs the same open code as one you install yourself, so you can take it in-house, hand it to another team, or carry on alone whenever you like.

Your readers are already here. Give them a room.

Tell us about your publication (how you work, who reads you, what you'd want them doing together) and we'll tell you honestly whether this fits.