ZNC in a container
Go to file
2015-01-24 12:29:23 -08:00
crontab Add auto-generated channel stats [beta] 2015-01-23 23:37:24 -08:00
daemons.conf Add auto-generated channel stats [beta] 2015-01-23 23:37:24 -08:00
default Allow importing existing setups, add basic auth for nginx pisg files 2015-01-24 12:28:16 -08:00
Dockerfile fix pisg dir permissions 2015-01-24 00:21:46 -08:00
pisg.py Sort pisg outputs into user/network dirs 2015-01-24 00:35:58 -08:00
README.md Updated readme 2015-01-24 12:29:23 -08:00
start Allow importing existing setups, add basic auth for nginx pisg files 2015-01-24 12:28:16 -08:00

#Docker ZNC

Suitable for creating docker containers running ZNC. Now with pisg!

##Setup General steps:

  • Install docker
  • Clone this repo, cd in
  • Load it as a template: sudo docker build -t znc .
  • Start a new container: sudo docker run -it -p 666:22 -p 4421:4421 -p 80:80 znc /start
  • Configure znc
  • Find the new container in your list: sudo docker ps -a
  • Run it in the background: sudo docker start mycontainerid

When you first run the image, you'll be presented with two ways to configure znc:

###Set up a new znc instance

If no import of existing znc data is available, the znc configuration will run. Set it up as needed; the port znc listens on must be exposed in the command used to start the container (-p 4421:4421 above). The final question asks if you want to start znc, choose NO!!.

###Import an existing znc instance's configuration

You may migrate an existing ZNC instance into this container by providing a tarball of the source .znc directory. The tarball should contain the .znc directory, only, with everything inside it. The start script will prompt you to insert the .tar.gz file.

##Pisg

This container creates pisg-style channel statistics (example) for any ZNC users with the "log" module enabled. The stats are regenerated nightly and nginx serves the files on port 80 with a directory structure like this:

  • znc username
    • znc network name
      • #channelname.html

The channel information is private, nginx is configured with HTTP basic authentication; the password is prompted for during setup.

TODO

  • Ensure pisg cache files don't use too much disk space (/home/znc/pisg/cache)
    • If this is a problem, maybe tar/gz channel groups and extract when necessary when running pisg
  • Provide a way to make certain channel stat files public
  • Provide a way to share channel files with secret links
  • Provide all-time, yearly, and monthly pisg outputs
  • Compile provided ZNC modules into the image