
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 usernameInstall beta version:
qb install thelounge -u username --betaAutomatic 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:
- 🔧 Environment Setup - Installs NVM, Node.js 18.20.0, npm 10.5.0, and Python 3.11
- 📦 Virtual Environments - Creates isolated Python and Node.js environments
- 🏗️ Build Process - Downloads, compiles, and builds The Lounge from source
- ⚙️ Configuration - Generates config files with reverse proxy and SSL settings
- 👤 User Account - Creates The Lounge account using your QuickBox password
- 🔒 Service Setup - Configures systemd service with security sandboxing
- 🌐 Nginx Integration - Sets up reverse proxy with WebSocket support
- 💾 Automatic Backup - Creates initial configuration backup
CLI Commands
Basic Operations
| Command | Description |
|---|---|
qb install thelounge -u username | Install The Lounge with standard release |
qb install thelounge -u username --beta | Install The Lounge beta version |
qb reinstall thelounge -u username | Reinstall The Lounge (preserves configuration) |
qb update thelounge -u username | Update to latest version |
qb remove thelounge -u username | Remove The Lounge and clean up files |
qb help thelounge | Display comprehensive help information |
Usage Examples
Install stable version:
qb install thelounge -u myuserInstall beta version for testing:
qb install thelounge -u myuser --betaUpdate to latest version:
qb update thelounge -u myuserReinstall (fix corrupted installation while preserving data):
qb reinstall thelounge -u myuserRemove The Lounge:
qb remove thelounge -u myuserBeta 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:
| Method | URL Format | Notes |
|---|---|---|
| QuickBox Dashboard | Dashboard → Applications → The Lounge | Recommended method |
| Direct URL | https://yourserver.com/thelounge/ | Direct browser access |
| Mobile Browser | Same URL from mobile device | Responsive 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
- Click the ”+” button or “Add Network” in the sidebar
- 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- Click “Connect” to establish connection
Step 3: Join Channels
- Type
/join #channelin the input box - Or click a channel name if auto-join is configured
- Messages appear in real-time with persistent history
Common IRC Networks:
| Network | Server | Port (SSL) |
|---|---|---|
| Libera.Chat | irc.libera.chat | 6697 |
| OFTC | irc.oftc.net | 6697 |
| Freenode | irc.freenode.net | 6697 |
| IRCnet | irc.ircnet.com | 6697 |
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 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 channelAdvanced 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@usernameEnable/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@usernameChange themes:
- Access The Lounge web interface
- Click Settings (gear icon)
- Select Appearance tab
- Choose from available themes
- 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@usernameStart service:
systemctl start thelounge@usernameStop service:
systemctl stop thelounge@usernameRestart service:
systemctl restart thelounge@usernameEnable service (start on boot):
systemctl enable thelounge@usernameDisable service:
systemctl disable thelounge@usernameViewing Logs
View service logs:
journalctl -u thelounge@username -fView application logs:
tail -f /home/username/.config/TheLounge/logs/*.logCheck last 100 log entries:
journalctl -u thelounge@username -n 100Service 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=yesFeatures
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:
- Check service status:
systemctl status thelounge@username - Review logs:
journalctl -u thelounge@username -n 50 - Verify Node.js environment:
ls -la /opt/username/lib/nodejs/TheLounge/.venv/ - Check permissions:
ls -la /home/username/.config/TheLounge/ - Reinstall if corrupted:
qb reinstall thelounge -u username
Cannot Access Web Interface
Symptoms: Browser shows connection refused or timeout errors
Solutions:
- Verify service is running:
systemctl is-active thelounge@username - Check port is listening:
ss -tlnp | grep 9000 - Test nginx proxy:
nginx -t && systemctl reload nginx - Verify nginx config:
cat /etc/nginx/software/thelounge.conf - Check firewall rules:
ufw status
Login Fails
Symptoms: Incorrect username or password error
Solutions:
- Verify username matches QuickBox account
- Reset password via The Lounge CLI:
export THELOUNGE_HOME="/home/username/.config/TheLounge"
/usr/bin/thelounge reset username- Check user file exists:
ls -la /home/username/.config/TheLounge/users/ - Reinstall to regenerate user:
qb reinstall thelounge -u username
IRC Connection Issues
Symptoms: Cannot connect to IRC networks, timeout errors
Solutions:
- Verify network settings in The Lounge interface
- Check server address and port are correct
- Enable SSL/TLS for secure connections (port 6697)
- Test connection manually:
telnet irc.libera.chat 6697 - Check firewall allows outbound IRC connections
File Uploads Not Working
Symptoms: Upload fails or files not accessible
Solutions:
- Verify upload directory exists:
ls -la /home/username/.config/TheLounge/uploads/ - Check permissions:
chown username:username -R /home/username/.config/TheLounge/uploads/ - Verify nginx config has upload path:
cat /etc/nginx/software/thelounge.conf - Check fileUpload enabled in config.js
- 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
Related Applications
The Lounge works well alongside these QuickBox Pro communication tools:
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.