fix: aligen docker image with symfyon stu
This commit is contained in:
+2
-2
@@ -31,7 +31,7 @@ vendor/
|
||||
# Runtime dirs (generated at build or run time, not from source)
|
||||
var/
|
||||
|
||||
# Env files — config is injected at runtime via Docker environment variables
|
||||
.env
|
||||
# Env files — .env contains only placeholder defaults and is needed by composer dump-env;
|
||||
# local overrides with real secrets stay excluded
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
+24
-13
@@ -1,9 +1,16 @@
|
||||
#syntax=docker/dockerfile:1
|
||||
|
||||
FROM dunglas/frankenphp:1-php8.4-alpine AS base
|
||||
|
||||
RUN apk add --no-cache icu-dev libzip-dev \
|
||||
&& docker-php-ext-install -j$(nproc) intl zip \
|
||||
&& docker-php-ext-install -j$(nproc) intl opcache zip \
|
||||
&& apk del icu-dev libzip-dev \
|
||||
&& apk add --no-cache curl icu-libs libzip
|
||||
&& apk add --no-cache curl icu-libs libzip \
|
||||
&& cp "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" \
|
||||
&& mkdir -p $PHP_INI_DIR/app.conf.d
|
||||
|
||||
ENV PHP_INI_SCAN_DIR=":$PHP_INI_DIR/app.conf.d"
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -21,25 +28,29 @@ RUN composer install \
|
||||
# ── build stage (generate optimised classmap with source present) ──────────────
|
||||
FROM deps AS build
|
||||
COPY . .
|
||||
RUN composer dump-autoload --optimize --no-dev --no-interaction && \
|
||||
RUN composer dump-autoload --classmap-authoritative --no-dev --no-interaction && \
|
||||
mkdir -p var/cache var/log && \
|
||||
APP_ENV=prod APP_SECRET=placeholder php bin/console cache:warmup --no-debug
|
||||
APP_ENV=prod APP_SECRET=placeholder php bin/console cache:warmup --no-debug && \
|
||||
composer dump-env prod
|
||||
|
||||
# ── final (prod) stage — no composer binary ────────────────────────────────────
|
||||
FROM base AS final
|
||||
|
||||
RUN addgroup -S app && adduser -S -G app app
|
||||
|
||||
COPY --from=build /app/vendor /app/vendor
|
||||
COPY --from=build /app/var/cache/prod /app/var/cache/prod
|
||||
COPY bin/ ./bin/
|
||||
COPY config/ ./config/
|
||||
COPY public/ ./public/
|
||||
COPY src/ ./src/
|
||||
COPY composer.json composer.lock ./
|
||||
COPY docker/frankenphp/Caddyfile /etc/caddy/Caddyfile
|
||||
COPY --link --from=build /app/vendor /app/vendor
|
||||
COPY --link --from=build /app/var/cache/prod /app/var/cache/prod
|
||||
COPY --link bin/ ./bin/
|
||||
COPY --link config/ ./config/
|
||||
COPY --link public/ ./public/
|
||||
COPY --link src/ ./src/
|
||||
COPY --link composer.json composer.lock ./
|
||||
COPY --link docker/frankenphp/Caddyfile /etc/caddy/Caddyfile
|
||||
COPY --link docker/php/conf.d/20-app.prod.ini $PHP_INI_DIR/app.conf.d/
|
||||
|
||||
RUN mkdir -p var/cache/prod/pools var/log && chown -R app:app /app
|
||||
RUN chmod +x bin/console && \
|
||||
mkdir -p var/cache/prod/pools var/log /config/caddy /data/caddy && \
|
||||
chown -R app:app /app /config /data
|
||||
|
||||
USER app
|
||||
|
||||
|
||||
+8
-2
@@ -1,9 +1,11 @@
|
||||
FROM dunglas/frankenphp:1-php8.4-alpine
|
||||
|
||||
RUN apk add --no-cache icu-dev libzip-dev \
|
||||
&& docker-php-ext-install -j$(nproc) intl zip \
|
||||
&& docker-php-ext-install -j$(nproc) intl opcache zip \
|
||||
&& apk del icu-dev libzip-dev \
|
||||
&& apk add --no-cache curl icu-libs libzip
|
||||
&& apk add --no-cache curl icu-libs libzip \
|
||||
&& cp "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" \
|
||||
&& mkdir -p $PHP_INI_DIR/app.conf.d
|
||||
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
|
||||
@@ -12,9 +14,13 @@ RUN apk add --no-cache ${PHPIZE_DEPS} linux-headers \
|
||||
&& docker-php-ext-enable xdebug \
|
||||
&& apk del ${PHPIZE_DEPS}
|
||||
|
||||
ENV PHP_INI_SCAN_DIR=":$PHP_INI_DIR/app.conf.d"
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY docker/php/xdebug.ini /usr/local/etc/php/conf.d/docker-xdebug.ini
|
||||
COPY docker/php/conf.d/20-app.dev.ini $PHP_INI_DIR/app.conf.d/
|
||||
COPY docker/frankenphp/Caddyfile.dev /etc/caddy/Caddyfile
|
||||
COPY composer.json composer.lock* ./
|
||||
RUN composer install --no-scripts --no-interaction --prefer-dist
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
opcache.validate_timestamps=1
|
||||
opcache.revalidate_freq=0
|
||||
@@ -0,0 +1,6 @@
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=0
|
||||
opcache.memory_consumption=128
|
||||
opcache.max_accelerated_files=20000
|
||||
opcache.validate_timestamps=0
|
||||
expose_php=0
|
||||
Reference in New Issue
Block a user