Skip to content

Commit 5b993d0

Browse files
committed
Build passing tests now
1 parent 1a804b0 commit 5b993d0

3 files changed

Lines changed: 27 additions & 38 deletions

File tree

‎Dockerfile‎

Lines changed: 25 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,21 @@ ARG PHP_BUILD_DATE="20250925"
33

44
FROM $BASE_IMAGE AS compile
55

6-
ENV PHP_REDIS_VERSION="6.3.0" \
7-
PHP_SWOOLE_VERSION="6.2.0" \
6+
ENV \
7+
PHP_BROTLI_VERSION="0.18.3" \
88
PHP_IMAGICK_VERSION="3.8.1" \
9-
PHP_MONGODB_VERSION="2.2.1" \
10-
PHP_YAML_VERSION="2.3.0" \
9+
PHP_LZ4_VERSION="0.6.0" \
1110
PHP_MAXMINDDB_VERSION="v1.13.1" \
11+
PHP_MONGODB_VERSION="2.2.1" \
12+
PHP_OPENTELEMETRY_VERSION="1.2.1" \
13+
PHP_PROTOBUF_VERSION="5.34.0" \
14+
PHP_REDIS_VERSION="6.3.0" \
1215
PHP_SCRYPT_VERSION="2.0.1" \
13-
PHP_ZSTD_VERSION="0.15.2" \
14-
PHP_BROTLI_VERSION="0.18.3" \
1516
PHP_SNAPPY_VERSION="0.2.3" \
16-
PHP_LZ4_VERSION="0.6.0" \
17+
PHP_SWOOLE_VERSION="6.2.0" \
1718
PHP_XDEBUG_VERSION="3.5.1" \
18-
PHP_OPENTELEMETRY_VERSION="1.2.1" \
19-
PHP_PROTOBUF_VERSION="5.34.0"
19+
PHP_YAML_VERSION="2.3.0" \
20+
PHP_ZSTD_VERSION="0.15.2"
2021

2122
RUN \
2223
apk update && \
@@ -57,11 +58,11 @@ RUN \
5758
zlib-dev \
5859
zstd-dev
5960

60-
# compile from source instals
61+
# compile from source instals (least desirable method)
6162

63+
# Redis Extension
6264
FROM compile AS redis
6365
RUN \
64-
# Redis Extension
6566
git clone --depth 1 --branch $PHP_REDIS_VERSION https://github.com/phpredis/phpredis.git && \
6667
cd phpredis && \
6768
phpize && \
@@ -70,8 +71,9 @@ RUN \
7071

7172
## Swoole Extension
7273
FROM compile AS swoole
74+
RUN docker-php-ext-install sockets
7375
RUN \
74-
git clone --depth 1 --branch $PHP_SWOOLE_VERSION https://github.com/swoole/swoole-src.git && \
76+
git clone --depth 1 --branch "v$PHP_SWOOLE_VERSION" https://github.com/swoole/swoole-src.git && \
7577
cd swoole-src && \
7678
phpize && \
7779
./configure --enable-sockets --enable-http2 --enable-openssl --enable-swoole-curl && \
@@ -170,34 +172,17 @@ RUN \
170172
./configure && \
171173
make && make install
172174

173-
# PHP PECL installs
175+
# PHP PECL installs (acceptable method)
174176

175177
FROM compile AS opentelemetry
176178
RUN pecl install opentelemetry-${PHP_OPENTELEMETRY_VERSION}
177179

178180
FROM compile AS protobuf
179181
RUN pecl install protobuf-${PHP_PROTOBUF_VERSION}
180182

181-
# docker-php-extensions installs
182-
183-
FROM compile AS gd
184-
RUN docker-php-ext-install gd
185-
186-
FROM compile AS sockets
187-
RUN docker-php-ext-install sockets
188-
189-
FROM compile AS pdo_mysql
190-
RUN docker-php-ext-install pdo pdo_mysql
191-
192-
FROM compile AS pdo_pgsql
193-
RUN docker-php-ext-install pdo pdo_pgsql
194-
195-
FROM compile AS intl
196-
RUN docker-php-ext-install intl
197-
198183
FROM $BASE_IMAGE AS final
199184

200-
# PAss in ARGS to use as label values and path components
185+
# Pass in ARGS to use as label values and path components
201186

202187
ARG BASE_IMAGE
203188
ARG PHP_BUILD_DATE
@@ -249,23 +234,27 @@ RUN \
249234
&& apk del .deps \
250235
&& rm -rf /var/cache/apk/*
251236

237+
# extension installer (prefered method)
238+
239+
RUN docker-php-ext-install \
240+
gd \
241+
intl \
242+
pdo_mysql \
243+
pdo_pgsql \
244+
sockets
245+
252246
WORKDIR /usr/src/code
253247

254248
COPY --from=brotli /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/brotli.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
255-
COPY --from=gd /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/gd.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
256249
COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
257-
COPY --from=intl /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/intl.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
258250
COPY --from=lz4 /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/lz4.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
259251
COPY --from=maxmind /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/maxminddb.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
260252
COPY --from=mongodb /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/mongodb.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
261253
COPY --from=opentelemetry /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/opentelemetry.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
262-
COPY --from=pdo_mysql /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/pdo_mysql.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
263-
COPY --from=pdo_pgsql /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/pdo_pgsql.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
264254
COPY --from=protobuf /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/protobuf.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
265255
COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
266256
COPY --from=scrypt /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/scrypt.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
267257
COPY --from=snappy /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/snappy.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
268-
COPY --from=sockets /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/sockets.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
269258
COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
270259
COPY --from=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/
271260
COPY --from=yaml /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/yaml.so /usr/local/lib/php/extensions/no-debug-non-zts-$PHP_BUILD_DATE/

‎README.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ In order to run this container you'll need the Docker runtime installed.
3737
## Build
3838

3939
```shell
40-
time docker-buildx build --no-cache --tag appwrite/base:latest . | tee "build-$(date +%s).log"
41-
# tee "build-$(date +%s).log" 0.00s user 0.01s system 0% cpu 4:20.31 total
40+
time docker-buildx build --no-cache --tag appwrite/base:latest .
4241
```
4342

4443
## Scan

‎TODO.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
- changelog aligning with appwrite/appwrite
1010
- DOCKER_BUILDKIT=1 + buildx to parallel build the PHP extensions
1111
- audit system packages in Dockerfile -> final
12+
- capture build logs via ` | tee "build-$(date +%s).log"`

0 commit comments

Comments
 (0)