yt-nextcloud-container (30.0.7-fpm-alpine)

Published 2025-03-18 22:42:05 +03:00 by ymnuk in ymnuk/yt-nextcloud-container

Installation

docker pull git.ymnuktech.ru/ymnuk/yt-nextcloud-container:30.0.7-fpm-alpine
sha256:3ce064316b5bbb46892f8e8cda3a27d9a58ed8bda2d49d4bb226c238d274f4e7

Image layers

ADD alpine-minirootfs-3.21.3-x86_64.tar.gz / # buildkit
CMD ["/bin/sh"]
ENV PHPIZE_DEPS=autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c
RUN /bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz # buildkit
RUN /bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data # buildkit
ENV PHP_INI_DIR=/usr/local/etc/php
RUN /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 # buildkit
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.28
ENV PHP_URL=https://www.php.net/distributions/php-8.2.28.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.2.28.tar.xz.asc
ENV PHP_SHA256=af8c9153153a7f489153b7a74f2f29a5ee36f5cb2c6c6929c98411a577e89c91
RUN /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 # buildkit
COPY docker-php-source /usr/local/bin/ # buildkit
RUN /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 # buildkit
COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
ENTRYPOINT ["docker-php-entrypoint"]
WORKDIR /var/www/html
RUN /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" # buildkit
STOPSIGNAL SIGQUIT
EXPOSE map[9000/tcp:{}]
CMD ["php-fpm"]
ENV IMAGICK_COMMIT_HASH=d7d3c24af1b4f599897408f1714600b69a56473b
RUN /bin/sh -c set -ex; apk add --no-cache imagemagick imagemagick-pdf imagemagick-jpeg imagemagick-raw imagemagick-tiff imagemagick-heic imagemagick-webp imagemagick-svg rsync ; rm /var/spool/cron/crontabs/root; echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data # buildkit
RUN /bin/sh -c set -ex; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS autoconf freetype-dev gmp-dev icu-dev imagemagick-dev libevent-dev libjpeg-turbo-dev libmcrypt-dev libmemcached-dev libpng-dev libwebp-dev libxml2-dev libzip-dev openldap-dev pcre-dev postgresql-dev ; docker-php-ext-configure ftp --with-openssl-dir=/usr; docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; docker-php-ext-configure ldap; docker-php-ext-install -j "$(nproc)" bcmath exif ftp gd gmp intl ldap opcache pcntl pdo_mysql pdo_pgsql sysvsem zip ; curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; tar -xzf imagick.tar.gz -C /tmp; rm imagick.tar.gz; cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; phpize; ./configure; make; make install; cd; rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; pecl install APCu-5.1.24; pecl install igbinary-3.2.16; pecl install memcached-3.3.0 --configureoptions 'enable-memcached-igbinary="yes"'; pecl install redis-6.1.0 --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; docker-php-ext-enable apcu igbinary imagick memcached redis ; rm -r /tmp/pear; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; apk del --no-network .build-deps # buildkit
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_LIMIT=512M
ENV PHP_OPCACHE_MEMORY_CONSUMPTION=128
RUN /bin/sh -c { echo 'opcache.enable=1'; echo 'opcache.interned_strings_buffer=32'; echo 'opcache.max_accelerated_files=10000'; echo 'opcache.memory_consumption=${PHP_OPCACHE_MEMORY_CONSUMPTION}'; echo 'opcache.save_comments=1'; echo 'opcache.revalidate_freq=60'; echo 'opcache.jit=1255'; echo 'opcache.jit_buffer_size=8M'; } > "${PHP_INI_DIR}/conf.d/opcache-recommended.ini"; echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; { echo 'apc.serializer=igbinary'; echo 'session.serialize_handler=igbinary'; } >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; { echo 'memory_limit=${PHP_MEMORY_LIMIT}'; echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; echo 'post_max_size=${PHP_UPLOAD_LIMIT}'; } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; mkdir /var/www/data; mkdir -p /docker-entrypoint-hooks.d/pre-installation /docker-entrypoint-hooks.d/post-installation /docker-entrypoint-hooks.d/pre-upgrade /docker-entrypoint-hooks.d/post-upgrade /docker-entrypoint-hooks.d/before-starting; chown -R www-data:root /var/www; chmod -R g=u /var/www # buildkit
VOLUME [/var/www/html]
ENV NEXTCLOUD_VERSION=30.0.7
RUN /bin/sh -c set -ex; apk add --no-cache --virtual .fetch-deps bzip2 gnupg ; curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.7.tar.bz2"; curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.7.tar.bz2.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; tar -xjf nextcloud.tar.bz2 -C /usr/src/; gpgconf --kill all; rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; mkdir -p /usr/src/nextcloud/data; mkdir -p /usr/src/nextcloud/custom_apps; chmod +x /usr/src/nextcloud/occ; apk del --no-network .fetch-deps # buildkit
COPY *.sh upgrade.exclude / # buildkit
COPY config/* /usr/src/nextcloud/config/ # buildkit
ENTRYPOINT ["/entrypoint.sh"]
CMD ["php-fpm"]
/bin/sh -c apk add --no-cache bzip2 bzip2-dev alpine-sdk cmake libx11-dev php83-dev openblas openblas-dev nodejs ffmpeg && docker-php-ext-install bz2 && git clone https://github.com/davisking/dlib.git && mkdir -p dlib/dlib/build && cd dlib/dlib/build && cmake -DBUILD_SHARED_LIBS=ON .. && make -j$(nproc) && make install && cd ../../.. && git clone https://github.com/goodspb/pdlib.git && cd pdlib && phpize && ./configure && make -j$(nproc) && make install && cd .. && chmod 755 /usr/local/lib/php/extensions/no-debug-non-zts-20220829/pdlib.so && echo 'extension=/usr/local/lib/php/extensions/no-debug-non-zts-20220829/pdlib.so' > /usr/local/etc/php/conf.d/pdlib.ini && echo memory_limit=1024M > /usr/local/etc/php/conf.d/memory-limit.ini && rm -rf dlib pdlib && apk del libx11-dev bzip2-dev php83-dev alpine-sdk openblas-dev && rm -rf /var/cache/apk/*
LABEL org.opencontainers.image.created=2025-03-18T19:34:31Z
LABEL org.opencontainers.image.revision=c616e54bd800d78af6bdb688261b7db4e5338130
LABEL org.opencontainers.image.source=http://192.168.0.250:8088/ymnuk/yt-nextcloud-container.git
LABEL org.opencontainers.image.url=http://192.168.0.250:8088/ymnuk/yt-nextcloud-container

Labels

Key Value
org.opencontainers.image.created 2025-03-18T19:34:31Z
org.opencontainers.image.revision c616e54bd800d78af6bdb688261b7db4e5338130
org.opencontainers.image.source http://192.168.0.250:8088/ymnuk/yt-nextcloud-container.git
org.opencontainers.image.url http://192.168.0.250:8088/ymnuk/yt-nextcloud-container
Details
Container
2025-03-18 22:42:05 +03:00
2
OCI / Docker
linux/amd64
372 MiB
Versions (12) View all
31.0.13-debian 2026-01-22
latest 2026-01-22
31.0.13-alpine 2026-01-22
30.0.7-fpm-debian 2025-03-18
30.0.7-fpm-alpine 2025-03-18