From 45d5f14b83c45704405520b6a5c1d927055d3da8 Mon Sep 17 00:00:00 2001 From: Darshan Date: Sat, 13 Dec 2025 16:43:19 +0530 Subject: [PATCH 1/2] add: targets. --- .github/workflows/publish.yml | 1 + .github/workflows/release.yml | 5 +++-- Dockerfile | 31 +++++++++++++++++++++---------- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c78156ca04..180eb5428d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -42,6 +42,7 @@ jobs: with: context: . platforms: linux/amd64,linux/arm64 + target: production build-args: | VERSION=${{ steps.meta.outputs.version }} VITE_APPWRITE_GROWTH_ENDPOINT=https://growth.appwrite.io/v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 862d669466..5426f53583 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,10 +20,10 @@ jobs: submodules: recursive - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v2 @@ -46,6 +46,7 @@ jobs: with: context: . platforms: linux/amd64,linux/arm64 + target: production build-args: | VERSION=${{ steps.meta.outputs.version }} push: true diff --git a/Dockerfile b/Dockerfile index e932297671..d082d9c81f 100755 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ RUN composer install --ignore-platform-reqs --optimize-autoloader \ --no-plugins --no-scripts --prefer-dist \ `if [ "$TESTING" != "true" ]; then echo "--no-dev"; fi` -FROM appwrite/base:0.10.6 AS final +FROM appwrite/base:0.10.6 AS base LABEL maintainer="team@appwrite.io" @@ -36,9 +36,7 @@ COPY --from=composer /usr/local/src/vendor /usr/src/code/vendor COPY ./app /usr/src/code/app COPY ./public /usr/src/code/public COPY ./bin /usr/local/bin -COPY ./docs /usr/src/code/docs COPY ./src /usr/src/code/src -COPY ./dev /usr/src/code/dev # Set Volumes RUN mkdir -p /storage/uploads && \ @@ -90,15 +88,28 @@ RUN chmod +x /usr/local/bin/doctor && \ chmod +x /usr/local/bin/stats-resources && \ chmod +x /usr/local/bin/worker-stats-resources -# Letsencrypt Permissions RUN mkdir -p /etc/letsencrypt/live/ && chmod -Rf 755 /etc/letsencrypt/live/ -# Enable Extensions -RUN if [ "$DEBUG" = "true" ]; then cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini; fi -RUN if [ "$DEBUG" = "true" ]; then mkdir -p /tmp/xdebug; fi -RUN if [ "$DEBUG" = "true" ]; then apk add --update --no-cache openssh-client github-cli; fi -RUN if [ "$DEBUG" = "false" ]; then rm -rf /usr/src/code/dev; fi -RUN if [ "$DEBUG" = "false" ]; then rm -f /usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so; fi +FROM base AS production + +RUN rm -rf /usr/src/code/app/config/specs && \ + rm -f /usr/local/lib/php/extensions/no-debug-non-zts-20240924/xdebug.so && \ + find /usr -name '*.a' -delete 2>/dev/null || true && \ + find /usr -type d -name '__pycache__' -exec rm -rf {} + 2>/dev/null || true && \ + find /usr -name '*.pyc' -delete 2>/dev/null || true + +EXPOSE 80 + +CMD [ "php", "app/http.php" ] + +FROM base AS development + +COPY ./docs /usr/src/code/docs +COPY ./dev /usr/src/code/dev + +RUN cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini && \ + mkdir -p /tmp/xdebug && \ + apk add --update --no-cache openssh-client github-cli EXPOSE 80 From f3f3ac80f8f3e8de546adf9aaf4278a965648663 Mon Sep 17 00:00:00 2001 From: Darshan Date: Sat, 13 Dec 2025 18:59:12 +0530 Subject: [PATCH 2/2] fix: tests. --- Dockerfile | 6 ++++-- docker-compose.yml | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index d082d9c81f..e146008222 100755 --- a/Dockerfile +++ b/Dockerfile @@ -107,9 +107,11 @@ FROM base AS development COPY ./docs /usr/src/code/docs COPY ./dev /usr/src/code/dev -RUN cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini && \ +RUN if [ "$DEBUG" = "true" ]; then \ + cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini && \ mkdir -p /tmp/xdebug && \ - apk add --update --no-cache openssh-client github-cli + apk add --update --no-cache openssh-client github-cli; \ + fi EXPOSE 80 diff --git a/docker-compose.yml b/docker-compose.yml index f246dbb456..87b45d7e4f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -54,6 +54,7 @@ services: image: appwrite-dev build: context: . + target: development args: DEBUG: false TESTING: true