snappy (production)

Published 2025-02-02 14:16:10 -05:00 by colin

Installation

docker pull git.nixc.us/colin/snappy:production
sha256:8af1a682e47ee71f356f24d10d037ec743c079f4fb8884037bab5bd91916507f

About this package

SnappyMail

Image Layers

ADD file:5758b97d8301c84a204a6e516241275d785a7cade40b2fb99f01fe122482e283 in /
CMD ["/bin/sh"]
ENV PHPIZE_DEPS=autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c
/bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz
/bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data
ENV PHP_INI_DIR=/usr/local/etc/php
/bin/sh -c set -eux; mkdir -p "$PHP_INI_DIR/conf.d"; [ ! -d /var/www/html ]; mkdir -p /var/www/html; chown www-data:www-data /var/www/html; chmod 1777 /var/www/html
ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
ENV PHP_LDFLAGS=-Wl,-O1 -pie
ENV GPG_KEYS=39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
ENV PHP_VERSION=8.2.24
ENV PHP_URL=https://www.php.net/distributions/php-8.2.24.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.2.24.tar.xz.asc
ENV PHP_SHA256=80a5225746a9eb484475b312d4c626c63a88a037d8e56d214f30205e1ba1411a
/bin/sh -c set -eux; apk add --no-cache --virtual .fetch-deps gnupg; mkdir -p /usr/src; cd /usr/src; curl -fsSL -o php.tar.xz "$PHP_URL"; if [ -n "$PHP_SHA256" ]; then echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; fi; if [ -n "$PHP_ASC_URL" ]; then curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; export GNUPGHOME="$(mktemp -d)"; for key in $GPG_KEYS; do gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; done; gpg --batch --verify php.tar.xz.asc php.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME"; fi; apk del --no-network .fetch-deps
COPY file:ce57c04b70896f77cc11eb2766417d8a1240fcffe5bba92179ec78c458844110 in /usr/local/bin/
/bin/sh -c set -eux; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev gnu-libiconv-dev libsodium-dev libxml2-dev linux-headers oniguruma-dev openssl-dev readline-dev sqlite-dev ; rm -vf /usr/include/iconv.h; export CFLAGS="$PHP_CFLAGS" CPPFLAGS="$PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" PHP_BUILD_PROVIDER='https://github.com/docker-library/php' PHP_UNAME='Linux - Docker' ; docker-php-source extract; cd /usr/src/php; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --with-config-file-path="$PHP_INI_DIR" --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" --enable-option-checking=fatal --with-mhash --with-pic --enable-mbstring --enable-mysqlnd --with-password-argon2 --with-sodium=shared --with-pdo-sqlite=/usr --with-sqlite3=/usr --with-curl --with-iconv=/usr --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear $(test "$gnuArch" = 'riscv64-linux-musl' && echo '--without-pcre-jit') --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data ; make -j "$(nproc)"; find -type f -name '*.a' -delete; make install; find /usr/local -type f -perm '/0111' -exec sh -euxc ' strip --strip-all "$@" || : ' -- '{}' + ; make clean; cp -v php.ini-* "$PHP_INI_DIR/"; cd /; docker-php-source delete; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-cache $runDeps; apk del --no-network .build-deps; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version
COPY multi:869bde9dbeae74886a05c9e2107b3e3b4877116db8c6d9adbaff2719f9fb5262 in /usr/local/bin/
/bin/sh -c docker-php-ext-enable sodium
ENTRYPOINT ["docker-php-entrypoint"]
WORKDIR /var/www/html
/bin/sh -c set -eux; cd /usr/local/etc; if [ -d php-fpm.d ]; then sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; cp php-fpm.d/www.conf.default php-fpm.d/www.conf; else mkdir php-fpm.d; cp php-fpm.conf.default php-fpm.d/www.conf; { echo '[global]'; echo 'include=etc/php-fpm.d/*.conf'; } | tee php-fpm.conf; fi; { echo '[global]'; echo 'error_log = /proc/self/fd/2'; echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; echo; echo '[www]'; echo '; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.'; echo '; https://bugs.php.net/bug.php?id=73886'; echo 'access.log = /proc/self/fd/2'; echo; echo 'clear_env = no'; echo; echo '; Ensure worker stdout and stderr are sent to the main error log.'; echo 'catch_workers_output = yes'; echo 'decorate_workers_output = no'; } | tee php-fpm.d/docker.conf; { echo '[global]'; echo 'daemonize = no'; echo; echo '[www]'; echo 'listen = 9000'; } | tee php-fpm.d/zz-docker.conf; mkdir -p "$PHP_INI_DIR/conf.d"; { echo '; https://github.com/docker-library/php/issues/878#issuecomment-938595965'; echo 'fastcgi.logging = Off'; } > "$PHP_INI_DIR/conf.d/docker-fpm.ini"
STOPSIGNAL SIGQUIT
EXPOSE 9000
CMD ["php-fpm"]
LABEL org.label-schema.description=SnappyMail webmail client image using nginx, php-fpm on Alpine
RUN /bin/sh -c apk add --no-cache ca-certificates nginx supervisor bash # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; pecl install apcu; docker-php-ext-enable apcu; docker-php-source delete; apk del .build-dependencies; # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache freetype libjpeg-turbo libpng; apk add --no-cache --virtual .deps freetype-dev libjpeg-turbo-dev libpng-dev; docker-php-ext-configure gd --with-freetype --with-jpeg; docker-php-ext-install gd; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache gnupg gpgme; apk add --no-cache --virtual .deps gpgme-dev; apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; pecl install gnupg; docker-php-ext-enable gnupg; docker-php-source delete; apk del .build-dependencies; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache imagemagick libgomp; apk add --no-cache --virtual .deps imagemagick-dev; apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; echo | pecl install imagick; docker-php-ext-enable imagick; docker-php-source delete; apk del .build-dependencies; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache icu-libs; apk add --no-cache --virtual .deps icu-dev; docker-php-ext-configure intl; docker-php-ext-install intl; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache libldap; apk add --no-cache --virtual .deps openldap-dev; docker-php-ext-configure ldap; docker-php-ext-install ldap; apk del .deps # buildkit
RUN /bin/sh -c docker-php-ext-install pdo_mysql # buildkit
RUN /bin/sh -c docker-php-ext-install opcache # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache postgresql-libs; apk add --no-cache --virtual .deps postgresql-dev; docker-php-ext-install pdo_pgsql; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache liblzf zstd-libs; apk add --no-cache --virtual .deps zstd-dev; apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; pecl install igbinary; docker-php-ext-enable igbinary; pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-lzf="yes" enable-redis-zstd="yes"' redis; docker-php-ext-enable redis; docker-php-source delete; apk del .build-dependencies; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache tidyhtml; apk add --no-cache --virtual .deps tidyhtml-dev; docker-php-ext-install tidy; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache libuuid; apk add --no-cache --virtual .deps util-linux-dev; apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; pecl install uuid; docker-php-ext-enable uuid; docker-php-source delete; apk del .build-dependencies; apk del .deps # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; wget -q https://github.com/xxtea/xxtea-pecl/tarball/3f5888a29045e12301254151737c5dab4523a1c1 -O xxtea.tar; echo '9cbfd9c27255767deb26ddedf69e738d401d88ac9762d82c8510f9768842ca18 xxtea.tar' | sha256sum -c -; tar -C /usr/src -xvf xxtea.tar; cd /usr/src/xxtea-xxtea-pecl-3f5888a; phpize; ./configure --with-php-config=/usr/local/bin/php-config --enable-xxtea=yes; make install; docker-php-ext-enable xxtea; cd -; rm -fv xxtea.tar; rm -rfv /usr/src/xxtea*; apk del .build-dependencies; # buildkit
RUN /bin/sh -c set -eux; apk add --no-cache libzip; apk add --no-cache --virtual .deps libzip-dev; docker-php-ext-install zip; apk del .deps # buildkit
COPY --chown=www-data:www-data /snappymail /snappymail # buildkit
RUN /bin/sh -c mv -v /snappymail/data /var/lib/snappymail; # buildkit
COPY --chown=root:root .docker/release/files / # buildkit
RUN /bin/sh -c set -eux; chown www-data:www-data /snappymail/include.php; chmod 440 /snappymail/include.php; chmod +x /entrypoint.sh; mv -v /usr/local/etc/php-fpm.d/docker.conf /usr/local/etc/php-fpm.d/docker.conf.disabled; mv -v /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/www.conf.disabled; mv -v /usr/local/etc/php-fpm.d/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf.disabled; # buildkit
USER root
WORKDIR /snappymail
VOLUME [/var/lib/snappymail]
EXPOSE map[8888/tcp:{}]
EXPOSE map[9000/tcp:{}]
ENTRYPOINT []
CMD ["/entrypoint.sh"]

Labels

Key Value
com.docker.compose.project snappy
com.docker.compose.service snappy
com.docker.compose.version 2.30.3
org.label-schema.description SnappyMail webmail client image using nginx, php-fpm on Alpine
org.opencontainers.image.created 2024-10-09T19:43:43.300Z
org.opencontainers.image.description SnappyMail
org.opencontainers.image.licenses AGPLv3
org.opencontainers.image.revision e345550c7fddfffdda9095deba64e98dc1c59815
org.opencontainers.image.source https://github.com/the-djmaze/snappymail
org.opencontainers.image.title snappymail
org.opencontainers.image.url https://github.com/the-djmaze/snappymail
org.opencontainers.image.version v2.38.2
Details
Container
2025-02-02 14:16:10 -05:00
9
OCI / Docker
linux/amd64
AGPLv3
74 MiB
Versions (2) View all
production 2025-02-02
staging 2025-02-02