unsubbed.co

Convos

Convos is a self-hosted team chat & messaging tool that provides multi-user IRC client in the browser.

Web-based IRC, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: A self-hosted, browser-based IRC client with a built-in persistent bouncer — meaning it stays connected to IRC networks even when your browser is closed [1][2].
  • Who it’s for: Developers, open-source contributors, and technical teams whose communities live on IRC (Libera.Chat, OFTC, etc.) and want a clean web interface without paying for a managed service.
  • Cost savings: IRCCloud’s always-online plan runs $5/month per person. Convos self-hosted runs on a $5–10/month VPS and is free for any number of users [2].
  • Key strength: Genuinely the simplest install in this category — two commands and you’re running. The backend is Perl/Mojolicious, the frontend is Svelte, and it shows: fast, lightweight, no bloat [1].
  • Key weakness: IRC-only. If your team uses Slack, Discord, or Matrix, this doesn’t help you. Convos is a narrow tool that does one thing well.

What is Convos

Convos is a multiuser web application that gives you a browser-based interface for IRC. The important word there is persistent: unlike installing an IRC client on your laptop, Convos runs on a server and stays connected around the clock. Close your browser, go to sleep, reopen it in the morning — all the messages from channels you were in are waiting for you, logged and searchable [2].

This concept is called an IRC bouncer, and it’s been the solution to IRC’s core UX problem for decades: IRC has no native message history. If you disconnect, you miss everything. Traditional bouncers like ZNC solve this but require a separate IRC client to connect to them. Convos packages the bouncer and the web client into one application, which is what makes the install story so clean [1].

The project describes itself as “the simplest way to use IRC in your browser,” which is an accurate and unpretentious pitch [1]. The GitHub repository sits at 1,161 stars — a number that reflects the niche it serves, not any deficiency in the software. IRC is not Slack. The people who need Convos know they need it.

The backend is written in Perl using the Mojolicious web framework. The frontend is Svelte. This is an unusual stack in 2026 — Perl is not what most people reach for — but it’s been stable, and the Mojolicious framework handles WebSockets and async well, which matters for a real-time chat application. It ships under the Artistic-2.0 license, the same license as Perl itself, which is permissive: you can self-host, fork, and modify without commercial restrictions [1].


Why people choose it over other IRC options

The IRC client market is small and technical, so the decision calculus is different from something like automation tools or finance software. The realistic alternatives are: pay for IRCCloud, run a traditional ZNC bouncer plus a separate client, use The Lounge (another self-hosted web IRC client), or use Quassel (a Qt-based desktop app with a persistent daemon). Convos competes mostly on simplicity.

Versus IRCCloud. IRCCloud is the dominant paid option — $5/month per person for always-online access, polished apps on iOS and Android, and a clean web interface. The case for Convos is straightforward: if you’re running it for a team of four, IRCCloud costs $20/month permanently. Convos on a $5 VPS costs $5/month total, shared by everyone. For a developer team or open-source project, that’s the entire argument. The trade-off is you own the maintenance [2].

Versus ZNC + web client (Glowing Bear, etc.). ZNC is the traditional IRC bouncer. It works, it’s battle-tested, and it’s free. But connecting a web client to ZNC adds setup complexity: you run ZNC, configure each IRC network, then run Glowing Bear or another web client, point it at ZNC, manage two moving pieces. Convos collapses that into one application with one install command. For anyone who’s gone through the ZNC + web client setup, Convos’s simplicity is genuinely refreshing [1].

Versus The Lounge. The Lounge is the other main self-hosted web IRC client. It’s Node.js-based, actively maintained, and has a slightly more modern UI. The comparison is close enough that choosing between them mostly comes down to: do you prefer Node.js or Perl on your server? The Lounge has broader community mindshare; Convos has the lighter install story. Both are legitimate choices for the same use case.

On data ownership. The Convos website makes this point plainly: “You own and control all your settings, logs, and uploaded files from your server.” [2] For teams with compliance concerns about chat logs leaving the organization — common in legal, finance, and healthcare contexts — a self-hosted IRC setup with Convos gives you complete control over the archive.


Features

Based on the GitHub README and official website [1][2]:

Core IRC functionality:

  • Connects to multiple IRC networks simultaneously, per user [2]
  • Persistent bouncer — stays connected when browser is closed [1][2]
  • Full message archive/log stored on your server [2]
  • Multiuser — multiple people can share one Convos instance with their own logins [1]
  • Mobile-responsive — works on phones without a native app [2]

Modern additions:

  • Video chat via WebRTC — one-on-one or group video from within the interface, added in 2020 [2][blog post from website data]
  • Theming — multiple built-in color themes; introduced with version 4.0 [2]
  • Rich formatting — emojis and media (images, links) rendered inline [2]
  • File uploads stored on your own server [2]

Deployment options:

  • One-command install script (curl https://convos.chat/install.sh | sh -) [1]
  • Docker image available at ghcr.io/convos-chat/convos [1]
  • Snap package available on Snapcraft [1]
  • No external database required — stores data as files [1]

What it doesn’t do:

  • No support for anything other than IRC currently. Matrix, XMPP, Slack bridges — not here. The README explicitly states: “The supported chat protocol is currently IRC, but Convos can be extended to support other protocols as well.” [1] That “can be extended” qualifier has been there for years.
  • No mobile apps — it’s a responsive web app, not a native client.
  • No push notifications to mobile without additional infrastructure.

Pricing: SaaS vs self-hosted math

Convos: Free and open source (Artistic-2.0). Zero licensing cost [1].

VPS to run it on: $5–10/month on Hetzner, Contabo, or DigitalOcean. Given that Convos stores data as files and doesn’t require a separate database, even a minimal 1GB RAM VPS handles it for a small team.

IRCCloud (the main alternative):

  • Free: limited buffer, limited networks, no always-online
  • IRCCloud Pro: $5/month per person for persistent connection and mobile apps
  • Organization plans: contact sales

Concrete math for a 5-person developer team: IRCCloud at $5/person = $25/month = $300/year. Convos on a $6 Hetzner VPS = $6/month = $72/year, regardless of how many users share the instance. Savings over a year: ~$228, which is modest compared to escaping a Zapier bill, but the math scales — a 20-person open source project community paying IRCCloud would spend $100/month vs. $6.

The honest counterpoint: IRCCloud ships polished iOS and Android apps. Convos is a web app. If your team needs native mobile IRC, that gap has real value.


Deployment reality check

The install story is the best thing about Convos. From the README [1]:

curl https://convos.chat/install.sh | sh -
./convos/script/convos daemon

That is genuinely two commands to a working instance on localhost. The Docker path is similarly short:

docker pull ghcr.io/convos-chat/convos:alpha
mkdir -p $HOME/convos/data
docker run -it -p 8080:3000 -v $HOME/convos/data:/data ghcr.io/convos-chat/convos:alpha

What you actually need for a production install:

  • A Linux VPS (1–2GB RAM is sufficient for a small team)
  • Docker or Perl + cpanm for the native install
  • A domain name and reverse proxy (Caddy or nginx) for HTTPS
  • No external database — Convos uses its own file-based storage [1]

The absence of a database dependency is a genuine differentiator. Most self-hosted apps require PostgreSQL or MySQL, which adds setup surface and maintenance overhead. Convos’s file-based storage means backups are a rsync of one directory, and the install doesn’t fail because you misconfigured a database connection.

What can go sideways:

  • The Docker image uses the :alpha tag in the official documentation [1], which is slightly unnerving for a production deployment. The project has a stable branch that’s more appropriate; use that or pin a specific version tag rather than :alpha.
  • The Snap package and Docker image have had periodic sync issues — the project notes the old Docker Hub images (Nordaaker/convos, convos/convos) are being phased out in favor of the GitHub Container Registry image [1]. Follow current documentation.
  • Video chat requires WebRTC, which works in modern browsers but can be blocked by corporate firewalls or require STUN/TURN server configuration for users behind strict NAT. The feature is listed as experimental in the original blog post [2].
  • Convos does not handle IRC server authentication complexity for you — if your target IRC network requires SASL, you configure that per-connection in Convos’s interface. Not hard, but worth knowing.

Realistic setup time for a technical user: 15–30 minutes to a working, HTTPS-enabled instance. This is the easiest install in the self-hosted chat category.


Pros and cons

Pros

  • Genuinely minimal install. Two commands to a working instance. No database to configure. The friction between “want to try this” and “it’s running” is as low as any self-hosted tool gets [1].
  • Persistent bouncer included. You don’t need ZNC separately. The bouncer is part of the application — you install Convos and you get always-on IRC immediately [1][2].
  • Multiuser from the start. One Convos instance, multiple users, each with their own IRC network connections. Shared infrastructure, isolated accounts [1].
  • File-based storage. Backups are simple. No database maintenance. The data lives in a directory you can inspect, move, and restore with standard file tools [1].
  • Permissive license. Artistic-2.0 means you can run it, fork it, and modify it without commercial restrictions — same license as Perl itself [1].
  • Video chat. Not many IRC clients ship this. It’s experimental and WebRTC-based, but it exists [2].
  • Active, stable codebase. The project has maintained a proper stable branch workflow, with the main branch for development and stable for production use [1].

Cons

  • IRC only. This is the single biggest limitation. If your team or community moved to Matrix, Slack, or Discord, Convos does nothing for you. The README gestures at future protocol support, but it hasn’t arrived [1].
  • Small community. 1,161 GitHub stars reflects a niche audience. Stack Overflow answers and community forum posts are sparse. You’re mostly relying on the project’s own documentation and IRC channel (#convos on their demo server) when you hit issues.
  • No native mobile apps. The web app is responsive and usable on mobile, but it’s not the same as a native iOS or Android app. IRCCloud has polished native apps; Convos doesn’t [2].
  • Experimental video. The WebRTC video feature works in controlled environments but has real-world limitations (NAT, firewalls, browser compatibility). Don’t plan a product launch around it [2].
  • Perl stack. This is not a criticism of Perl, but if something breaks and you need to dig in, you need Perl debugging skills or the willingness to acquire them. The maintainer community is small.
  • No push notifications out of the box. Web apps can’t push to mobile without a service worker and notification infrastructure. If you need IRC pings on your phone when you’re not looking at the browser, you’ll need additional tooling.
  • The :alpha tag in official docs is confusing. Minor, but indicative of documentation that hasn’t been fully updated to reflect the current release model [1].

Who should use this / who shouldn’t

Use Convos if:

  • Your team or open source community uses IRC and you want everyone to have persistent, always-on access without paying per-seat for IRCCloud.
  • You’re a developer or sysadmin comfortable running a Docker container or Perl application on a VPS.
  • You want the simplest possible self-hosted IRC setup — no ZNC, no separate client, just one thing to deploy.
  • You need to keep chat logs under your own control for compliance or policy reasons.

Skip it (use IRCCloud) if:

  • You want polished native mobile apps with push notifications.
  • Your team is not technical enough to maintain a self-hosted service, and you’d rather pay $5/person for something that just works.
  • You’re on IRC for personal use and the free tier of IRCCloud covers your needs.

Skip it entirely if:

  • Your team doesn’t use IRC. This is a very real scenario in 2026 — most companies and communities have migrated to Slack, Discord, or Matrix. Convos doesn’t bridge or replace any of those. If you’re evaluating “what chat tool should we use,” the answer is probably not IRC, and therefore not Convos.

Consider The Lounge instead if:

  • You want a more actively community-developed web IRC client with a Node.js stack you’re more comfortable maintaining. The Lounge and Convos are near-equivalent in capability; choose based on which stack your team can support.

Alternatives worth considering

  • The Lounge — The closest self-hosted alternative. Node.js-based, similar feature set, slightly more community mindshare. Both are valid choices.
  • IRCCloud — $5/month per person. Polished native apps, no maintenance, good mobile experience. The right call if you want managed.
  • ZNC — The classic IRC bouncer. Pair it with any IRC client you like. More setup than Convos, more control over individual settings per user.
  • Soju — A newer, modern IRC bouncer written in Go. Lightweight, supports multiple users, pairs with any IRC client. No built-in web UI.
  • Quassel — Qt-based desktop IRC client with a persistent core daemon. Excellent for desktop-primary users who don’t need a browser interface.
  • Matrix/Element — If you’re re-evaluating the underlying protocol, Matrix is the modern answer to what IRC was trying to be: federated, persistent, open. Element is the main self-hosted Matrix client. Many IRC networks now offer Matrix bridges, so you can use Element and still participate in IRC channels.

Bottom line

Convos does exactly what it says: it’s the simplest way to run a persistent, always-online IRC client in your browser. Two commands to install, no database to manage, multiuser from day one, and a genuine feature advantage over raw IRC in the form of video chat and rich media rendering. If you’re paying IRCCloud for a team, the self-hosted math is straightforward. If you’re an open source project that wants to offer your community a shared IRC presence, Convos is the lowest-friction way to do it.

The honest caveat: IRC itself is a niche. Most people reading this in 2026 have already moved on to Slack or Discord, and Convos does nothing to change that. This is not a tool for teams choosing their first chat platform — it’s a tool for teams that have already chosen IRC and want it to stop requiring desktop clients and manual reconnection. If that’s you, Convos is excellent. If it’s not, look at Matrix/Element instead.


Sources

  1. Convos GitHub Repository — README, license, install instructions, branch documentation. https://github.com/convos-chat/convos
  2. Convos Official Website — Feature list, homepage, blog posts on video chat and theming. https://convos.chat
  3. IRCCloud Pricing — Per-seat pricing for always-online IRC bouncer service. https://www.irccloud.com