aboutsummaryrefslogtreecommitdiff
path: root/tests/docker
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-07-08 11:47:59 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-07-08 11:47:59 +0200
commite72985a38cec9e31eb2c4b6fa012895ff07226a8 (patch)
tree02bb1f8b19781d61c27734a0f891e7e291f3a0be /tests/docker
parent9675cdb545a139984a2d765397f3a5e26472a49e (diff)
downloadaerogramme-e72985a38cec9e31eb2c4b6fa012895ff07226a8.tar.gz
aerogramme-e72985a38cec9e31eb2c4b6fa012895ff07226a8.zip
Add a docker-compose spawning Dovecot+Cyrus+Maddy
Diffstat (limited to 'tests/docker')
-rw-r--r--tests/docker/cyrus/Dockerfile15
-rwxr-xr-xtests/docker/cyrus/entrypoint.sh15
-rw-r--r--tests/docker/maddy/Dockerfile16
-rwxr-xr-xtests/docker/maddy/entrypoint.sh9
4 files changed, 55 insertions, 0 deletions
diff --git a/tests/docker/cyrus/Dockerfile b/tests/docker/cyrus/Dockerfile
new file mode 100644
index 0000000..67b4e11
--- /dev/null
+++ b/tests/docker/cyrus/Dockerfile
@@ -0,0 +1,15 @@
+FROM debian:buster
+
+ARG DEBIAN_FRONTEND=noninteractive
+RUN apt update && \
+ apt install -y cyrus-imapd cyrus-pop3d cyrus-nntpd cyrus-caldav cyrus-admin sasl2-bin && \
+ echo "admins: cyrus" >> /etc/imapd.conf && \
+ touch /var/lib/cyrus/tls_sessions.db && \
+ chown cyrus:mail /var/lib/cyrus/tls_sessions.db && \
+ mkdir /run/cyrus && \
+ chown -R cyrus:mail /run/cyrus
+
+COPY entrypoint.sh /usr/local/bin/entrypoint.sh
+
+CMD [ "/usr/local/bin/entrypoint.sh" ]
+
diff --git a/tests/docker/cyrus/entrypoint.sh b/tests/docker/cyrus/entrypoint.sh
new file mode 100755
index 0000000..c410e9d
--- /dev/null
+++ b/tests/docker/cyrus/entrypoint.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+cyrmaster -D -l 32 -C /etc/imapd.conf -M /etc/cyrus.conf &
+sleep 2
+
+echo cyrus | saslpasswd2 -p cyrus
+echo pass | saslpasswd2 -p test
+
+cyradm -u cyrus -w cyrus 127.0.0.1 <<EOF
+cm user.test
+setaclmailbox user.test test kxtelrswip
+exit
+EOF
+
+wait
diff --git a/tests/docker/maddy/Dockerfile b/tests/docker/maddy/Dockerfile
new file mode 100644
index 0000000..341e398
--- /dev/null
+++ b/tests/docker/maddy/Dockerfile
@@ -0,0 +1,16 @@
+FROM debian:buster as builder
+
+WORKDIR /root
+RUN apt-get update && apt-get install -y openssl && \
+ openssl req -nodes -new -x509 -subj "/C=DW/ST=Sto/L=Ankh-Morpork /O=Unseen University/OU=Library/CN=Ook/emailAddress=ook@ook.ook" -keyout privkey.pem -out fullchain.pem
+
+FROM foxcpp/maddy:0.6.2
+
+COPY --from=builder /root/privkey.pem /data/tls/privkey.pem
+COPY --from=builder /root/fullchain.pem /data/tls/fullchain.pem
+
+ENV MADDY_DOMAIN=example.com MADDY_HOSTNAME=mx.example.com
+
+COPY entrypoint.sh /entrypoint.sh
+
+ENTRYPOINT [ "/entrypoint.sh" ]
diff --git a/tests/docker/maddy/entrypoint.sh b/tests/docker/maddy/entrypoint.sh
new file mode 100755
index 0000000..f875624
--- /dev/null
+++ b/tests/docker/maddy/entrypoint.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+maddy -config /data/maddy.conf run &
+
+sleep 2
+maddyctl creds create --password pass test@example.com
+maddyctl imap-acct create test@example.com
+
+wait