diff --git a/Dockerfile b/Dockerfile index 20eaae1..267b8e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,9 @@ -FROM php:8.4-cli-alpine3.21 AS base +FROM dunglas/frankenphp:1-php8.4-alpine AS base RUN apk add --no-cache \ curl \ icu-libs \ - libzip \ - && docker-php-ext-install opcache + libzip WORKDIR /app @@ -32,11 +31,12 @@ RUN apk add --no-cache ${PHPIZE_DEPS} linux-headers \ && docker-php-ext-enable xdebug \ && apk del ${PHPIZE_DEPS} COPY docker/php/xdebug.ini /usr/local/etc/php/conf.d/docker-xdebug.ini +COPY docker/frankenphp/Caddyfile.dev /etc/caddy/Caddyfile COPY composer.json composer.lock* ./ RUN composer install --no-scripts --no-interaction --prefer-dist EXPOSE 8080 ENV APP_ENV=dev APP_DEBUG=1 -CMD ["php", "-S", "0.0.0.0:8080", "-t", "public", "public/index.php"] +CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile"] # ── final (prod) stage — no composer binary ──────────────────────────────────── FROM base AS final @@ -45,6 +45,7 @@ RUN addgroup -S app && adduser -S -G app app COPY --from=build /app/vendor /app/vendor COPY . . +COPY docker/frankenphp/Caddyfile /etc/caddy/Caddyfile RUN mkdir -p var/cache var/log \ && chown -R app:app /app @@ -54,4 +55,4 @@ USER app EXPOSE 8080 ENV APP_ENV=prod APP_DEBUG=0 -CMD ["php", "-S", "0.0.0.0:8080", "-t", "public", "public/index.php"] +CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile"]