Update ZNC to v1.6.1

And also restructure the Dockerfile a bit.
This commit is contained in:
2015-09-20 17:37:41 +01:00
parent 3dfefba576
commit 48fb699f4b
5 changed files with 51 additions and 70 deletions

View File

@@ -1,19 +1,33 @@
# version 1.4-1 # version 1.6.1-1
# docker-version 0.11.1 # docker-version 1.8.2
FROM ubuntu:12.04 FROM ubuntu:15.04
MAINTAINER Jim Myhrberg "contact@jimeh.me" MAINTAINER Jim Myhrberg "contact@jimeh.me"
# We use a bootstrap script to avoid having temporary cache files and build ENV ZNC_VERSION 1.6.1
# dependencies being committed and included into the docker image.
ADD bootstrap.sh /tmp/
RUN chmod +x /tmp/bootstrap.sh
RUN /tmp/bootstrap.sh
RUN useradd znc RUN apt-get update \
ADD start-znc /usr/local/bin/ && apt-get install -y sudo wget build-essential libssl-dev libperl-dev \
ADD znc.conf.default /src/ pkg-config swig3.0 libicu-dev \
RUN chmod 644 /src/znc.conf.default && mkdir -p /src \
&& cd /src \
&& wget "http://znc.in/releases/archive/znc-${ZNC_VERSION}.tar.gz" \
&& tar -zxf "znc-${ZNC_VERSION}.tar.gz" \
&& cd "znc-${ZNC_VERSION}" \
&& ./configure \
&& make \
&& make install \
&& apt-get remove -y wget \
&& apt-get autoremove -y \
&& apt-get clean \
&& rm -rf /src* /var/lib/apt/lists/* /tmp/* /var/tmp/*
EXPOSE 6667 RUN useradd znc
ENTRYPOINT ["/usr/local/bin/start-znc"] ADD docker-entrypoint.sh /entrypoint.sh
CMD [""] ADD znc.conf.default /znc.conf.default
RUN chmod 644 /znc.conf.default
VOLUME /znc-data
EXPOSE 6667
ENTRYPOINT ["/entrypoint.sh"]
CMD [""]

View File

@@ -11,8 +11,9 @@ Run the [ZNC](http://znc.in) IRC Bouncer in a Docker container.
## Running ## Running
To retain your ZNC settings between runs, you will need to bind a directory To retain your ZNC settings between runs, you'll most likely want to
from the host to `/znc-data` in the container. For example: bind a directory from the host to `/znc-data` in the container. For
example:
docker run -d -p 6667 -v $HOME/.znc:/znc-data jimeh/znc docker run -d -p 6667 -v $HOME/.znc:/znc-data jimeh/znc

View File

@@ -1,34 +0,0 @@
#! /usr/bin/env bash
set -e
# Config
ZNC_VERSION="1.4"
# Ensure package list is up to date.
apt-get update
# Install runtime dependencies.
apt-get install -y sudo
# Install build dependencies.
apt-get install -y wget build-essential libssl-dev libperl-dev pkg-config
# Prepare building
mkdir -p /src
# Download, compile and install ZNC.
cd /src
wget "http://znc.in/releases/archive/znc-${ZNC_VERSION}.tar.gz"
tar -zxf "znc-${ZNC_VERSION}.tar.gz"
cd "znc-${ZNC_VERSION}"
./configure && make && make install
# Clean up
apt-get remove -y wget
apt-get autoremove -y
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@@ -24,7 +24,7 @@ fi
# Create default config if it doesn't exist # Create default config if it doesn't exist
if [ ! -f "${DATADIR}/configs/znc.conf" ]; then if [ ! -f "${DATADIR}/configs/znc.conf" ]; then
mkdir -p "${DATADIR}/configs" mkdir -p "${DATADIR}/configs"
cp /src/znc.conf.default "${DATADIR}/configs/znc.conf" cp /znc.conf.default "${DATADIR}/configs/znc.conf"
fi fi
# Make sure $DATADIR is owned by znc user. This effects ownership of the # Make sure $DATADIR is owned by znc user. This effects ownership of the

View File

@@ -8,27 +8,27 @@
// But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash. // But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.
// Also check http://en.znc.in/wiki/Configuration // Also check http://en.znc.in/wiki/Configuration
Version = 1.4 Version = 1.6.1
<Listener l> <Listener l>
Port = 6667 Port = 6667
IPv4 = true IPv4 = true
IPv6 = true IPv6 = true
SSL = false SSL = false
</Listener> </Listener>
LoadModule = webadmin LoadModule = webadmin
<User admin> <User admin>
Pass = sha256#1b9a69be60544ae4a83147ebb04c4c1edc24dba4c62f8f25ef5603b06c264476#5zD6V:PYLf*jZcL8VbZY# Pass = sha256#00793765305dfc3e7bba28267fe9d9e2c721ebef4e20f3a89720265a89ee6a4f#N!lgZM8S.HZ4zH?)vFoW#
Admin = true Admin = true
Nick = admin Nick = admin
AltNick = admin_ AltNick = admin_
Ident = admin Ident = admin
RealName = Got ZNC? RealName = Got ZNC?
Buffer = 50 Buffer = 50
AutoClearChanBuffer = true AutoClearChanBuffer = true
ChanModes = +stn ChanModes = +stn
LoadModule = chansaver LoadModule = chansaver
LoadModule = controlpanel LoadModule = controlpanel
LoadModule = perform LoadModule = perform
</User> </User>