diff --git a/00-base/Dockerfile b/00-base/Dockerfile index f3dd463..8c6959b 100644 --- a/00-base/Dockerfile +++ b/00-base/Dockerfile @@ -1,52 +1,54 @@ FROM centos:centos7 MAINTAINER Jeroen van Meeuwen # This should really be a part of the base image. RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # To speed things up, disable fastestmirror. RUN sed -r -i \ -e 's/^enabled.*$/enabled = 0/g' \ /etc/yum/pluginconf.d/fastestmirror.conf # Add EPEL. RUN yum -y install epel-release && \ yum clean all # Add the EPEL key. RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 # Add the Kolab:Development repository. ADD http://obs.kolabsys.com/repositories/Kolab:/Development/CentOS_7/Kolab:Development.repo \ /etc/yum.repos.d/Kolab:Development.repo # Give the Kolab:Development repository priority over everything else. RUN echo "priority=60" >> /etc/yum.repos.d/Kolab:Development.repo # Add the Kolab:Development key. RUN rpm --import https://ssl.kolabsys.com/community.asc # Make YUM obey priorities configured. RUN yum -y install yum-plugin-priorities && \ yum clean all # Install some debugging utilities. RUN yum -y install \ bind-utils \ cyrus-imapd \ + cyrus-sasl-plain \ + git \ lsof \ net-tools \ nmap-ncat \ openldap-clients \ psmisc \ strace \ telnet \ traceroute \ vim-enhanced && \ yum clean all ADD /functions.sh /functions.sh ADD /entrypoint.sh /entrypoint.sh RUN chmod a+x /entrypoint.sh ENTRYPOINT [ "/entrypoint.sh" ] diff --git a/01-base-nodejs/Dockerfile b/01-base-nodejs/Dockerfile index 803bce1..aa5fd8f 100644 --- a/01-base-nodejs/Dockerfile +++ b/01-base-nodejs/Dockerfile @@ -1,47 +1,46 @@ FROM kolab/base:latest ENV NODE_VERSION=0.12.8 #RUN yum -y install \ # bzip2 \ # gcc-c++ \ # git \ # libjpeg-turbo-utils \ # libpng-devel \ # make \ # tar \ # wget && \ # yum clean all # #RUN cd /tmp && \ # wget http://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}.tar.gz && \ # tar zxvf node-v${NODE_VERSION}.tar.gz && \ # rm -f node-v${NODE_VERSION}.tar.gz && \ # cd node-v${NODE_VERSION}/ && \ # ./configure --prefix=/usr && \ # CXX="g++ -Wno-unused-local-typedefs" make && \ # CXX="g++ -Wno-unused-local-typedefs" make install && \ # cd /tmp && \ # rm -rf /tmp/node-v* && \ # npm config set registry http://registry.npmjs.org/ && \ # npm install --verbose -g bower ember-cli npm && \ # rm -rf /root/.npm/ && \ # printf '\n# Node.js\nexport PATH="node_modules/.bin:$PATH"' >> /root/.bashrc RUN yum -y install \ - git \ libjpeg-turbo-utils \ libpng-devel \ nodejs \ npm \ tar && \ yum clean all RUN npm config set registry http://registry.npmjs.org/ RUN npm update --verbose -g \ node-gyp \ npm && \ npm install --verbose -g \ bower && \ rm -rf /root/.npm/ diff --git a/03-guam/Dockerfile b/03-guam/Dockerfile index cf57806..cde91c7 100644 --- a/03-guam/Dockerfile +++ b/03-guam/Dockerfile @@ -1,16 +1,49 @@ FROM kolab/base:latest -RUN yum -y install guam && \ +ENV GUAM_BRANCH master + +RUN yum -y install \ + erlang-eimap \ + erlang-erts \ + erlang-goldrush \ + erlang-lager \ + erlang-rebar \ + make && \ yum clean all +RUN git clone \ + -b ${GUAM_BRANCH} \ + https://git.kolab.org/diffusion/G/guam.git \ + /root/guam.git + +WORKDIR /root/guam.git/ + +RUN timeout 60s rebar get-deps +RUN timeout 60s rebar compile +RUN timeout 60s rebar eunit +RUN mkdir -p deps + +WORKDIR /root/guam.git/rel/ + +RUN timeout 60s rebar generate + +WORKDIR /root/guam.git/ + ADD /entrypoint.sh /entrypoint.sh RUN chmod a+x /entrypoint.sh -ADD /sys.config /etc/guam/sys.config +RUN mkdir -p \ + /etc/guam/ && \ + mv -v \ + $(ls -1d /root/guam.git/rel/kolab_guam/releases/*/)/sys.config \ + /etc/guam/sys.config && \ + ln -s \ + /etc/guam/sys.config \ + $(ls -1d /root/guam.git/rel/kolab_guam/releases/*/)/. EXPOSE 143 993 CMD [ \ - "/usr/sbin/guam", \ + "rel/kolab_guam/bin/kolab_guam", \ "foreground" \ ] diff --git a/03-guam/entrypoint.sh b/03-guam/entrypoint.sh index ebac8a8..ca740db 100755 --- a/03-guam/entrypoint.sh +++ b/03-guam/entrypoint.sh @@ -1,19 +1,21 @@ #!/bin/bash . /functions.sh check_var \ KOLAB_IMAPF_EXT_SERVICE_HOST \ || exit 1 if [ ! -f "/etc/pki/tls/private/localhost.pem" ]; then pushd /etc/pki/tls/certs/ ./make-dummy-cert ../private/localhost.pem popd fi sed -r -i \ -e "s/host, \"127\.0\.0\.1\"/host, \"${KOLAB_IMAPF_EXT_SERVICE_HOST}\"/g" \ + -e "s/port, 9143/port, 143/g" \ + -e "s/port, 9993/port, 993/g" \ /etc/guam/sys.config $@ diff --git a/03-jmap-proxy/Dockerfile b/03-jmap-proxy/Dockerfile index 25e2b8f..b4d4ce9 100644 --- a/03-jmap-proxy/Dockerfile +++ b/03-jmap-proxy/Dockerfile @@ -1,102 +1,101 @@ FROM docker.io/library/centos:centos7 MAINTAINER Jeroen van Meeuwen (Kolab Systems) RUN yum -y install epel-release && \ yum -y install \ @fedora-packager \ gcc \ - git \ libuuid-devel \ net-tools \ nginx \ perl-AnyEvent-HTTP \ perl-Archive-Tar \ perl-CPAN \ perl-CPAN-Meta \ perl-CPAN-Meta-Requirements \ perl-CPAN-Meta-YAML \ perl-Data-UUID \ perl-DateTime \ perl-DBD-SQLite \ perl-DBI \ perl-Email-Address \ perl-Email-MIME \ perl-ExtUtils-CBuilder \ perl-ExtUtils-MakeMaker \ perl-HTML-Parser \ perl-HTML-Strip \ perl-HTTP-Tiny \ perl-Image-Size \ perl-IO-Socket-SSL \ perl-JSON \ perl-JSON-PP \ perl-JSON-XS \ perl-Locale-Maketext-Gettext \ perl-Object-Event \ perl-Parse-CPAN-Meta \ perl-Switch \ screen \ vim-enhanced RUN ( sleep 1; \ echo "yes"; \ ) | perl -MCPAN -e shell || : ADD bashrc /root/.bashrc WORKDIR /srv/ RUN git clone https://github.com/jmapio/jmap-perl.git jmap-perl.git WORKDIR /srv/jmap-perl.git RUN echo notest install $(grep -r "^use " bin/ Email/ JMAP/ Mail/ AnyEvent/ | awk '{print $2}' | sed -re 's/;$//g' | sort -u | grep -vE "(base|constant|lib|strict|warnings)") | perl -MCPAN -e shell || : RUN ( echo "notest install CPAN" ) | perl -MCPAN -e shell RUN ( echo "notest install List::Pairwise" ) | perl -MCPAN -e shell WORKDIR /srv/ RUN git clone https://github.com/CindyLinz/Perl-AnyEvent-HTTPD-SendMultiHeaderPatch.git Perl-AnyEvent-HTTPD-SendMultiHeaderPatch.git WORKDIR /srv/Perl-AnyEvent-HTTPD-SendMultiHeaderPatch.git RUN perl Makefile.PL && \ make && \ make install WORKDIR /srv/ RUN git clone https://github.com/fastmail/Net-CardDAVTalk.git Net-CardDAVTalk.git WORKDIR /srv/Net-CardDAVTalk.git RUN perl Makefile.PL && \ make && \ make install WORKDIR /srv/jmap-perl.git RUN echo notest install $(grep -r "^use " bin/ Email/ JMAP/ Mail/ AnyEvent/ | awk '{print $2}' | sed -re 's/;$//g' | sort -u | grep -vE "(base|constant|lib|strict|warnings)") | perl -MCPAN -e shell || : ADD nginx.conf /etc/nginx/nginx.conf ADD http://cgit.kolab.org/docker/plain/ci/files.d/dbus.service /etc/systemd/system/dbus.service RUN ln -sf dbus.service /etc/systemd/system/messagebus.service ADD http://cgit.kolab.org/docker/plain/ci/files.d/httpd.service /etc/systemd/system/httpd.service ADD http://cgit.kolab.org/docker/plain/ci/files.d/systemctl /usr/bin/systemctl ADD http://cgit.kolab.org/docker/plain/ci/files.d/systemctl-socket-daemon /usr/bin/systemctl-socket-daemon RUN chmod -v a+rx \ /usr/bin/systemctl \ /usr/bin/systemctl-socket-daemon WORKDIR /root/ RUN mkdir -p /home/jmap/data/ && ln -s /srv/jmap-perl.git/ /home/jmap/jmap-perl RUN sed -i -e 's/https:/http:/g' /srv/jmap-perl.git/bin/server.pl RUN rm -rf \ /srv/Perl-AnyEvent-HTTPD-SendMultiHeaderPatch.git \ /srv/Net-CardDAVTalk.git \ /root/.cpan EXPOSE 80 ENV jmaphost 172.17.42.1 ADD entrypoint.sh /root/entrypoint.sh RUN chmod 755 /root/entrypoint.sh ENTRYPOINT /root/entrypoint.sh