Discourse is $50/mo (Basic hosted). Watering Hole is a self-hosted alternative at $0.99/mo. Here's when each makes sense.
| Watering Hole | Discourse | |
|---|---|---|
| Hosting | Self-hosted, your infra | Self-hosted requires Docker, Postgres, Redis, and 2GB+ RAM |
| Data location | Your server, your disk | Your server (if self-hosted) |
| Free tier | 3 categories | Paid only |
| Pro pricing | $0.99/mo | $50/mo (Basic hosted) |
| Dependencies | None (single binary + SQLite) | Docker, Postgres, etc. |
| Setup time | ~30 seconds | 15-30 minutes (self-host) |
| Dashboard | Built-in at /ui | Web UI |
| License | BSL 1.1 | Open source |
Watering Hole is a single Go binary with embedded SQLite. Install it with one command, and you are running in under a minute. Your data stays on your server.
curl -fsSL https://stockyard.dev/wateringhole/install.sh | sh
Discourse is a strong product. There is no point pretending otherwise. Where Watering Hole earns its place is in situations where Discourse cannot be used — airgapped environments, regulated industries, teams with strict data sovereignty requirements, or simply developers who prefer tools they can inspect end to end. If none of those constraints apply, Discourse may genuinely be the better choice.
Watering Hole runs as a single static binary with an embedded SQLite database. There is no application server, no cache layer, no background worker. One process handles HTTP requests and reads from and writes to the database file directly. This simplicity is the entire point — fewer moving parts means fewer things that can break at 2 AM.
Discourse can be self-hosted, but the experience differs significantly from Watering Hole. Self-hosted requires Docker, Postgres, Redis, and 2GB+ RAM With Watering Hole, self-hosting means downloading one file and running it. The gap in operational complexity matters most for small teams without dedicated DevOps staff.
Switching from Discourse to Watering Hole is straightforward for most teams. Export your data from Discourse (most services offer CSV or JSON export), then POST each record to Watering Hole's API. A migration script that reads the export and writes to /api/ endpoints typically takes less than 50 lines of code. The reverse migration is equally simple — Watering Hole's SQLite database is a standard file you can query with any SQLite client.
Single binary. Free to start. $0.99/mo for Pro.