The Lounge: The self-hosted web IRC client
The Lounge is the perfect solution for you if you are looking for an "Always connected" and self-hosted IRC client.

The Lounge is the perfect solution for you if you are looking for an "Always connected" and self-hosted IRC client.

Installation
This application is available on GitHub and DockerHub and is super straight-forward to install.
On my side, I installed it using docker-compose. No worries, you can find well detailed package or Docker installation steps in their documentation.
First thing first, you need to create a folder for this project and put inside your docker-compose.yml file.
As you know, IRC provide features to get other user hostname or IP address very easily, for that reason, we are going to run it behind a VPN.
I will not get into details regarding the VPN part, if you need more details, read the article Routing Docker traffic through a VPN container.

The docker-compose.yml file is pretty simple to setup, you just need to map the config folder.
version: "3.2"
services:
vpn:
container_name: vpn-thelounge
image: dperson/openvpn-client:latest
restart: unless-stopped
networks:
default:
ipv4_address: 172.30.0.2
dns:
- 9.9.9.9
- 8.8.8.8
ports:
- 9000:9000
cap_add:
- NET_ADMIN
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
security_opt:
- label:disable
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Paris
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /home/thelazyfox/docker/thelounge/vpn/config:/vpn
command: '-f "" -r 172.30.0.2/24'
healthcheck:
test: ["CMD", "curl", "-Ss", "ifconfig.co"]
start_period: 5s
interval: 60s
timeout: 10s
retries: 3
thelounge:
container_name: thelounge
image: thelounge/thelounge:latest
restart: unless-stopped
depends_on:
- vpn
network_mode: "service:vpn"
environment:
- PUID=1026
- PGID=100
- TZ=Europe/Paris
volumes:
- /home/thelazyfox/docker/thelounge/config:/var/opt/thelounge
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.30.0.0/16
gateway: 172.30.0.255
Please remember to create all folders and files before trying to launch your docker-compose.
How does it look like on my server:
thelounge/
|_ docker-compose.yaml
|_ config/
|_ vpn/
|_ config/
And now, you just have to launch your docker-compose file with the following command cd thelounge && docker-compose up -d
Features
TheLounge is very easy to use and complete so I will let you discover all the features by yourself.
We can highlight as main capabilities:
- Push notifications
- File upload
- Always connected
- Responsive interface
- Multi user support
In case of trouble, their user administration doc is super complete - Themes management
TheLounge is currently integrated into Theme.park if you are looking for custom themes

If you still have some doubts, give a try to the demo client.
Conclusion
TheLounge is the best self-hosted IRC solution available from my point of view, easy to setup and configure. It's a must-have in your setup, go for it!
