Skip to Content
The Lounge

The Lounge

Modern self-hosted web IRC client with always-online connectivity

The Lounge IRC Client

The Lounge is a modern, responsive, self-hosted web IRC client that runs continuously on your QuickBox server. Unlike traditional IRC clients, The Lounge provides a web-based interface accessible from any device with a browser, maintaining persistent IRC connections even when you’re offline. Perfect for users who want IRC access without installing desktop applications.


What is The Lounge?

The Lounge is a web-based IRC client that combines the convenience of modern web applications with the power of persistent IRC connections. Running on your QuickBox server, The Lounge maintains your IRC sessions 24/7, storing message history and keeping you connected even when your browser is closed.

🌐 Web-Based Interface

Access IRC from any device with a browser—no desktop client installation required

📱 Responsive Design

Beautiful interface optimized for desktop, tablet, and mobile devices

💾 Message History

Complete backlog storage with search functionality—never miss a message

🔔 Push Notifications

Real-time notifications for highlights and private messages via browser push

📤 File Uploads

Drag-and-drop file sharing with automatic image previews and thumbnails

🔐 Secure Access

HTTPS encryption via nginx reverse proxy with QuickBox authentication

🎨 Theme Support

Multiple built-in themes plus custom theme support for personalization

🔌 Always Online

Persistent connections maintained by Node.js daemon running 24/7

Web-Based IRC

Unlike Quassel IRC which requires a desktop client, The Lounge provides a complete web interface. Simply access it through your browser at https://yourserver.com/thelounge/ and start chatting immediately.


Installation

Prerequisites

Before installing The Lounge, ensure your environment meets these requirements:

Symptoms

  • QuickBox Pro v3 installed and configured
  • Valid user account with appropriate permissions
  • Node.js 18.x support (automatically installed)
  • Port 9000 available (or will be auto-assigned)
  • Modern web browser with JavaScript enabled

Resolution

  • Install QuickBox Pro via standard installation process
  • Create user account with qb adduser command
  • QuickBox installs Node.js 18.20.0 and npm 10.5.0 via NVM
  • Port automatically assigned if default is in use
  • Use Chrome, Firefox, Safari, or Edge for best experience

Install The Lounge

Install The Lounge for a specific user:

qb install thelounge -u username

Install beta version:

qb install thelounge -u username --beta

Automatic Configuration

QuickBox handles complete installation including Node.js environment setup, Python virtual environment, systemd service configuration, nginx reverse proxy, and automatic user account creation with your QuickBox password.

Automatic Installation Process

QuickBox performs comprehensive setup automatically:

  1. 🔧 Environment Setup - Installs NVM, Node.js 18.20.0, npm 10.5.0, and Python 3.11
  2. 📦 Virtual Environments - Creates isolated Python and Node.js environments
  3. 🏗️ Build Process - Downloads, compiles, and builds The Lounge from source
  4. ⚙️ Configuration - Generates config files with reverse proxy and SSL settings
  5. 👤 User Account - Creates The Lounge account using your QuickBox password
  6. 🔒 Service Setup - Configures systemd service with security sandboxing
  7. 🌐 Nginx Integration - Sets up reverse proxy with WebSocket support
  8. 💾 Automatic Backup - Creates initial configuration backup

CLI Commands

Basic Operations

CommandDescription
qb install thelounge -u usernameInstall The Lounge with standard release
qb install thelounge -u username --betaInstall The Lounge beta version
qb reinstall thelounge -u usernameReinstall The Lounge (preserves configuration)
qb update thelounge -u usernameUpdate to latest version
qb remove thelounge -u usernameRemove The Lounge and clean up files
qb help theloungeDisplay comprehensive help information

Usage Examples

Install stable version:

qb install thelounge -u myuser

Install beta version for testing:

qb install thelounge -u myuser --beta

Update to latest version:

qb update thelounge -u myuser

Reinstall (fix corrupted installation while preserving data):

qb reinstall thelounge -u myuser

Remove The Lounge:

qb remove thelounge -u myuser

Beta Versions

The --beta flag installs the latest beta release from The Lounge GitHub repository. Beta versions include cutting-edge features but may have stability issues. Your beta preference persists across updates.


Accessing The Lounge

Web Interface Access

After installation, access The Lounge through your QuickBox dashboard or directly via URL:

Primary Access Methods:

MethodURL FormatNotes
QuickBox DashboardDashboard → Applications → The LoungeRecommended method
Direct URLhttps://yourserver.com/thelounge/Direct browser access
Mobile BrowserSame URL from mobile deviceResponsive design

Login Credentials:

  • Username: Your QuickBox username
  • Password: Your QuickBox password (automatically configured)

Single Sign-On

The Lounge uses your existing QuickBox credentials—no separate account creation needed! Just log in with your QuickBox username and password.

First-Time Setup

Step 1: Access The Lounge

Navigate to https://yourserver.com/thelounge/ and log in with your QuickBox credentials.

Step 2: Add IRC Network

  1. Click the ”+” button or “Add Network” in the sidebar
  2. Configure your IRC network:
Network Name: Libera.Chat (or custom name) Server: irc.libera.chat Port: 6697 Enable TLS/SSL: ✓ (recommended) Nickname: your_nickname Username: your_username Real Name: Your Real Name
  1. Click “Connect” to establish connection

Step 3: Join Channels

  • Type /join #channel in the input box
  • Or click a channel name if auto-join is configured
  • Messages appear in real-time with persistent history

Common IRC Networks:

NetworkServerPort (SSL)
Libera.Chatirc.libera.chat6697
OFTCirc.oftc.net6697
Freenodeirc.freenode.net6697
IRCnetirc.ircnet.com6697

Auto-Join Channels

Configure channels to auto-join on connect in Network Settings → Edit → Channels. Add comma-separated channel names like #quickbox,#help,#general.


Configuration

Default Settings

The Lounge is configured with optimal defaults for QuickBox integration:

Configuration & Application Files
/home/username
.config/TheLounge/
├── config.js# Main configuration file
├── users/
│ └── username.json# User account and network settings
├── logs/# Chat logs per channel
├── uploads/# User-uploaded files and images
└── packages/# Installed themes and plugins
Application & Service Files
/opt/username
TheLounge/# The Lounge application files
lib/
├── nodejs/TheLounge/.venv/# Node.js virtual environment
└── python/TheLounge/.venv/# Python virtual environment

Configuration File

The Lounge’s configuration is stored in /home/username/.config/TheLounge/config.js:

// QuickBox automatically configures these settings: host: "127.0.0.1", // Listen on localhost only port: 9000, // Internal port (proxied via nginx) reverseProxy: true, // Enable reverse proxy support baseUrl: "/uploads", // File upload base URL public: false, // Require authentication prefetch: true, // Preview URLs in messages prefetchStorage: true, // Store previews fileUpload: true, // Enable file uploads maxHistory: 10000, // Message history limit per channel

Advanced Configuration

Customize message history limit:

# Edit config file nano /home/username/.config/TheLounge/config.js # Find and modify: maxHistory: 10000, // Increase for more history # Restart service systemctl restart thelounge@username

Enable/disable file uploads:

# Edit config file nano /home/username/.config/TheLounge/config.js # Find and modify: fileUpload: true, // Set to false to disable # Restart service systemctl restart thelounge@username

Change themes:

  1. Access The Lounge web interface
  2. Click Settings (gear icon)
  3. Select Appearance tab
  4. Choose from available themes
  5. Changes save automatically

Service Management

The Lounge runs as a per-user systemd service with security sandboxing:

Basic Service Commands

Check service status:

systemctl status thelounge@username

Start service:

systemctl start thelounge@username

Stop service:

systemctl stop thelounge@username

Restart service:

systemctl restart thelounge@username

Enable service (start on boot):

systemctl enable thelounge@username

Disable service:

systemctl disable thelounge@username

Viewing Logs

View service logs:

journalctl -u thelounge@username -f

View application logs:

tail -f /home/username/.config/TheLounge/logs/*.log

Check last 100 log entries:

journalctl -u thelounge@username -n 100

Service Configuration

The systemd service includes security features:

# /etc/systemd/system/thelounge@username.service [Service] User=username Group=username Type=simple # Environment variables Environment="TMPDIR=/home/username/tmp/TheLounge" Environment="THELOUNGE_HOME=/home/username/.config/TheLounge" # Security hardening ProtectSystem=yes NoNewPrivileges=yes PrivateTmp=yes

Features

Core Features

💬 Multi-Network Support

Connect to multiple IRC networks simultaneously with independent configurations

🔍 Message Search

Full-text search across all channels and conversations with instant results

📸 Image Previews

Automatic thumbnail generation for images with click-to-expand functionality

🔗 Link Previews

Rich previews for URLs with metadata, images, and descriptions

📋 Channel List

Browse available channels on networks with user counts and topics

🎤 Audio Notifications

Custom sound alerts for mentions, messages, and connection events

⌨️ Keyboard Shortcuts

Efficient navigation with comprehensive keyboard shortcut support

🌙 Dark/Light Themes

Multiple built-in themes including dark mode for comfortable viewing

Advanced Features

Message Formatting:

  • Markdown support for bold, italic, and code
  • IRC color codes and formatting
  • Emoji support with autocomplete
  • Code block syntax highlighting

File Sharing:

  • Drag-and-drop file uploads
  • Image paste from clipboard
  • Automatic thumbnail generation
  • Direct file links for sharing

User Experience:

  • Infinite scroll for message history
  • Unread message indicators
  • Desktop notifications via browser
  • Mobile-optimized touch interface

When to Use The Lounge

Symptoms

  • Need IRC access from multiple devices without client installation
  • Want persistent IRC connections without running desktop client 24/7
  • Require message history and backlog storage
  • Need file sharing capabilities in IRC conversations
  • Want modern web interface with mobile responsiveness
  • Prefer browser-based access over dedicated applications
  • Need push notifications for IRC activity

Resolution

  • Install The Lounge on QuickBox for web-based access from any device
  • Node.js daemon maintains persistent IRC connections 24/7
  • Complete message backlog stored with full-text search
  • Built-in file upload system with drag-and-drop support
  • Responsive design works perfectly on desktop, tablet, and mobile
  • Access via HTTPS through browser—no client installation needed
  • Browser push notifications for highlights and private messages

The Lounge vs Quassel

The Lounge provides web-based access without requiring client installation, making it ideal for accessing IRC from any device. Quassel IRC offers a more feature-rich desktop client experience with better performance for power users. Choose The Lounge for convenience, Quassel for advanced features.


Troubleshooting

Common Issues & Solutions

Check Logs First

Most issues can be diagnosed by checking systemd logs with journalctl -u thelounge@username -n 100. Always review logs before making configuration changes.

Service Won’t Start

Symptoms: systemctl start thelounge@username fails or service immediately stops

Solutions:

  1. Check service status: systemctl status thelounge@username
  2. Review logs: journalctl -u thelounge@username -n 50
  3. Verify Node.js environment: ls -la /opt/username/lib/nodejs/TheLounge/.venv/
  4. Check permissions: ls -la /home/username/.config/TheLounge/
  5. Reinstall if corrupted: qb reinstall thelounge -u username

Cannot Access Web Interface

Symptoms: Browser shows connection refused or timeout errors

Solutions:

  1. Verify service is running: systemctl is-active thelounge@username
  2. Check port is listening: ss -tlnp | grep 9000
  3. Test nginx proxy: nginx -t && systemctl reload nginx
  4. Verify nginx config: cat /etc/nginx/software/thelounge.conf
  5. Check firewall rules: ufw status

Login Fails

Symptoms: Incorrect username or password error

Solutions:

  1. Verify username matches QuickBox account
  2. Reset password via The Lounge CLI:
export THELOUNGE_HOME="/home/username/.config/TheLounge" /usr/bin/thelounge reset username
  1. Check user file exists: ls -la /home/username/.config/TheLounge/users/
  2. Reinstall to regenerate user: qb reinstall thelounge -u username

IRC Connection Issues

Symptoms: Cannot connect to IRC networks, timeout errors

Solutions:

  1. Verify network settings in The Lounge interface
  2. Check server address and port are correct
  3. Enable SSL/TLS for secure connections (port 6697)
  4. Test connection manually: telnet irc.libera.chat 6697
  5. Check firewall allows outbound IRC connections

File Uploads Not Working

Symptoms: Upload fails or files not accessible

Solutions:

  1. Verify upload directory exists: ls -la /home/username/.config/TheLounge/uploads/
  2. Check permissions: chown username:username -R /home/username/.config/TheLounge/uploads/
  3. Verify nginx config has upload path: cat /etc/nginx/software/thelounge.conf
  4. Check fileUpload enabled in config.js
  5. Restart nginx: systemctl reload nginx

Best Practices

Do

  • Use strong, unique passwords for your The Lounge account
  • Enable SSL/TLS (port 6697) for IRC network connections
  • Regularly backup ~/.config/TheLounge/ directory
  • Monitor disk usage as message history grows over time
  • Use browser push notifications for important messages
  • Configure auto-join for frequently used channels
  • Set appropriate maxHistory limit based on available storage
  • Keep The Lounge updated via qb update command

Don't

  • Don't expose The Lounge port directly—always use nginx reverse proxy
  • Don't share your login credentials with other users
  • Don't disable authentication (public: false) on public servers
  • Don't ignore systemd service failures—investigate with journalctl
  • Don't manually edit user JSON files while service is running
  • Don't delete uploads directory—breaks file sharing functionality
  • Don't run The Lounge as root user—let QuickBox manage permissions
  • Don't forget to backup before major updates or system changes

Security Recommendations

  • Access Control: Always use strong passwords and enable HTTPS
  • Network Security: Use SSL/TLS for IRC connections to prevent eavesdropping
  • File Uploads: Regularly review uploads directory for malicious files
  • Updates: Keep The Lounge updated to receive security patches
  • Monitoring: Monitor systemd logs for suspicious authentication attempts

Additional Resources


The Lounge works well alongside these QuickBox Pro communication tools:

🔐

Security Tools

📊

Monitoring


QuickBox Integration

The Lounge integrates seamlessly with QuickBox Pro:

  • Dashboard Widget: Monitor The Lounge status from QuickBox dashboard
  • Single Sign-On: Uses QuickBox credentials for authentication
  • Automatic Backups: Configuration backed up during updates
  • Service Monitoring: Health checks and automatic restart on failure
  • Database Tracking: Version and port information stored in QuickBox database
  • Nginx Integration: Automatic reverse proxy configuration with SSL support
  • Per-User Isolation: Each user gets independent The Lounge instance

Support & Community

Need help with The Lounge? The QuickBox community is here to help!

QuickBox Pro Support

QuickBox Pro users receive priority support for The Lounge installation, configuration, and troubleshooting through Discord and the ticket system. Join our Discord for real-time assistance!

Getting Help


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server