@@ -11,7 +11,21 @@ FROM composer:${COMPOSER_VERSION} AS vendor
1111
1212WORKDIR /app
1313COPY composer.json composer.lock /app/
14- RUN composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader --no-ansi --no-scripts --no-progress
14+ COPY vendor-local/laravel-gramps-xml /app/vendor-local/laravel-gramps-xml
15+ RUN composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader --no-ansi --no-scripts --no-progress --ignore-platform-req=php --ignore-platform-req=ext-intl --ignore-platform-req=ext-bcmath
16+
17+ FROM node:${NODE_VERSION} AS node_modules
18+
19+ WORKDIR /app
20+ COPY package.json package-lock.json ./
21+ RUN npm ci --only=prod && \
22+ npm install --save-dev
23+
24+ WORKDIR /app
25+ COPY . .
26+ COPY --from=vendor /app/vendor ./vendor
27+ RUN npm run build && \
28+ rm -rf node_modules
1529
1630FROM php:${PHP_VERSION}-cli-alpine
1731
@@ -28,7 +42,7 @@ ARG TZ=UTC
2842ENV TERM=xterm-color \
2943 WITH_HORIZON=false \
3044 WITH_SCHEDULER=false \
31- OCTANE_SERVER=swoole \
45+ OCTANE_SERVER=frankenphp \
3246 USER=octane \
3347 ROOT=/var/www/html \
3448 COMPOSER_FUND=0 \
@@ -72,11 +86,7 @@ RUN apk update && \
7286 intl \
7387 gd \
7488 redis \
75- rdkafka \
76- memcached \
77- igbinary \
7889 ldap \
79- swoole \
8090 && docker-php-source delete \
8191 && rm -rf /var/cache/apk/* /tmp/* /var/tmp/*
8292
@@ -109,9 +119,10 @@ COPY --chown=${USER}:${USER} --from=vendor /usr/bin/composer /usr/bin/composer
109119COPY --chown=${USER}:${USER} --from=vendor /app/vendor /var/www/html/vendor
110120COPY --chown=${USER}:${USER} composer.json composer.lock ./
111121
112- RUN composer dump-autoload --classmap-authoritative --no-dev --no-interaction --no-ansi
122+ RUN composer dump-autoload --classmap-authoritative --no-dev --no-interaction --no-ansi --ignore-platform-req=php --no-scripts
113123
114124COPY --chown=${USER}:${USER} . .
125+ COPY --chown=${USER}:${USER} --from=node_modules /app/public/build /var/www/html/public/build
115126
116127RUN mkdir -p \
117128 storage/framework/sessions \
@@ -123,6 +134,7 @@ RUN mkdir -p \
123134
124135COPY --chown=${USER}:${USER} .docker/supervisord.conf /etc/supervisor/
125136COPY --chown=${USER}:${USER} .docker/octane/Swoole/supervisord.swoole.conf /etc/supervisor/conf.d/
137+ COPY --chown=${USER}:${USER} .docker/octane/FrankenPHP/supervisord.frankenphp.conf /etc/supervisor/conf.d/
126138COPY --chown=${USER}:${USER} .docker/supervisord.*.conf /etc/supervisor/conf.d/
127139COPY --chown=${USER}:${USER} .docker/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
128140COPY --chown=${USER}:${USER} .docker/start-container /usr/local/bin/start-container
@@ -132,6 +144,8 @@ RUN composer install \
132144 --no-interaction \
133145 --no-ansi \
134146 --no-dev \
147+ --ignore-platform-req=php \
148+ --no-scripts \
135149 && composer clear-cache
136150
137151COPY .env.example ./.env
0 commit comments