Estimated reading time: 3 minutes

ZNC - An advanced IRC bouncer

GitHub repo: https://github.com/znc/znc-docker

Library reference

This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Hub page for this image at https://hub.docker.com/images/znc

Supported tags and respective Dockerfile links

Quick reference

What is ZNC?

ZNC is an IRC network bouncer (BNC). It can detach the client from the actual IRC server, and also from selected channels. Multiple clients from different locations can connect to a single ZNC account simultaneously and therefore appear under the same nickname on IRC.


ZNC Wiki

How to use this image

ZNC in this image stores its configuration in /znc-data. If you have existing configuration, you can reuse it with -v $HOME/.znc:/znc-data. Alternatively, you can create a new config in a volume or in a local dir. The examples below assumes a volume named znc-cfg.

$ docker run -it -v znc-cfg:/znc-data znc --makeconf

To run ZNC:

$ docker run -p 6697:6697 -v znc-cfg:/znc-data znc

The port should match the port you used during --makeconf. Note that 6667 is often blocked by web browsers, and therefore is not recommended.

If you use any external module, put the .cpp, .py or .pm file to /znc-data/modules (you may need to create that directory).

Musl silently doesn’t support AI_ADDRCONFIG yet, and ZNC doesn’t support Happy Eyeballs yet. Together they cause very slow connection. So for now IPv6 is disabled here.

This image contains the latest released version. If you want the bleeding edge (unstable) version, it’s at zncbouncer/znc-git.

Image Variants

The znc images come in many flavors, each designed for a specific use case.


This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.


This image is smaller, but it doesn’t support external modules. If you need any external C++, Perl or Python module, use latest instead of slim.


View license information for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in the repo-info repository’s znc/ directory.

As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

library, sample, znc