diff --git a/indimail-mta/leap15.6/Dockerfile b/indimail-mta/leap15.6/Dockerfile new file mode 100644 index 0000000..76d67e2 --- /dev/null +++ b/indimail-mta/leap15.6/Dockerfile @@ -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"] diff --git a/indimail-mta/noble/Dockerfile b/indimail-mta/noble/Dockerfile new file mode 100644 index 0000000..0f8066f --- /dev/null +++ b/indimail-mta/noble/Dockerfile @@ -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"] diff --git a/indimail-src/fedora.indimail-mta-web.bin b/indimail-src/fedora.indimail-mta-web.bin index d978ebb..6ee0949 100644 --- a/indimail-src/fedora.indimail-mta-web.bin +++ b/indimail-src/fedora.indimail-mta-web.bin @@ -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; \ diff --git a/indimail-src/fedora.indimail-mta.bin b/indimail-src/fedora.indimail-mta.bin index 6d0d252..96dbef3 100644 --- a/indimail-src/fedora.indimail-mta.bin +++ b/indimail-src/fedora.indimail-mta.bin @@ -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; \ diff --git a/indimail-src/fedora.indimail-web.bin b/indimail-src/fedora.indimail-web.bin index 692338b..66bfea3 100644 --- a/indimail-src/fedora.indimail-web.bin +++ b/indimail-src/fedora.indimail-web.bin @@ -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; \ diff --git a/indimail-src/fedora.indimail.bin b/indimail-src/fedora.indimail.bin index 4c11845..c8f73c9 100644 --- a/indimail-src/fedora.indimail.bin +++ b/indimail-src/fedora.indimail.bin @@ -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; \ diff --git a/indimail/leap15.6/Dockerfile b/indimail/leap15.6/Dockerfile new file mode 100644 index 0000000..689a164 --- /dev/null +++ b/indimail/leap15.6/Dockerfile @@ -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"] diff --git a/indimail/noble/Dockerfile b/indimail/noble/Dockerfile new file mode 100644 index 0000000..b316af6 --- /dev/null +++ b/indimail/noble/Dockerfile @@ -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"] diff --git a/webmail/leap15.6/Dockerfile b/webmail/leap15.6/Dockerfile new file mode 100644 index 0000000..e1207b2 --- /dev/null +++ b/webmail/leap15.6/Dockerfile @@ -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"] diff --git a/webmail/noble/Dockerfile b/webmail/noble/Dockerfile new file mode 100644 index 0000000..c6824c7 --- /dev/null +++ b/webmail/noble/Dockerfile @@ -0,0 +1,108 @@ +# docker build -f dockerfile.noble -t cprogrammer/indimail-web:noble +# run dpkg-reconfigure tzdata after starting the container +# ubuntu 24.04 +From ubuntu:noble +MAINTAINER cprogrammer +LABEL org.opencontainers.image.source=https://github.com/indimail/indimail-web: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 wget 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 \ + && (apt-get -y install mailutils || apt-get -y remove postfix cpio || exit 0) \ + && 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 \ + mrtg \ + indimail \ + indimail-mta \ + indimail-access \ + indimail-auth \ + indimail-utils \ + bogofilter-wordlist \ + iwebadmin \ + ezmlm-idx \ + ezmlm-idx-cgi \ + ezmlm-idx-mysql \ + && apt-get -y install \ + indimail-spamfilter \ + && /usr/sbin/svctool --config=cert --postmaster=postmaster@indimail.org --common_name=indimail.org >/dev/null 2>/tmp/cert.log \ + && apt-get -y install \ + apache2 \ + php \ + php-mysql \ + php-mysqlnd \ + php-fpm \ + libapache2-mod-php \ + php-curl \ + php-mbstring \ + php-xmlrpc \ + php-gd \ + php-xml \ + php-intl \ + php-imagick \ + php-json \ + php-zip \ + php-cli \ + ircube \ + libnet-ssleay-perl \ + libauthen-sasl-perl \ + libdigest-perl-md5-perl \ + libdigest-hmac-perl \ + gsasl \ + && update-alternatives --config mta \ + && mkdir -p /var/log/build \ + && (set -e; \ + a2enmod proxy_fcgi setenvif ssl; \ + a2enconf php8.1-fpm; \ + systemctl enable apache2; \ + wget -nv \ + https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete.tar.gz \ + -O /root/Downloads/roundcubemail.tar.gz; \ + cd /usr/share; \ + tar xfz /root/Downloads/roundcubemail.tar.gz; \ + mv roundcubemail/plugins/* roundcubemail-1.6.0/plugins; \ + /bin/rm -rf roundcubemail; \ + mv roundcubemail-1.6.0 roundcubemail; \ + chown -R root:root roundcubemail; \ + chown www-data:www-data roundcubemail/temp roundcubemail/logs; \ + cd roundcubemail; \ + chmod 775 logs temp; \ + mv config /etc/roundcubemail; \ + ln -s /etc/roundcubemail config; \ + systemctl disable mariadb; \ + systemctl stop mariadb; \ + /usr/libexec/indimail/roundcube_config; \ + /bin/rm -r /run /root/Downloads) >/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"]