Mike Fitzpatrick mifi

docker-z-push (latest)

Published 2023-09-03 22:29:30 +00:00 by mifi

Installation

docker pull git.mifi.dev/mifi/docker-z-push:latest
sha256:646f272cff7dae270a75e37c49ce2043bbf308369311ba8e3e4703500ebe89c1

Images

Digest OS / Arch Size
721388ebeb linux/amd64 119 MiB

Image Layers ( linux/amd64)

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=20.04
ADD file:233702cd816c07bc9fed02881b11fb3bdcaee41f3ce3ec1c9f0c4a060b155d5b in /
CMD ["/bin/bash"]
LABEL maintainer=badmf@mifi.dev
ENV DEBIAN_FRONTEND=noninteractive
ENV PHP_VERSION=7.4
ENV PHP_MINOR_VERSION=7.4.3-4ubuntu2.19
ENV COMPOSER_VERSION=2.4.4
ENV NGINX_VERSION=1.18.0-0ubuntu1.4
ENV TZ=America/New_York
ENV ZPUSH_IMAP_SERVER=localhost
ENV ZPUSH_IMAP_PORT=143
ENV ZPUSH_SMTP_SERVER=
ENV ZPUSH_SMTP_PORT=587
ENV ZPUSH_LOGBACKEND=syslog
ENV ZPUSH_LOGLEVEL=LOGLEVEL_ERROR
ENV ZPUSH_IMAP_FOLDER_PREFIX=
ENV ZPUSH_IMAP_FOLDER_PREFIX_IN_INBOX=false
ENV ZPUSH_IMAP_FOLDER_INBOX=INBOX
ENV ZPUSH_IMAP_FOLDER_SENT=SENT
ENV ZPUSH_IMAP_FOLDER_DRAFT=DRAFTS
ENV ZPUSH_IMAP_FOLDER_TRASH=TRASH
ENV ZPUSH_IMAP_FOLDER_SPAM=SPAM
ENV ZPUSH_IMAP_FOLDER_ARCHIVE=ARCHIVE
RUN /bin/sh -c set -x && apt-get update && apt-get install --fix-broken --fix-missing -yq --no-install-recommends apt-utils curl git gnupg2 iproute2 nano python3 python3-pip python-setuptools python3-wheel software-properties-common z-push z-push-backend-imap z-push-common && LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y && curl -o /usr/share/keyrings/nginx_signing.key http://nginx.org/keys/nginx_signing.key && echo "deb [signed-by=/usr/share/keyrings/nginx_signing.key] http://nginx.org/packages/mainline/ubuntu/ focal nginx" > /etc/apt/sources.list.d/nginx.list && apt-get update && apt-get install --fix-broken --fix-missing -yq --no-install-recommends nginx=${NGINX_VERSION} php${PHP_VERSION}-cli=${PHP_MINOR_VERSION} php${PHP_VERSION}-common=${PHP_MINOR_VERSION} php${PHP_VERSION}-fpm=${PHP_MINOR_VERSION} php${PHP_VERSION}-imap=${PHP_MINOR_VERSION} php${PHP_VERSION}-mbstring=${PHP_MINOR_VERSION} php${PHP_VERSION}-soap=${PHP_MINOR_VERSION} php${PHP_VERSION}-xml=${PHP_MINOR_VERSION} && pip install --no-cache-dir supervisor && pip install --no-cache-dir git+https://github.com/coderanger/supervisor-stdout && printf "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && apt-get autoremove --purge -y software-properties-common gnupg2 && apt-get -y clean && rm -rf /var/lib/apt/lists/* /var/tmp/* && sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" -e "s/memory_limit\s*=\s*.*/memory_limit = 256M/g" -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" -e "s/max_execution_time = 30/max_execution_time = 180/g" -e "s/max_input_time = 60/max_input_time = 180/g" -e "s/variables_order = \"GPCS\"/variables_order = \"EGPCS\"/g" -e "s/;opcache.enable=1/opcache.enable=1/" -e "s/;opcache.memory_consumption=128/opcache.memory_consumption=512/g" -e "s/;opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=64/g" -e "s/;opcache.max_accelerated_files=10000/opcache.max_accelerated_files=30000/g" -e "s/;opcache.revalidate_freq=2/opcache.revalidate_freq=0/g" /etc/php/${PHP_VERSION}/fpm/php.ini && sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/${PHP_VERSION}/fpm/php-fpm.conf && sed -i -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" -e "s/pm.max_children = 5/pm.max_children = 4/g" -e "s/pm.start_servers = 2/pm.start_servers = 3/g" -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" -e "s/;pm.max_requests = 500/pm.max_requests = 200/g" -e "s/^;clear_env = no$/clear_env = no/" /etc/php/${PHP_VERSION}/fpm/pool.d/www.conf && sed -i -e "s|define('TIMEZONE', '')|define('TIMEZONE', getenv('TZ'))|" -e "s/define('USE_FULLEMAIL_FOR_LOGIN', false)/define('USE_FULLEMAIL_FOR_LOGIN', true)/" -e "s/define('LOGBACKEND', 'filelog')/define('LOGBACKEND', getenv('ZPUSH_LOGBACKEND'))/" -e "s/define('LOGLEVEL', LOGLEVEL_INFO)/define('LOGLEVEL', getenv('ZPUSH_LOGLEVEL'))/" -e "s/define('BACKEND_PROVIDER', '')/define('BACKEND_PROVIDER', 'BackendIMAP')/" /etc/z-push/autodiscover.conf.php && sed -i -e "s|define('TIMEZONE', '')|define('TIMEZONE', getenv('TZ'))|" -e "s/define('BACKEND_PROVIDER', '')/define('BACKEND_PROVIDER', 'BackendIMAP')/" -e "s/define('LOGBACKEND', 'filelog')/define('LOGBACKEND', getenv('ZPUSH_LOGBACKEND'))/" -e "s/define('LOGLEVEL', LOGLEVEL_INFO)/define('LOGLEVEL', getenv('ZPUSH_LOGLEVEL'))/" /etc/z-push/z-push.conf.php && sed -i -e "s|define('IMAP_SERVER', 'localhost')|define('IMAP_SERVER', getenv('ZPUSH_IMAP_SERVER'))|" -e "s/define('IMAP_PORT', 143)/define('IMAP_PORT', getenv('ZPUSH_IMAP_PORT'))/" -e "s|define('IMAP_OPTIONS', '/notls/norsh')|define('IMAP_OPTIONS', '/ssl')|" -e "s/define('IMAP_SMTP_METHOD', 'mail')/define('IMAP_SMTP_METHOD', 'smtp')/" -e "s|$imap_smtp_params = array()|$imap_smtp_params = array('host' => getenv('ZPUSH_SMTP_SERVER'), 'port' => getenv('ZPUSH_SMTP_PORT'), 'auth' => true, 'username' => 'imap_username', 'password' => 'imap_password')|" -e "s/define('IMAP_FOLDER_CONFIGURED', false)/define('IMAP_FOLDER_CONFIGURED', true)/" -e "s|define('IMAP_FOLDER_PREFIX', '')|define('IMAP_FOLDER_PREFIX', getenv('ZPUSH_IMAP_FOLDER_PREFIX'))|" -e "s|define('IMAP_FOLDER_PREFIX_IN_INBOX', false)|define('IMAP_FOLDER_PREFIX_IN_INBOX', getenv('ZPUSH_IMAP_FOLDER_PREFIX_IN_INBOX'))|" -e "s|define('IMAP_FOLDER_INBOX', 'INBOX')|define('IMAP_FOLDER_INBOX', getenv('ZPUSH_IMAP_FOLDER_INBOX'))|" -e "s|define('IMAP_FOLDER_SENT', 'SENT')|define('IMAP_FOLDER_SENT', getenv('ZPUSH_IMAP_FOLDER_SENT'))|" -e "s|define('IMAP_FOLDER_DRAFT', 'DRAFTS')|define('IMAP_FOLDER_DRAFT', getenv('ZPUSH_IMAP_FOLDER_DRAFT'))|" -e "s|define('IMAP_FOLDER_TRASH', 'TRASH')|define('IMAP_FOLDER_TRASH', getenv('ZPUSH_IMAP_FOLDER_TRASH'))|" -e "s|define('IMAP_FOLDER_SPAM', 'SPAM')|define('IMAP_FOLDER_SPAM', getenv('ZPUSH_IMAP_FOLDER_SPAM'))|" -e "s|define('IMAP_FOLDER_ARCHIVE', 'ARCHIVE')|define('IMAP_FOLDER_ARCHIVE', getenv('ZPUSH_IMAP_FOLDER_ARCHIVE'))|" /etc/z-push/imap.conf.php # buildkit
RUN /bin/sh -c curl -o /tmp/composer-setup.php https://getcomposer.org/installer && curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig && php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" && php /tmp/composer-setup.php --no-ansi --install-dir=/usr/local/bin --filename=composer --version=${COMPOSER_VERSION} && rm -rf /tmp/* # buildkit
COPY conf/nginx /etc/nginx # buildkit
COPY conf/supervisor/supervisord.conf /etc/supervisord.conf # buildkit
COPY start.sh /start.sh # buildkit
RUN /bin/sh -c chmod 755 /start.sh # buildkit
RUN /bin/sh -c chown -R www-data:www-data /var/log/nginx && chown -R www-data:www-data /var/lib/nginx && chown -R www-data:www-data /usr/share/nginx && chown -R www-data:www-data /etc/nginx && touch /var/run/nginx.pid && chown -R www-data:www-data /var/run/nginx.pid && mkdir /var/run/php && chown -R www-data:www-data /var/run/php && touch /var/log/php-fpm.log && chown -R www-data:www-data /var/log/php-fpm.log && chown -R www-data:www-data /var/log/z-push && chown -R www-data:www-data /usr/share/z-push # buildkit
USER www-data
EXPOSE map[8080/tcp:{}]
ENTRYPOINT ["/start.sh"]

Labels

Key Value
maintainer badmf@mifi.dev
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.version 20.04
Details
Container
2023-09-03 22:29:30 +00:00
13
OCI / Docker
Versions (2) View all
latest 2023-09-03
1.0-beta 2023-09-03