# Discourse

A community you host. Discourse is GPLv2 — Circle without the community seat.

**Replaces:** Circle

**Tier:** Medium

## Problem

Circle (circle.so) sells a community OS: spaces, courses, paywalls, a member directory. You wanted a forum with topics, trust levels, and email. Discourse is GPLv2 and self-hostable. This is a forum — not Circle's course player, native app, or member billing. Chat-shaped communities stay on /replace/discord.

## Stack

- [Discourse](https://www.discourse.org) — GPLv2 forum and community platform

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Circle paid community (small team) | $2,400 | Discourse + Postgres + Redis |

**About $2,400 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Discourse (Postgres + Redis + Sidekiq) plus a volume for uploads. SMTP via Resend. No one-click template in this repo yet — Start on Railway. Chat rooms stay on /stacks/stoat-chat or /stacks/rocket-chat.

[Start on Railway](https://c17.io/go/railway/discourse-community?from=%2Fstacks%2Fdiscourse-community.md)

[Stoat if this is a chat community, not a forum](https://c17.io/stacks/stoat-chat)

## AGENT_PROMPT

```
Replace Circle with self-hosted Discourse.

- Official Discourse install: Postgres, Redis, Sidekiq, uploads on a volume. Bind HTTP to 0.0.0.0:$PORT. SMTP via Resend on send.
- Import one category of threads if Circle gives you an export. Lock signups or enable SSO.
- Write AGENT_PROMPT.md. Do not claim Circle courses, native apps, or member billing you have not rebuilt.
```

## FAQ

### Is this Circle courses too?

No. Discourse is the forum. Courses, drip, and a member paywall are a different product — Ghost memberships cover a paid publication (/replace/medium), not a Circle classroom.

### Why not Discord?

/replace/discord is Stoat/Revolt — chat. Circle is a hosted community with spaces and threads. Discourse is that job.

Source: https://c17.io/stacks/discourse-community
