| ADD alpine-minirootfs-3.22.1-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=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA |
| ENV PHP_VERSION=8.3.24 |
| ENV PHP_URL=https://www.php.net/distributions/php-8.3.24.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.3.24.tar.xz.asc |
| ENV PHP_SHA256=388ee5fd111097e97bae439bff46aec4ea27f816d3f0c2cb5490a41410d44251 |
| 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; 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"; 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 --enable-phpdbg --enable-phpdbg-readline --with-pear ; 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 opcache # buildkit |
| RUN /bin/sh -c docker-php-ext-enable sodium # buildkit |
| ENTRYPOINT ["docker-php-entrypoint"] |
| CMD ["php" "-a"] |
| LABEL maintainer=team@appwrite.io |
| ENV DOCKER_CONFIG=/.docker |
| ENV DOCKER_COMPOSE_VERSION=v2.33.1 |
| RUN /bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit |
| RUN /bin/sh -c set -ex && apk --no-cache add postgresql-dev # buildkit |
| RUN /bin/sh -c apk update && apk add --no-cache --virtual .deps linux-headers make automake autoconf gcc g++ curl-dev && apk add --no-cache libstdc++ rsync brotli-dev lz4-dev yaml-dev imagemagick imagemagick-dev libjpeg-turbo-dev jpeg-dev libjxl-dev libavif libheif libwebp imagemagick-heic zlib-dev libpng-dev libmaxminddb-dev certbot docker-cli libgomp git zip && docker-php-ext-install sockets pdo_mysql pdo_pgsql intl && apk del .deps && rm -rf /var/cache/apk/* # buildkit |
| RUN /bin/sh -c mkdir -p $DOCKER_CONFIG/cli-plugins && ARCH=$(uname -m) && if [ $ARCH == "armv7l" ]; then ARCH="armv7"; fi && curl -SL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-linux-$ARCH -o $DOCKER_CONFIG/cli-plugins/docker-compose && chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose # buildkit |
| WORKDIR /usr/src/code |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/maxminddb.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/scrypt.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/zstd.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/brotli.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/opentelemetry.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/protobuf.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| COPY /usr/local/lib/php/extensions/no-debug-non-zts-20230831/gd.so /usr/local/lib/php/extensions/no-debug-non-zts-20230831/ # buildkit |
| RUN /bin/sh -c docker-php-ext-enable swoole redis imagick yaml maxminddb scrypt zstd brotli lz4 snappy opentelemetry protobuf gd mongodb # buildkit |
| EXPOSE [80/tcp] |
| CMD ["tail" "-f" "/dev/null"] |
| LABEL maintainer=team@appwrite.io |
| ARG VERSION=1.8.1 |
| ARG DEBUG=false |
| ENV DEBUG=false |
| ENV _APP_VERSION=1.8.1 _APP_HOME=https://appwrite.io |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c if [ "$DEBUG" == "true" ]; then apk add boost boost-dev; fi # buildkit |
| WORKDIR /usr/src/code |
| COPY /usr/local/src/vendor /usr/src/code/vendor # buildkit |
| COPY ./app /usr/src/code/app # buildkit |
| COPY ./public /usr/src/code/public # buildkit |
| COPY ./bin /usr/local/bin # buildkit |
| COPY ./docs /usr/src/code/docs # buildkit |
| COPY ./src /usr/src/code/src # buildkit |
| COPY ./dev /usr/src/code/dev # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c mkdir -p /storage/uploads && mkdir -p /storage/imports && mkdir -p /storage/cache && mkdir -p /storage/config && mkdir -p /storage/certificates && mkdir -p /storage/functions && mkdir -p /storage/debug && chown -Rf www-data:www-data /storage/uploads && chmod -Rf 0755 /storage/uploads && chown -Rf www-data:www-data /storage/imports && chmod -Rf 0755 /storage/imports && chown -Rf www-data:www-data /storage/cache && chmod -Rf 0755 /storage/cache && chown -Rf www-data:www-data /storage/config && chmod -Rf 0755 /storage/config && chown -Rf www-data:www-data /storage/certificates && chmod -Rf 0755 /storage/certificates && chown -Rf www-data:www-data /storage/functions && chmod -Rf 0755 /storage/functions && chown -Rf www-data:www-data /storage/debug && chmod -Rf 0755 /storage/debug # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c chmod +x /usr/local/bin/doctor && chmod +x /usr/local/bin/install && chmod +x /usr/local/bin/maintenance && chmod +x /usr/local/bin/migrate && chmod +x /usr/local/bin/realtime && chmod +x /usr/local/bin/schedule-functions && chmod +x /usr/local/bin/schedule-executions && chmod +x /usr/local/bin/schedule-messages && chmod +x /usr/local/bin/sdks && chmod +x /usr/local/bin/specs && chmod +x /usr/local/bin/ssl && chmod +x /usr/local/bin/screenshot && chmod +x /usr/local/bin/test && chmod +x /usr/local/bin/upgrade && chmod +x /usr/local/bin/vars && chmod +x /usr/local/bin/queue-retry && chmod +x /usr/local/bin/queue-count-failed && chmod +x /usr/local/bin/queue-count-processing && chmod +x /usr/local/bin/queue-count-success && chmod +x /usr/local/bin/worker-audits && chmod +x /usr/local/bin/worker-builds && chmod +x /usr/local/bin/worker-certificates && chmod +x /usr/local/bin/worker-databases && chmod +x /usr/local/bin/worker-deletes && chmod +x /usr/local/bin/worker-functions && chmod +x /usr/local/bin/worker-mails && chmod +x /usr/local/bin/worker-messaging && chmod +x /usr/local/bin/worker-migrations && chmod +x /usr/local/bin/worker-webhooks && chmod +x /usr/local/bin/worker-stats-usage && chmod +x /usr/local/bin/stats-resources && chmod +x /usr/local/bin/worker-stats-resources # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c mkdir -p /etc/letsencrypt/live/ && chmod -Rf 755 /etc/letsencrypt/live/ # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c if [ "$DEBUG" = "true" ]; then cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini; fi # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c if [ "$DEBUG" = "true" ]; then mkdir -p /tmp/xdebug; fi # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c if [ "$DEBUG" = "true" ]; then apk add --update --no-cache openssh-client github-cli; fi # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c if [ "$DEBUG" = "false" ]; then rm -rf /usr/src/code/dev; fi # buildkit |
| RUN |2 VERSION=1.8.1 DEBUG=false /bin/sh -c if [ "$DEBUG" = "false" ]; then rm -f /usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so; fi # buildkit |
| EXPOSE [80/tcp] |
| CMD ["php" "app/http.php"] |
| COPY patches/utopia-queue-redis.php /usr/src/code/vendor/utopia-php/queue/src/Queue/Connection/Redis.php # buildkit |
| COPY patches/registers.php /usr/src/code/app/init/registers.php # buildkit |