diff --git a/Dockerfile b/Dockerfile index 7d583aad2..8b18d71eb 100755 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,8 @@ ENV PHP_REDIS_VERSION=5.3.7 \ PHP_SWOOLE_VERSION=v4.8.10 \ PHP_IMAGICK_VERSION=3.7.0 \ PHP_YAML_VERSION=2.2.2 \ - PHP_MAXMINDDB_VERSION=v1.11.0 + PHP_MAXMINDDB_VERSION=v1.11.0 \ + PHP_ZSTD_VERSION="master" RUN \ apk add --no-cache --virtual .deps \ @@ -50,7 +51,8 @@ RUN \ yaml-dev \ imagemagick \ imagemagick-dev \ - libmaxminddb-dev + libmaxminddb-dev \ + zstd-dev RUN docker-php-ext-install sockets @@ -123,6 +125,15 @@ RUN \ ./configure && \ make && make install +# Zstd Compression +FROM compile as zstd +RUN git clone --recursive --depth 1 --branch $PHP_ZSTD_VERSION https://github.com/kjdev/php-ext-zstd.git \ + && cd php-ext-zstd \ + && phpize \ + && ./configure --with-libzstd \ + && make && make install + + # Rust Extensions Compile Image FROM php:8.0.18-cli as rust_compile @@ -293,6 +304,7 @@ COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yaml.so COPY --from=maxmind /usr/local/lib/php/extensions/no-debug-non-zts-20200930/maxminddb.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-20200930/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ COPY --from=scrypt /usr/local/lib/php/extensions/php-scrypt/target/libphp_scrypt.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ +COPY --from=zstd /usr/local/lib/php/extensions/no-debug-non-zts-20200930/zstd.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/ # Add Source Code COPY ./app /usr/src/code/app @@ -350,6 +362,7 @@ RUN echo extension=imagick.so >> /usr/local/etc/php/conf.d/imagick.ini RUN echo extension=yaml.so >> /usr/local/etc/php/conf.d/yaml.ini RUN echo extension=maxminddb.so >> /usr/local/etc/php/conf.d/maxminddb.ini RUN echo extension=libphp_scrypt.so >> /usr/local/etc/php/conf.d/libphp_scrypt.ini +RUN echo extension=zstd.so >> /usr/local/etc/php/conf.d/php.ini RUN if [ "$DEBUG" == "true" ]; then printf "zend_extension=yasd \nyasd.debug_mode=remote \nyasd.init_file=/usr/local/dev/yasd_init.php \nyasd.remote_port=9005 \nyasd.log_level=-1" >> /usr/local/etc/php/conf.d/yasd.ini; fi RUN if [ "$DEBUG" == "true" ]; then echo "opcache.enable=0" >> /usr/local/etc/php/conf.d/appwrite.ini; fi