ScriptsMay 6, 2026·3 min read

The Lounge — Self-Hosted Modern Web IRC Client

A modern, responsive, cross-platform web IRC client that you can self-host for always-on chat with push notifications and file sharing.

Introduction

The Lounge is a self-hosted web IRC client that keeps you connected to IRC networks around the clock. It runs as a Node.js server, storing your session so you never miss messages, and serves a responsive web UI accessible from any browser or device.

What The Lounge Does

  • Connects to any IRC network and stays online 24/7 as a bouncer
  • Serves a responsive web interface with desktop and mobile push notifications
  • Stores chat history in a searchable per-user log (SQLite or file-based)
  • Supports file uploads with built-in image previews and link metadata expansion
  • Manages multiple users with individual IRC network configurations

Architecture Overview

The Lounge is a Node.js application using Express for the HTTP layer and Socket.IO for real-time communication with the browser. Each user's IRC connections are managed server-side, persisting across browser sessions. The frontend is built with Vue.js and supports theming. Message storage uses SQLite by default, with configurable retention.

Self-Hosting & Configuration

  • Install globally via npm or use the official Docker image
  • Configure ~/.thelounge/config.js for bind address, port, HTTPS, and file upload limits
  • Add users with thelounge add <username> (password is set interactively)
  • Run behind Nginx or Caddy with WebSocket proxy for HTTPS termination
  • Enable LDAP authentication for team deployments via a plugin

Key Features

  • Always-on IRC bouncer with message history sync across devices
  • Push notifications via the Web Push API on mobile and desktop
  • Inline link previews with Open Graph metadata and image thumbnails
  • Multi-user support with per-user network and channel configuration
  • Customizable themes and a compact mode for power users

Comparison with Similar Tools

  • WeeChat + Glowing Bear — Terminal IRC client with optional web frontend; more complex setup
  • Quassel — Split-architecture IRC client with Qt desktop app; no built-in web UI
  • Convos — Perl-based web IRC client; simpler but fewer features
  • Kiwi IRC — Web IRC client often used as a gateway; less focus on bouncer functionality
  • ZNC + web client — Dedicated IRC bouncer with separate web frontend; more modular but more parts to manage

FAQ

Q: Does The Lounge work as an IRC bouncer? A: Yes. It maintains persistent connections to IRC networks and replays missed messages when you reconnect your browser.

Q: Can I use it in public mode without user accounts? A: Yes. Set public: true in the config to allow anonymous users with ephemeral sessions (no message persistence).

Q: How do I enable HTTPS? A: Either configure TLS certificates directly in The Lounge config or terminate HTTPS at your reverse proxy.

Q: Does it support IRC features like SASL and client certificates? A: Yes. Per-network settings support SASL PLAIN, EXTERNAL, and client TLS certificates for authentication with IRC networks.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets