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)
|
# Runtime dirs (generated at build or run time, not from source)
|
||||||
var/
|
var/
|
||||||
|
|
||||||
# Env files — config is injected at runtime via Docker environment variables
|
# Env files — .env contains only placeholder defaults and is needed by composer dump-env;
|
||||||
.env
|
# local overrides with real secrets stay excluded
|
||||||
.env.local
|
.env.local
|
||||||
.env.*.local
|
.env.*.local
|
||||||
|
|||||||
+24
-13
@@ -1,9 +1,16 @@
|
|||||||
|
#syntax=docker/dockerfile:1
|
||||||
|
|
||||||
FROM dunglas/frankenphp:1-php8.4-alpine AS base
|
FROM dunglas/frankenphp:1-php8.4-alpine AS base
|
||||||
|
|
||||||
RUN apk add --no-cache icu-dev libzip-dev \
|
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 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
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -21,25 +28,29 @@ RUN composer install \
|
|||||||
# ── build stage (generate optimised classmap with source present) ──────────────
|
# ── build stage (generate optimised classmap with source present) ──────────────
|
||||||
FROM deps AS build
|
FROM deps AS build
|
||||||
COPY . .
|
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 && \
|
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 ────────────────────────────────────
|
# ── final (prod) stage — no composer binary ────────────────────────────────────
|
||||||
FROM base AS final
|
FROM base AS final
|
||||||
|
|
||||||
RUN addgroup -S app && adduser -S -G app app
|
RUN addgroup -S app && adduser -S -G app app
|
||||||
|
|
||||||
COPY --from=build /app/vendor /app/vendor
|
COPY --link --from=build /app/vendor /app/vendor
|
||||||
COPY --from=build /app/var/cache/prod /app/var/cache/prod
|
COPY --link --from=build /app/var/cache/prod /app/var/cache/prod
|
||||||
COPY bin/ ./bin/
|
COPY --link bin/ ./bin/
|
||||||
COPY config/ ./config/
|
COPY --link config/ ./config/
|
||||||
COPY public/ ./public/
|
COPY --link public/ ./public/
|
||||||
COPY src/ ./src/
|
COPY --link src/ ./src/
|
||||||
COPY composer.json composer.lock ./
|
COPY --link composer.json composer.lock ./
|
||||||
COPY docker/frankenphp/Caddyfile /etc/caddy/Caddyfile
|
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
|
USER app
|
||||||
|
|
||||||
|
|||||||
+8
-2
@@ -1,9 +1,11 @@
|
|||||||
FROM dunglas/frankenphp:1-php8.4-alpine
|
FROM dunglas/frankenphp:1-php8.4-alpine
|
||||||
|
|
||||||
RUN apk add --no-cache icu-dev libzip-dev \
|
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 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
|
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 \
|
&& docker-php-ext-enable xdebug \
|
||||||
&& apk del ${PHPIZE_DEPS}
|
&& apk del ${PHPIZE_DEPS}
|
||||||
|
|
||||||
|
ENV PHP_INI_SCAN_DIR=":$PHP_INI_DIR/app.conf.d"
|
||||||
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY docker/php/xdebug.ini /usr/local/etc/php/conf.d/docker-xdebug.ini
|
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 docker/frankenphp/Caddyfile.dev /etc/caddy/Caddyfile
|
||||||
COPY composer.json composer.lock* ./
|
COPY composer.json composer.lock* ./
|
||||||
RUN composer install --no-scripts --no-interaction --prefer-dist
|
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