⚠️ This is a FORK of the official The Lounge Docker image
This repository contains a Docker image for @lordbex/thelounge, which is a fork of The Lounge with added Blowfish encryption support.
Original Website • Original Docs • Original Demo
Fork Repository • Fork Package
- Modern features brought to IRC. Push notifications, link previews, new message markers, and more bring IRC to the 21st century.
- 🔐 Blowfish encryption support. This fork adds support for Blowfish encrypted channels and private messages.
- Always connected. Remains connected to IRC servers while you are offline.
- Cross platform. It doesn't matter what OS you use, it just works wherever Node.js runs.
- Responsive interface. The client works smoothly on every desktop, smartphone and tablet.
- Synchronized experience. Always resume where you left off no matter what device.
- Blowfish encryption: Support for encrypted IRC communication using Blowfish cipher
- Based on The Lounge: Maintains all original features and compatibility
- Regular updates: Follows upstream releases with added Blowfish functionality
To learn more about configuration, usage and features of The Lounge, take a look at the website.
For Blowfish-specific features, see the fork repository.
Images for this Blowfish fork are available in the following registries:
One can get started quickly by using the example docker-compose.yml file. What is docker-compose?
$ docker compose up --detachor starting a container manually:
$ docker run --detach \
--name thelounge \
--publish 9000:9000 \
--volume thelounge:/var/opt/thelounge \
--restart always \
ghcr.io/lordbex/thelounge:latest
The container is setup to use an unprivileged user (node).
You can directly issue thelounge commands as follows:
$ docker exec -it [container_name] thelounge help
Since root permissions are dropped in the container the default port 113 can not be used as it is within the priviliged port range. Instead, use a higher port in your The Lounge identd configuration and map it back to 113 on your host system, for example like so:
$ docker run --detach \
--name thelounge \
--publish 113:9001 \
--publish 9000:9000 \
--volume thelounge:/var/opt/thelounge \
--restart always \
ghcr.io/lordbex/thelounge:latest
Refer to the identd / oidentd docs for more detailed information.
The Lounge reads and stores all of its configuration, logs and other data at /var/opt/thelounge.
By default, The Lounge will run using the node (1000:1000) system user in the container, meaning volume contents must be owned by said user.
You will probably want to persist the data at this location by using one of the means to do so.
Users can be added as follows:
$ docker exec -it [container_name] thelounge add [username]Note: without persisting data, added users will be lost when the container is removed.
To change the port which The Lounge will be available on, one will have to change the host port in the port mapping. To make The Lounge available on e.g. port 5000:
$ docker run --detach \
--name thelounge \
--publish 5000:9000 \ # Change host port to listen on port 5000
--volume thelounge:/var/opt/thelounge \
--restart always \
ghcr.io/lordbex/thelounge:latestBy default, The Lounge will run using the node (1000:1000) user. This is customizable by running the container as a different, non-root, user.
Beware that this may cause permission issues when a container process tries reading from the data disk unless you have manually set the permissions correctly.
Also keep in mind that whenever executing one-off commands in the container you need to explicitly set the correct user.
