Rungu 0.4: a feedback board your AI agent can run
Rungu v0.4.0 gives a self-hosted feedback board 26 MCP tools, cookie-free analytics, and white-label branding in a single Rust binary. Honest numbers included.
A pattern keeps repeating on r/selfhosted
Someone ships a v0.1, posts it, and puts "feedback wanted" in the title. The replies are the most valuable data a young project can collect. Then they scatter. One thread stays on Reddit, one bug report lands in a DM, one idea dies in a Discord nobody visits.
We built Rungu because we kept losing our own feedback this way. Rungu is a self-hosted feedback board: feature requests, bug reports, questions, voting, comments, a roadmap view, a changelog. Version 0.4.0 shipped on September 6, and it is the release where the project stops being a form with a list attached and becomes something an AI agent can operate directly.
First, the honest numbers. Rungu has 8 stars. The first public release went out in June 2026. Five releases have shipped since. It is a young project, and this post will treat it like one: what exists today, what it does, and where it falls short.
What Rungu is
Rungu is a Rust backend with a SvelteKit frontend compiled into a single binary. That one binary serves the SPA, the REST API, a Swagger UI, and an MCP server. Storage is SQLite by default, with PostgreSQL available through DATABASE_URL. Authentication runs through Google, GitHub, or Keycloak, and the same email across providers resolves to one user. Full-text search is FTS5. Posts carry categories (feedback, bug, feature, question) and statuses (open, planned, in progress, done).
Deploying it is one command: docker run -p 3000:3000 ghcr.io/codecoradev/rungu:0.4.0. Or build from source with cargo. No external database required.
Why build this when Fider exists
Fider is the established name here. It has 4,501 stars and years of production hardening, and it deserves that traction. So why another one? Three concrete reasons pushed us.
Deployment shape. The Fider self-hosting docs are explicit: it requires PostgreSQL 12+, Docker (no Linux or Windows binaries are distributed), and an email sender through SMTP or Mailgun. That is a reasonable stack for a team. For a solo maker on a small VPS, it is three dependencies before the first feedback post. Rungu defaults to SQLite inside a single binary and treats Postgres as an option, not a prerequisite.
License. Fider is AGPL-3.0. Rungu is Apache-2.0. If you want to embed a feedback board inside a larger product, that difference decides the conversation before it starts.
Agent access. Fider has no MCP server. Rungu 0.4 ships 26 MCP tools, and that is the actual subject of this release.
To be clear about the trade: Fider has a hosted cloud offering, email workflows, and a maturity gap we will not pretend to close. Rungu has none of those. What it has is a smaller footprint and a native path for AI agents.
What shipped in 0.4.0
26 MCP tools, local or remote
Local clients like Claude Code, Cursor, and Windsurf connect over stdio. New in this release is MCP over HTTP: POST /mcp with Bearer auth, so remote clients get the same toolset with a URL and a header. The toolset now includes admin operations (create_project, delete_project, webhook management) and analysis tools (get_analytics, get_top_posts with vote and view counts).
There is also RUNGU_API_KEY: set it, and an AI agent gets full admin power over the REST API from anywhere, acting as a synthetic ai-agent admin. More on the trade-off below.
Analytics without cookies
Rungu now counts five events: board_view, post_view, vote, comment, and post_created. Aggregate counters only. No IPs, no cookies, no fingerprints. The admin dashboard shows totals, a daily activity chart, and a top-posts table with vote and view conversion.
You lose per-user funnels and session replay. That is the point. A feedback board run by a privacy-minded self-hoster should not need a consent banner, and this design skips the entire question.
White-label and a soft license gate
RUNGU_INSTANCE_NAME, RUNGU_LOGO_URL, and RUNGU_FOOTER_TEXT rebrand the header, page titles, the login page, and the embed board. A public GET /api/meta exposes the values for integrations.
Removing the "Powered by Rungu" badge is the only paid thing in the project: a one-time $49 per major version or $70 lifetime through Polar. The gate is soft. An invalid or expired license only brings the badge back. The board is never throttled, and no feature is behind the paywall.
The security pass. Eleven fixes landed alongside the features, from an XSS breakout via branding strings to hardened login redirects and author emails removed from every public payload. SQLite foreign keys are now enforced on every pooled connection instead of one. This morning a further fix landed for OAuth login, setting SameSite=Lax on all cookies to resolve a "Missing or invalid state cookie" error.
How agent access works in practice
The workflow that motivated the release: connect Claude Code to a Rungu board over stdio, then ask it something like "read the feedback board and summarize the top voted requests from this week." The agent calls the listing tools, pulls vote counts and view conversion from get_top_posts, and returns a summary. The loop that used to mean opening a browser, scrolling, and copying numbers into a doc becomes one question.
The remote path matters for the same reason. With MCP over HTTP, an agent running on a different machine (or a scheduled automation job) can query the board with a Bearer token instead of a local process.
The trade-off is real: RUNGU_API_KEY grants full admin power. Treat it like a database credential. Scope it to what the agent actually needs, keep it off shared machines, and put it behind a reverse proxy with rate limits if it leaves localhost.
Decisions and trade-offs
SQLite first. Feedback boards are low-write workloads. SQLite removes a whole service from the deployment story, which is the right default for a 5-dollar VPS. Postgres stays one environment variable away for teams that want it.
Aggregate analytics only. If your roadmap process depends on per-user funnels, Rungu will disappoint you. We picked the version a privacy-focused operator can deploy without a policy page.
Cosmetic monetization. Every feature is open. The badge is the product. Whether that sustains anything is an open question we get to answer in public.
Early scale, stated plainly. 8 stars, 11 weeks of public history, and no hosted offering. If you need a battle-tested board for thousands of users today, Fider is the safer bet, and saying so costs us nothing.
What's next
The release cadence has been roughly one release every two to three weeks since June, and the issues tracker on GitHub is public. The direction for the next cycle is more agent-side workflow: webhook automation around the just-landed MCP admin tools, and polish on the embed board.
If you run a small product and your feedback lives in six places, that is the exact problem this board exists for.
Try it
The repo is at github.com/codecoradev/rungu (Apache-2.0, 8 stars at the time of writing). Quick start:
docker run -p 3000:3000 ghcr.io/codecoradev/rungu:0.4.0
# or
cargo build --release
./target/release/rungu --db rungu.db serve --listen 0.0.0.0:3000Point an MCP client at it and ask your agent what your users want. That question is the whole product.