1- FROM php:8.2-fpm-alpine AS vendor
2-
3- ENV COMPOSER_ALLOW_SUPERUSER 1
4- ENV COMPOSER_HOME /tmp
5- ENV COMPOSER_CACHE_DIR /dev/null
1+ FROM code4romania/php:8.2 AS vendor
62
73WORKDIR /var/www
84
9- COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
10-
11- RUN apk update && \
12- #
13- # production dependencies
14- apk add --no-cache \
15- nginx && \
16- #
17- # install extensions
5+ RUN set -ex; \
186 install-php-extensions \
19- excimer \
20- exif \
21- gd \
22- intl \
23- mbstring \
24- opcache \
25- pdo_mysql \
26- sockets \
27- zip
7+ sockets
288
299COPY --chown=www-data:www-data . /var/www
30- COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
3110
32- RUN composer install \
33- --optimize-autoloader \
34- --no-interaction \
11+ RUN set -ex; \
12+ composer install \
3513 --no-plugins \
36- --no-dev \
37- --prefer-dist
14+ --no-dev
3815
3916FROM node:20-alpine AS assets
4017
@@ -56,50 +33,11 @@ RUN npm run build
5633
5734FROM vendor
5835
59- ARG S6_OVERLAY_VERSION=3.2.0.0
60-
61- ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
62- RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz
63- ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp
64- RUN tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz
65-
66- ENTRYPOINT ["/init" ]
67-
68- COPY docker/nginx/nginx.conf /etc/nginx/nginx.conf
69- COPY docker/php/php.ini /usr/local/etc/php/php.ini
70- COPY docker/php/www.conf /usr/local/etc/php-fpm.d/zz-docker.conf
7136COPY docker/s6-rc.d /etc/s6-overlay/s6-rc.d
72-
7337COPY --from=assets --chown=www-data:www-data /build/public/build /var/www/public/build
7438
75- ARG VERSION
76- ARG REVISION
77-
78- RUN echo "$VERSION (${REVISION:0:7})" > /var/www/.version
79-
80- ENV APP_ENV=production
81- ENV APP_DEBUG=false
82- ENV LOG_CHANNEL=stderr
83- ENV CACHE_DRIVER=database
84- ENV QUEUE_CONNECTION=database
85- ENV SESSION_DRIVER=database
86-
87- # The number of jobs to process before stopping
88- ENV WORKER_MAX_JOBS=50
89-
90- # Number of seconds to sleep when no job is available
91- ENV WORKER_SLEEP=30
92-
93- # Number of seconds to rest between jobs
94- ENV WORKER_REST=1
95-
96- # The number of seconds a child process can run
97- ENV WORKER_TIMEOUT=600
98-
99- # Number of times to attempt a job before logging it failed
100- ENV WORKER_TRIES=3
10139
102- ENV SENTRY_SAMPLE_RATE=0
40+ ENV WORKER_ENABLED=true
10341
10442ENV PHP_PM_MAX_CHILDREN=64
10543
0 commit comments