Create issues, triage them, assign them, track resolution. GitHub Issues but on your own server for repos that shouldn't be on GitHub or teams who want full data control.
When regulators or clients ask where your issues data is stored, the best answer is a specific server you own in a specific jurisdiction you chose. Bounty makes that answer straightforward because the data never leaves your infrastructure.
Deploy Bounty as a systemd service, a Docker container, or a bare process behind tmux. It reads two environment variables: PORT and DATA_DIR. Everything else is self-contained. The /api/health endpoint returns the service status and issues count, which you can wire into your existing monitoring stack.
An agency managing issues for multiple clients runs one Bounty instance per client on isolated VMs. Each instance gets its own data directory. There is no shared database, no multi-tenant risk, no worry about one client's data appearing in another client's export.
GET /api/issues — List all issues. Supports ?q=keyword for search and ?status=value for filteringPOST /api/issues — Create a new issue. Send JSON with at least titleGET /api/issues/{id} — Fetch one issue by IDPUT /api/issues/{id} — Update fields on an existing issueDELETE /api/issues/{id} — Remove a issueGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted bug tracker and issue manager. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool bounty
PORT=9320 ./bounty
http://localhost:9320
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 BOUNTY_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./bounty
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.