aboutsummaryrefslogtreecommitdiffstats
path: root/foobar/portable/ci/docker/Dockerfile.ubuntu-gcc10
diff options
context:
space:
mode:
Diffstat (limited to 'foobar/portable/ci/docker/Dockerfile.ubuntu-gcc10')
-rw-r--r--foobar/portable/ci/docker/Dockerfile.ubuntu-gcc1054
1 files changed, 54 insertions, 0 deletions
diff --git a/foobar/portable/ci/docker/Dockerfile.ubuntu-gcc10 b/foobar/portable/ci/docker/Dockerfile.ubuntu-gcc10
new file mode 100644
index 00000000..2ebbdf58
--- /dev/null
+++ b/foobar/portable/ci/docker/Dockerfile.ubuntu-gcc10
@@ -0,0 +1,54 @@
+FROM ubuntu:latest
+
+# 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 apt update \
+ && apt install -y --no-install-recommends \
+ autoconf \
+ automake \
+ bison \
+ build-essential \
+ libevent-dev \
+ libssl-dev \
+ libtool \
+ libpam0g-dev \
+ zlib1g-dev \
+ gcc-10
+
+# 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
+
+RUN export CC=gcc-10 CXX=g++-10
+RUN ./bootstrap \
+ && ./configure \
+ --with-gnu-ld \
+ --sysconfdir=/etc/mail \
+ --with-auth-pam \
+ && make \
+ && make install \
+ && cp etc/aliases /etc/mail/aliases