From a0c1a52d240299833f8f8788d095a488777bc26b Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Fri, 30 Aug 2013 00:57:40 +0100 Subject: [PATCH] Initial commit --- Dockerfile | 21 +++++++++++++++++++++ start-znc | 31 +++++++++++++++++++++++++++++++ znc.conf.default | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 Dockerfile create mode 100755 start-znc create mode 100644 znc.conf.default diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8783591 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# version 0.0.1 +# docker-version 0.6.1 +from ubuntu:12.04 +maintainer Jim Myhrberg "contact@jimeh.me" + +# Make sure the package repository is up to date. +run echo "deb http://archive.ubuntu.com/ubuntu precise-backports universe" >> /etc/apt/sources.list +run apt-get update + + +# Let's do this... +run apt-get install -y znc/precise-backports znc-dbg/precise-backports znc-dev/precise-backports znc-extra/precise-backports znc-perl/precise-backports znc-python/precise-backports znc-tcl/precise-backports && apt-get clean + +run useradd znc +add start-znc /usr/local/bin/ +add znc.conf.default /src/ + +user znc +expose 6667 +entrypoint ["/usr/local/bin/start-znc"] +cmd [""] diff --git a/start-znc b/start-znc new file mode 100755 index 0000000..45f0fff --- /dev/null +++ b/start-znc @@ -0,0 +1,31 @@ +#! /usr/bin/env bash + +# Options. +DATADIR="/znc-data" + +# Build modules from source. +if [ -d "${DATADIR}/modules" ]; then + # Store current directory. + cwd="$(pwd)" + + # Find module sources. + modules=$(find "${DATADIR}/modules" -name "*.cpp") + + # Build modules. + for module in $modules; do + cd "$(dirname "$module")" + znc-buildmod "$module" + done + + # Go back to original directory. + cd "$cwd" +fi + +# Create default config if it doesn't exist +if [ ! -f "${DATADIR}/configs/znc.conf" ]; then + mkdir -p "${DATADIR}/configs" + cp /src/znc.conf.default "${DATADIR}/configs/znc.conf" +fi + +# Start ZNC. +exec znc --foreground --datadir="$DATADIR" $@ diff --git a/znc.conf.default b/znc.conf.default new file mode 100644 index 0000000..a136741 --- /dev/null +++ b/znc.conf.default @@ -0,0 +1,32 @@ +// WARNING +// +// Do NOT edit this file while ZNC is running! +// Use webadmin or *controlpanel instead. +// +// Buf if you feel risky, you might want to read help on /znc saveconfig and /znc rehash. +// Also check http://en.znc.in/wiki/Configuration + +Version = 1.0 + + Port = 6667 + IPv4 = true + IPv6 = true + SSL = false + +LoadModule = webadmin + + + Pass = sha256#0ff9dbecce6e6a60031937e471b4911c3c3b32e9545b7c2868c22152da4f109d#pvcfXcnF/BjsXVU:Z9;-# + Admin = true + Nick = admin + AltNick = admin_ + Ident = admin + RealName = Got ZNC? + Buffer = 50 + AutoClearChanBuffer = true + ChanModes = +stn + + LoadModule = chansaver + LoadModule = controlpanel + LoadModule = perform +