Skip to content

Commit

Permalink
updated dockerfiles
Browse files Browse the repository at this point in the history
  • Loading branch information
mbhangui committed May 15, 2024
1 parent 603c753 commit 15b1293
Show file tree
Hide file tree
Showing 10 changed files with 442 additions and 2 deletions.
58 changes: 58 additions & 0 deletions indimail-mta/leap15.6/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# docker build -f dockerfile.leap15.6 -t cprogrammer/indimail-mta:leap15.6
FROM opensuse/leap:15.6
MAINTAINER cprogrammer
LABEL org.opencontainers.image.source=https://github.com/indimail/indimail-mta:leap15.6

RUN export HOSTNAME=indimail.org \
&& mkdir -p /root \
&& sed -i 's{rpm.install.exclude.*=.*{rpm.install.exclude = no{' /etc/zypp/zypp.conf \
&& zypper --non-interactive update \
&& zypper --non-interactive install \
wget \
man-pages \
binutils \
openssl \
vim \
net-tools \
procps \
psmisc \
systemd \
less \
telnet \
openssh \
which \
systemd-sysvinit \
sudo \
strace \
lsof \
perl-Authen-SASL \
perl-Digest-HMAC \
perl-Digest-MD5 \
perl-Digest-SHA1 \
perl-Net-SSLeay \
perl-IO-Socket-INET6 \
iputils \
patch \
&& zypper --non-interactive addrepo https://download.opensuse.org/repositories/home:mbhangui/openSUSE_Leap_15.6/home:mbhangui.repo \
&& zypper --non-interactive addrepo https://download.opensuse.org/repositories/server:database/15.6/server:database.repo \
&& zypper --non-interactive addrepo https://download.opensuse.org/repositories/server:monitoring/15.6/server:monitoring.repo \
&& zypper --non-interactive --gpg-auto-import-keys refresh \
&& zypper --non-interactive --gpg-auto-import-keys install \
indimail-mta \
logalert \
procmail \
indimail-auth \
indimail-access \
indimail-utils \
bogofilter-wordlist \
indimail-spamfilter \
mailx \
&& echo "Creating self-signed certificate" \
&& /usr/sbin/svctool --config=cert --postmaster=postmaster@indimail.org --common_name=indimail.org > /dev/null 2>/tmp/cert.log \
&& systemctl disable sshd \
&& unset HOSTNAME \
&& /bin/rm -rf /run \
&& echo "Build Completed"
COPY .alias .bash_profile .bashrc .exrc .gfuncs .glogout .indent.pro .vimrc /root/
ENTRYPOINT ["docker-entrypoint"]
CMD ["indimail-mta"]
59 changes: 59 additions & 0 deletions indimail-mta/noble/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# docker build -f dockerfile.noble -t cprogrammer/indimail-mta:noble
# run dpkg-reconfigure tzdata after starting the container
From ubuntu:noble
MAINTAINER cprogrammer
LABEL org.opencontainers.image.source=https://github.com/indimail/indimail-mta:noble

# Freshen RUN apt-get -y update
RUN export HOSTNAME=indimail.org DEBIAN_FRONTEND=noninteractive \
&& mkdir -p /root \
&& sed -i 's:^path-exclude=/usr/share/man:#path-exclude=/usr/share/man:' \
/etc/dpkg/dpkg.cfg.d/excludes \
&& apt-get -y update \
&& apt-get -y install curl gnupg2 apt-utils \
&& curl -fsSL https://download.opensuse.org/repositories/home:mbhangui/xUbuntu_24.04/Release.key | \
gpg --dearmor > /etc/apt/trusted.gpg.d/home_mbhangui.gpg \
&& printf "deb http://download.opensuse.org/repositories/home:/mbhangui/xUbuntu_24.04/ /\n" > /etc/apt/sources.list.d/indimail.list \
&& printf "Package: *\nPin: origin download.opensuse.org\nPin-Priority: 1001\n" > /etc/apt/preferences.d/preferences \
&& apt-get -y update \
&& apt-get -y install \
debianutils \
binutils \
cron \
less \
man-db \
net-tools \
openssl \
openssh-client \
procps \
psmisc \
systemd \
systemd-sysv \
telnet \
strace \
lsof \
inetutils-ping \
vim \
indimail-mta \
logalert \
procmail \
indimail-auth \
indimail-access \
indimail-utils \
bogofilter-wordlist \
bsd-mailx \
libnet-ssleay-perl \
libauthen-sasl-perl \
libdigest-perl-md5-perl \
libdigest-hmac-perl \
gsasl \
&& apt-get -y install \
indimail-spamfilter \
&& echo "Creating self-signed certificate" \
&& /usr/sbin/svctool --config=cert --postmaster=postmaster@indimail.org --common_name=indimail.org >/dev/null 2>/tmp/cert.log \
&& unset HOSTNAME \
&& /bin/rm -rf /run \
&& echo "Build Completed"
COPY .alias .bash_profile .bashrc .exrc .gfuncs .glogout .indent.pro .vimrc /root/
ENTRYPOINT ["docker-entrypoint"]
CMD ["indimail-mta"]
1 change: 1 addition & 0 deletions indimail-src/fedora.indimail-mta-web.bin
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ LABEL org.opencontainers.image.source https://github.com/indimail/indimail-docke

RUN export HOSTNAME=indimail.org MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& (set -e; \
mkdir -p /root /usr/local/srctmp /var/log/build; \
touch /usr/local/srctmp/incomplete; \
dnf -y update && dnf -y install mysql-server mariadb httpd mod_ssl \
php php-fpm roundcubemail php-mysqlnd php-imagick passwd iputils; \
Expand Down
1 change: 1 addition & 0 deletions indimail-src/fedora.indimail-mta.bin
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ LABEL org.opencontainers.image.source https://github.com/indimail/indimail-docke

RUN export HOSTNAME=indimail.org MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& (set -e; \
mkdir -p /root /usr/local/srctmp /var/log/build; \
touch /usr/local/srctmp/incomplete; \
dnf -y update; \
dnf -y install passwd iputils; \
Expand Down
3 changes: 2 additions & 1 deletion indimail-src/fedora.indimail-web.bin
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ LABEL org.opencontainers.image.source https://github.com/indimail/indimail-docke

RUN export HOSTNAME=indimail.org MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& (set -e; \
mkdir -p /root /usr/local/srctmp /var/log/build; \
touch /usr/local/srctmp/incomplete; \
dnf -y update && dnf -y install mysql-server mariadb httpd mod_ssl \
dnf -y update && dnf -y install mysql-server httpd mod_ssl \
php php-fpm roundcubemail php-mysqlnd php-imagick passwd iputils; \
cd /usr/local/srctmp; \
for i in libqmail indimail-mta ezmlm-idx tinydnssec indimail-virtualdomains indimail-docker; \
Expand Down
3 changes: 2 additions & 1 deletion indimail-src/fedora.indimail.bin
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ LABEL org.opencontainers.image.source https://github.com/indimail/indimail-docke

RUN export HOSTNAME=indimail.org MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& (set -e; \
mkdir -p /root /usr/local/srctmp /var/log/build \
touch /usr/local/srctmp/incomplete; \
dnf -y update && dnf -y install passwd iputils mysql-server mariadb; \
dnf -y update && dnf -y install passwd iputils mysql-server; \
cd /usr/local/srctmp; \
for i in libqmail indimail-mta ezmlm-idx tinydnssec indimail-virtualdomains indimail-docker; \
do cd $i; echo "updating $i";git pull; cd ..; done; \
Expand Down
61 changes: 61 additions & 0 deletions indimail/leap15.6/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# docker build -f dockerfile.leap15.6 -t cprogrammer/indimail:leap15.6
FROM opensuse/leap:15.6
MAINTAINER cprogrammer
LABEL org.opencontainers.image.source=https://github.com/indimail/indimail:leap15.6

RUN export HOSTNAME=indimail.org \
MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& mkdir -p /root \
&& sed -i 's{rpm.install.exclude.*=.*{rpm.install.exclude = no{' /etc/zypp/zypp.conf \
&& zypper --non-interactive update \
&& zypper --non-interactive install \
wget \
man-pages \
binutils \
openssl \
vim \
net-tools \
procps \
psmisc \
systemd \
less \
telnet \
openssh \
which \
systemd-sysvinit \
sudo \
strace \
lsof \
perl-Authen-SASL \
perl-Digest-HMAC \
perl-Digest-MD5 \
perl-Digest-SHA1 \
perl-Net-SSLeay \
perl-IO-Socket-INET6 \
iputils \
patch \
&& zypper --non-interactive addrepo https://download.opensuse.org/repositories/home:mbhangui/openSUSE_Leap_15.6/home:mbhangui.repo \
&& zypper --non-interactive addrepo https://download.opensuse.org/repositories/server:database/15.6/server:database.repo \
&& zypper --non-interactive addrepo https://download.opensuse.org/repositories/server:monitoring/15.6/server:monitoring.repo \
&& zypper --non-interactive --gpg-auto-import-keys refresh \
&& zypper --non-interactive --gpg-auto-import-keys install \
indimail-mta \
logalert \
procmail \
indimail \
indimail-access \
indimail-auth \
indimail-utils \
bogofilter-wordlist \
indimail-spamfilter \
ezmlm-idx \
ezmlm-idx-cgi \
ezmlm-idx-mysql \
&& echo "Creating self-signed certificate" \
&& /usr/sbin/svctool --config=cert --postmaster=postmaster@indimail.org --common_name=indimail.org > /dev/null 2>/tmp/cert.log \
&& systemctl disable sshd \
&& /bin/rm -rf /run \
&& echo "Build Completed"
COPY .alias .bash_profile .bashrc .exrc .gfuncs .glogout .indent.pro .vimrc /root/
ENTRYPOINT ["docker-entrypoint"]
CMD ["indimail"]
66 changes: 66 additions & 0 deletions indimail/noble/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# docker build -f dockerfile.noble -t cprogrammer/indimail:noble
# run dpkg-reconfigure tzdata after starting the container
From ubuntu:noble
MAINTAINER cprogrammer
LABEL org.opencontainers.image.source=https://github.com/indimail/indimail:noble

# Freshen RUN apt-get -y update
RUN export HOSTNAME=indimail.org DEBIAN_FRONTEND=noninteractive \
MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& mkdir -p /root/Downloads \
&& sed -i 's:^path-exclude=/usr/share/man:#path-exclude=/usr/share/man:' \
/etc/dpkg/dpkg.cfg.d/excludes \
&& apt-get -y update \
&& apt-get -y install curl gnupg2 apt-utils \
&& curl -fsSL https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb -o /root/Downloads/mysql-apt_config.deb \
&& apt-get -y install /root/Downloads/mysql-apt_config.deb \
&& curl -fsSL https://download.opensuse.org/repositories/home:mbhangui/xUbuntu_24.04/Release.key | \
gpg --dearmor > /etc/apt/trusted.gpg.d/home_mbhangui.gpg \
&& printf "deb http://download.opensuse.org/repositories/home:/mbhangui/xUbuntu_24.04/ /\n" > /etc/apt/sources.list.d/indimail.list \
&& printf "Package: *\nPin: origin download.opensuse.org\nPin-Priority: 1001\n" > /etc/apt/preferences.d/preferences \
&& apt-get -y update \
&& apt-get -y install \
libmysqlclient21 \
debianutils \
binutils \
cron \
less \
man-db \
net-tools \
openssl \
openssh-client \
procps \
psmisc \
systemd \
systemd-sysv \
telnet \
strace \
lsof \
inetutils-ping \
vim \
indimail-mta \
logalert \
procmail \
indimail \
indimail-auth \
indimail-access \
indimail-utils \
bogofilter-wordlist \
ezmlm-idx \
ezmlm-idx-cgi \
ezmlm-idx-mysql \
bsd-mailx \
libnet-ssleay-perl \
libauthen-sasl-perl \
libdigest-perl-md5-perl \
libdigest-hmac-perl \
gsasl \
&& apt-get -y install \
indimail-spamfilter \
&& echo "Creating self-signed certificate" \
&& /usr/sbin/svctool --config=cert --postmaster=postmaster@indimail.org --common_name=indimail.org >/dev/null 2>/tmp/cert.log \
&& /bin/rm -rf /run /root/Downloads \
&& echo "Build Completed"
COPY .alias .bash_profile .bashrc .exrc .gfuncs .glogout .indent.pro .vimrc /root/
ENTRYPOINT ["docker-entrypoint"]
CMD ["indimail"]
84 changes: 84 additions & 0 deletions webmail/leap15.6/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# docker build -f dockerfile.leap15.6 -t cprogrammer/indimail-web:leap15.6
FROM opensuse/leap:15.6
MAINTAINER cprogrammer
LABEL org.opencontainers.image.source=https://github.com/indimail/indimail-web:leap15.6

RUN export HOSTNAME=indimail.org \
MYSQL_SOCKET=/run/mysqld/mysqld.sock \
&& mkdir -p /root \
&& sed -i 's{rpm.install.exclude.*=.*{rpm.install.exclude = no{' /etc/zypp/zypp.conf \
&& zypper --non-interactive update \
&& zypper --non-interactive install \
wget \
man-pages \
binutils \
openssl \
vim \
net-tools \
procps \
psmisc \
systemd \
less \
telnet \
openssh \
which \
systemd-sysvinit \
sudo \
strace \
lsof \
iputils \
cron \
gzip \
curl \
&& zypper --non-interactive addrepo \
https://download.opensuse.org/repositories/home:mbhangui/openSUSE_Leap_15.6/home:mbhangui.repo \
&& zypper --non-interactive addrepo \
https://download.opensuse.org/repositories/server:database/15.6/server:database.repo \
&& zypper --non-interactive addrepo \
https://download.opensuse.org/repositories/server:monitoring/15.6/server:monitoring.repo \
&& zypper --non-interactive addrepo \
https://download.opensuse.org/repositories/server:php:applications/15.6/server:php:applications.repo \
&& zypper --non-interactive --gpg-auto-import-keys refresh \
&& sed -i -e 's{rpm.install.excludedocs = yes{rpm.install.excludedocs = no{' /etc/zypp/zypp.conf \
&& zypper --non-interactive --gpg-auto-import-keys install \
indimail \
indimail-mta \
indimail-access \
indimail-auth \
indimail-utils \
indimail-spamfilter \
bogofilter-wordlist \
mrtg \
ezmlm-idx \
ezmlm-idx-cgi \
ezmlm-idx-mysql \
iwebadmin \
ircube \
apache2-mod_php7 \
php7-ctype \
php7-curl \
php7-exif \
php7-fileinfo \
php7-gd \
php7-imagick \
php7-intl \
php-xmlwriter \
php7-xmlrpc \
php7-zip \
roundcubemail \
mailx \
&& echo "Creating self-signed certificate" \
&& /usr/sbin/svctool \
--config=cert --postmaster=postmaster@indimail.org --common_name=indimail.org > /dev/null 2>/tmp/cert.log \
&& mkdir -p /var/log/build \
&& (cp -rp /usr/share/roundcubemail/plugins/* /srv/www/roundcubemail/plugins; \
systemctl disable sshd mariadb; \
a2enmod php7; \
sed -e 's{^${LoadModule php7_module /usr/lib64/apache2-prefork/mod_php7.so{' /etc/apache2/loadmodule.conf; \
/usr/libexec/indimail/roundcube_config) >/var/log/build/roundcube.log 2>&1 \
&& (echo "Build Succeeded" && gzip /var/log/build/roundcube.log) || (echo "Build Failed" && cat /var/log/build/roundcube.log && exit 1) \
&& (test -d /var/indimail/mysqldb/data/RoundCube_db && echo "RoundCube db creation succeeded") || \
(echo "RoundCube db creation failed" && gunzip -c /var/log/build/roundcube.log.gz && exit 1)
COPY .alias .bash_profile .bashrc .exrc .gfuncs .glogout .indent.pro .vimrc /root/
ENTRYPOINT ["docker-entrypoint"]
CMD ["webmail"]
Loading

0 comments on commit 15b1293

Please sign in to comment.