mirror of
https://github.com/jimeh/docker-znc.git
synced 2026-02-19 01:46:42 +00:00
Update ZNC to v1.6.1
And also restructure the Dockerfile a bit.
This commit is contained in:
46
Dockerfile
46
Dockerfile
@@ -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 [""]
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
34
bootstrap.sh
34
bootstrap.sh
@@ -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/*
|
|
||||||
@@ -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
|
||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user