docker-quassel-irc

Quassel IRC is a modern, cross-platform, distributed IRC program, where multiple clients can attach to and detach from a central core. This is a docker image that eases setup.

Usage

Docker Compose

From the directory where docker-compose.yml is located, run:

docker-compose up -d

SSL certificate

Quassel IRC requires the private key and full (public) keychain be concatenated into a single file. See ./install-ssl-cert.sh for details.

On certificate renewal, QuasselIRC (<= 0.12.4) must be restarted for it to be used. The next version is likely to feature a signal trap allowing for online certificate reload.

Backup and restore

Based on the Managing data in containers part of the Docker Documentation:

docker run --volumes-from quassel_data_X -v $(pwd):/backup busybox tar cvf /backup/quassel_data_X.tar /var/lib/quassel
docker run --volumes-from quassel_data_Y -v $(pwd):/backup busybox tar xvf /backup/quasse_data_X.tar

Notes on permissions

Files in volumes share the owner uid/guid with the host system, so these must match with the user inside the container. Run a new container from the same image and inspect a file with ln -ln in /tmp created with the current user to find out the uid/guid.

TODO

  • Give Quassel IRC docker container proper read access to LetsEncrypt SSL certs from host.
  • Figure out, and document how SSL certificate updates should be handled.