aboutsummaryrefslogtreecommitdiffstats
path: root/ci/docker/Dockerfile.archlinux
diff options
context:
space:
mode:
Diffstat (limited to 'ci/docker/Dockerfile.archlinux')
-rw-r--r--ci/docker/Dockerfile.archlinux62
1 files changed, 62 insertions, 0 deletions
diff --git a/ci/docker/Dockerfile.archlinux b/ci/docker/Dockerfile.archlinux
new file mode 100644
index 00000000..dcd46684
--- /dev/null
+++ b/ci/docker/Dockerfile.archlinux
@@ -0,0 +1,62 @@
+FROM archlinux
+
+# Allow container to expose ports at runtime, if necessary
+# https://docs.docker.com/engine/reference/#expose
+EXPOSE 25
+EXPOSE 465
+EXPOSE 587
+
+# creates /opensmtpd dir and makes all following commands to run in it
+# https://docs.docker.com/engine/reference/builder/#workdir
+WORKDIR /opensmtpd
+
+# install necessary packages
+RUN pacman -Suy --noconfirm \
+ base \
+ make \
+ m4 \
+ grep \
+ gcc \
+ automake \
+ autoconf \
+ libtool \
+ bison \
+ gettext \
+ libevent \
+ libressl \
+ pam \
+ zlib
+
+
+# create users and directories
+RUN mkdir -p /var/lib/opensmtpd/empty \
+ && useradd _smtpd \
+ --home-dir /var/lib/opensmtpd/empty \
+ --no-create-home \
+ --shell /bin/false \
+ && useradd _smtpq \
+ --home-dir /var/lib/opensmtpd/empty \
+ --no-create-home \
+ --shell /bin/false \
+ && mkdir -p /var/spool/smtpd \
+ && mkdir -p /var/mail \
+ && mkdir -p /etc/mail \
+ && chmod 711 /var/spool/smtpd
+
+
+# Copy contentes of the repo inside the container
+# https://docs.docker.com/engine/reference/builder/#copy
+COPY . /opensmtpd
+
+
+# build opensmtpd
+RUN ./bootstrap \
+ && ./configure --with-gnu-ld \
+ --sysconfdir=/etc/mail \
+ --with-cflags='-I/usr/include/libressl -L/usr/lib/libressl -Wl,-rpath=/usr/lib/libressl' \
+ --with-path-empty=/var/lib/opensmtpd/empty \
+ --with-auth-pam \
+ && make \
+ && make install \
+ && cp etc/aliases /etc/mail/aliases
+