Discussion threads, voting, categories, user profiles. Discourse without the $100/mo hosting. A focused community space on your own infrastructure.
Every operation in Watering Hole is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/links — list all links with optional search and filter query parametersPOST /api/links — create a new link recordGET /api/links/{id} — retrieve a single link by IDPUT /api/links/{id} — update an existing linkDELETE /api/links/{id} — remove a linkGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringSelf-hosting used to mean spending a weekend configuring Docker, Postgres, Redis, and an Nginx reverse proxy. Watering Hole skips all of that. It compiles to a static binary with an embedded database, so there is nothing to install and nothing to maintain.
Point curl at /api/links to interact with Watering Hole programmatically. The API follows predictable REST conventions: GET to list or fetch, POST to create, PUT to update, DELETE to remove. The response schema matches the internal data model exactly, so what you see in the dashboard is what the API returns.
Run Watering Hole on any server where you can execute a binary. The dashboard is immediately available at localhost, and the REST API integrates with your existing scripts and workflows. No external dependencies to configure, no managed service to subscribe to.
GET /api/links — List all links. Supports ?q=keyword for search and ?status=value for filteringPOST /api/links — Create a new link. Send JSON with at least titleGET /api/links/{id} — Fetch one link by IDPUT /api/links/{id} — Update fields on an existing linkDELETE /api/links/{id} — Remove a linkGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted community forum. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool wateringhole
PORT=9050 ./wateringhole
http://localhost:9050
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export WATERINGHOLE_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./wateringhole
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.