ngircd: Add an ngIRCd image
[dockerfile.git] / ngircd / Dockerfile.template
1 # Copyright (C) 2014 W. Trevor King <wking@tremily.us>
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are met:
5 #
6 # * Redistributions of source code must retain the above copyright notice, this
7 # list of conditions and the following disclaimer.
8 #
9 # * Redistributions in binary form must reproduce the above copyright notice,
10 # this list of conditions and the following disclaimer in the documentation
11 # and/or other materials provided with the distribution.
12 #
13 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
14 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
17 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
23 # POSSIBILITY OF SUCH DAMAGE.
24
25 FROM ${NAMESPACE}/gentoo-syslog:${TAG}
26 MAINTAINER ${MAINTAINER}
27 #VOLUME ["${PORTAGE}:/usr/portage:ro", "${PORTAGE}/distfiles:/usr/portage/distfiles:rw"]
28 RUN echo 'net-irc/ngircd ~amd64' >> /etc/portage/package.accept_keywords
29 RUN emerge -v net-irc/ngircd
30 RUN eselect news read new
31 RUN rc-update add ngircd default
32
33 RUN sed -i 's/;Listen = 127.0.0.1,192.168.0.1/Listen = ::,0.0.0.0/' /etc/ngircd/ngircd.conf
34 RUN sed -i 's/;PAM = yes/PAM = no/' /etc/ngircd/ngircd.conf
35 RUN sed -i 's/;SyslogFacility = local1/SyslogFacility = daemon/' /etc/ngircd/ngircd.conf
36 RUN sed -i 's|^\([[:space:]]*\)\(need net\)$|\1\2\n\1use logger|' /etc/init.d/ngircd
37 ADD setup-ngircd-config-from-environment.sh /usr/bin/setup-ngircd-config-from-environment
38 RUN sed -i 's/Name = irc.example.net/Name = ${HOSTNAME}/' /etc/ngircd/ngircd.conf
39 RUN sed -i 's/;AdminInfo1 = Description/AdminInfo1 = ${DESCRIPTION}/' /etc/ngircd/ngircd.conf
40 RUN sed -i 's/;AdminInfo2 = Location/AdminInfo2 = ${LOCATION}/' /etc/ngircd/ngircd.conf
41 RUN sed -i 's/;AdminEMail = admin@irc.server/AdminEMail = ${EMAIL}/' /etc/ngircd/ngircd.conf
42 RUN sed -i 's/Info = Server Info Text/Info = ${INFO}/' /etc/ngircd/ngircd.conf
43
44 # Container networking happens automatically
45 RUN sed -i 's/need net$/use net/' /etc/init.d/*
46
47 CMD setup-ngircd-config-from-environment && rc default && tail -F /var/log/messages
48 EXPOSE 6667