Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F223411
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/docker/imap/Dockerfile b/docker/imap/Dockerfile
index 58021a20..6ebfed80 100644
--- a/docker/imap/Dockerfile
+++ b/docker/imap/Dockerfile
@@ -1,110 +1,106 @@
FROM almalinux:8
LABEL maintainer="contact@apheleia-it.ch"
LABEL dist=centos8
LABEL tier=${TIER}
ENV DISTRO=centos8
-ENV LANG=en_US.utf8
-ENV LC_ALL=en_US.utf8
+# ENV LANG=en_US.utf8
+# ENV LC_ALL=en_US.utf8
# Add EPEL.
RUN dnf -y install dnf-plugin-config-manager && \
dnf config-manager --set-enabled powertools && \
dnf -y install epel-release && \
dnf -y module enable 389-ds:1.4/default && \
dnf -y module enable mariadb:10.3 && \
dnf -y install iputils vim-enhanced bind-utils && \
dnf clean all
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
# Install kolab
RUN rpm --import https://mirror.apheleia-it.ch/repos/Kolab:/16/key.asc && \
rpm -Uvh https://mirror.apheleia-it.ch/repos/Kolab:/16/kolab-16-for-el8.rpm
RUN sed -i -e '/^ssl/d' /etc/yum.repos.d/kolab*.repo && \
dnf config-manager --enable kolab-16-testing &&\
dnf -y --setopt tsflags= install patch &&\
dnf clean all
RUN sed -i -r -e 's/^SELINUX=.*$/SELINUX=permissive/g' /etc/selinux/config 2>/dev/null || :
WORKDIR /root/
RUN dnf -y install git
RUN dnf -y group install "Development Tools"
RUN git clone https://github.com/cmollekopf/cyrus-imapd
RUN dnf -y install autoconf automake bison cyrus-sasl-devel flex gcc gperf jansson-devel libbsd-devel libtool libicu-devel libuuid-devel openssl-devel pkgconfig sqlite-devel brotli-devel libical-devel libxml2-devel libnghttp2-devel shapelib zlib-devel pcre-devel
RUN dnf -y install perl-devel
RUN dnf -y install cyrus-imapd cyrus-sasl cyrus-sasl-plain
# wslay-devel
#libchardet-devel
# cld2-devel
#
RUN cd cyrus-imapd && \
git checkout dev/kolab-3.6 && \
autoreconf -i && \
./configure CFLAGS="-W -Wno-unused-parameter -g -O0 -Wall -Wextra -Werror -fPIC" --enable-murder --enable-http --enable-calalarmd --enable-autocreate --enable-idled --with-openssl=yes --enable-replication --prefix=/usr && \
make -j6 && \
make install
RUN dnf -y install procps-ng iputils bind-utils sudo rsyslog
COPY cyrus.conf /etc/cyrus.conf
COPY imapd.conf /etc/imapd.conf
COPY imapd.annotations.conf /etc/imapd.annotations.conf
COPY saslauthd.conf /etc/saslauthd.conf
COPY rsyslog.conf /etc/rsyslog.conf
ARG IMAP_ADMIN_LOGIN
ARG IMAP_ADMIN_PASSWORD
RUN sed -i -r \
-e "s|IMAP_ADMIN_LOGIN|$IMAP_ADMIN_LOGIN|g" \
-e "s|IMAP_ADMIN_PASSWORD|$IMAP_ADMIN_PASSWORD|g" \
/etc/imapd.conf
ARG APP_DOMAIN
RUN sed -i -r \
-e "s|APP_DOMAIN|$APP_DOMAIN|g" \
/etc/saslauthd.conf
ADD kolab.hosted.com.cert /etc/pki/tls/certs/kolab.hosted.com.cert
ADD kolab.hosted.com.chain.pem /etc/pki/tls/certs/kolab.hosted.com.chain.pem
ADD kolab.hosted.com.key /etc/pki/tls/certs/kolab.hosted.com.key
ADD init.sh /init.sh
RUN mkdir -p /etc/pki/cyrus-imapd/ && cat /etc/pki/tls/certs/kolab.hosted.com.cert /etc/pki/tls/certs/kolab.hosted.com.chain.pem /etc/pki/tls/certs/kolab.hosted.com.key > /etc/pki/cyrus-imapd/cyrus-imapd.bundle.pem && \
chown cyrus:mail /etc/pki/cyrus-imapd/cyrus-imapd.bundle.pem
# RUN chgrp -R 0 /opt/app-root/src && \
# chmod -R g=u /opt/app-root/src
RUN mkdir -p /run/saslauthd && \
chmod 777 /run/saslauthd && \
chmod -R 777 /run && \
mkdir -p /var/run && \
chmod -R 777 /var/run && \
chmod 777 /var/lib/imap && \
chmod 777 /var/spool/imap
RUN touch /dev/log && chmod 777 /dev/log
- # mkdir -p /run/httpd && \
- # chmod 777 /run/httpd && \
- # chmod -R 777 /etc/httpd /var/log/httpd /var/lib/httpd
-
RUN chown -R 1001:0 /etc /var/lib/imap /var/spool/imap /var/run /run
RUN echo 'default ALL=NOPASSWD: ALL' >> /etc/sudoers && \
chown root:root /etc/sudoers /etc/sudo.conf /etc/sudoers.d
RUN id default || (groupadd -g 1001 default && useradd -d /opt/app-root/ -u 1001 -g 1001 default)
USER 1001
CMD ["/init.sh"]
EXPOSE 143/tcp 993/tcp 80/tcp 443/tcp
diff --git a/docker/imap/init.sh b/docker/imap/init.sh
index 13242903..781a6913 100755
--- a/docker/imap/init.sh
+++ b/docker/imap/init.sh
@@ -1,9 +1,9 @@
#!/bin/bash
/usr/sbin/saslauthd -m /run/saslauthd -a httpform &
# Can't run as user because of /dev/ permissions so far.
# Cyrus imap only logs to /dev/log, no way around it it seems.
# sudo rsyslogd
-env CYRUS_VERBOSE=1 CYRUS_USER=default CYRUS_GROUP=default /usr/libexec/master -D -p /var/run/master.pid -M /etc/cyrus.conf -C /etc/imapd.conf -L /dev/stdout
+exec env CYRUS_VERBOSE=1 CYRUS_USER=default CYRUS_GROUP=default /usr/libexec/master -D -p /var/run/master.pid -M /etc/cyrus.conf -C /etc/imapd.conf -L /dev/stdout
diff --git a/kustomize/overlays/dev/imap-buildconfig.yaml b/kustomize/overlays/dev/imap-buildconfig.yaml
index 4bd977c6..58c2bec9 100644
--- a/kustomize/overlays/dev/imap-buildconfig.yaml
+++ b/kustomize/overlays/dev/imap-buildconfig.yaml
@@ -1,41 +1,41 @@
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
labels:
name: docker-build
name: imap
spec:
failedBuildsHistoryLimit: 5
nodeSelector: null
output:
to:
kind: ImageStreamTag
name: imap:latest
runPolicy: Serial
source:
contextDir: docker/imap
git:
ref: dev/mollekopf
uri: https://phorge.apps.ocp04.ait-msp-infra.net/source/kolab.git
type: Git
strategy:
type: Docker
dockerStrategy:
env:
- name: APP_DOMAIN
- value: services.kolab-kolab-dev.apps.ocp04.ait-msp-infra.net
+ value: kolab-kolab-dev.apps.ocp04.ait-msp-infra.net
- name: IMAP_ADMIN_LOGIN
value: cyrus-admin
- name: IMAP_ADMIN_PASSWORD
value: simple123
successfulBuildsHistoryLimit: 5
triggers:
- type: ConfigChange
---
kind: ImageStream
apiVersion: image.openshift.io/v1
metadata:
name: imap
spec:
lookupPolicy:
local: false
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Mar 1, 3:27 AM (1 d, 4 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
165657
Default Alt Text
(5 KB)
Attached To
Mode
R2 kolab
Attached
Detach File
Event Timeline
Log In to Comment