Stacks / Support
Discourse
A community you host. Discourse is GPLv2 — Circle without the community seat.
The 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.
Replaces
Circle
Estimated SaaS saved
$2,400
per year, small team, before lock-in
Start on RailwayStoat if this is a chat community, not a forum
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.
The stack
- Discourse
GPLv2 forum and community platform
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| Circle paid community (small team) | $2,400 | Discourse + Postgres + Redis |
Agent setup 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.
Also as markdown: /stacks/discourse-community.md
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.