Discourse: Open Source alternative to Circle in 2026
Discourse is an open source forum software built for large-scale communities, with community trust-level moderation, email notifications and automatic digests.
Audit Snapshot
View notes βLicense β Matches GitHub
GitHub β Active
Latest release β v2026.10.0-latest
Docker Compose β Official installer, no compose
Production β Not production-tested by AltFreeStack
Discourse vs. Circle
Pros
- Built for large communities, with built-in progressive trust-level moderation
- Excellent automatic anti-spam moderation
Things to consider
- Less straightforward install than a standard docker-compose (uses its own installer)
- Needs at least 2 GB of RAM to run smoothly
Quick Docker installation guide
This tool doesn't install via a plain docker-compose.yml β it uses the project's own official installer. Review it before running it. See the full step-by-step guide β
π‘ Official SaaS or self-hosted with AltFreeStack?
- On the official cloud: a recurring monthly fee and usage limits on Circle.
- On your own VPS: 100% free software on your own server, with no artificial row, project or user limits.
# Discourse se instala oficialmente con su propio script "launcher" y un
# archivo app.yml (no un docker-compose.yml estΓ‘ndar):
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup
This docker-compose corresponds to an actively maintained project β last commit today.
This docker-compose not working for you? Report it on GitHub βTechnical profile
- License
- GPL-2.0
- Category
- CRM & Support
- Replaces
- Circle
- Tech stack
- Ruby on RailsPostgreSQLRedisEmber.js
Under the hood
Database
PostgreSQL
Language
Ruby on Rails
Platforms
Web Β· Mobile (iOS/Android)
Key features
- Forums with threads, categories and unlimited tags
- Moderation via community trust levels
- Email notifications and automatic digests
Preview

Public image provided by Discourse on its own website.
π Connect your domain with free SSL
Step 1 β Set up the DNS
In your domain registrar's dashboard (Cloudflare, Namecheap, GoDaddy...), create a record:
- Type
- A
- Name/Host
- @ (root domain) or a subdomain, e.g. app
- Content/Value
- Your server's public IP
Wait 5 to 15 minutes for the record to propagate across the internet.
Step 2 β Automatic reverse proxy with Caddy
One single file, no Nginx config or manual certificates β Caddy issues and renews Let's Encrypt HTTPS on its own.
Create a file called Caddyfile:
yourdomain.com {
reverse_proxy localhost:YOUR_APP_PORT
}Start Caddy with this command (pulls the image and runs it in the background):
docker run -d -p 80:80 -p 443:443 --name caddy --restart always -v $PWD/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy