Add php gd and swoole/octane support#132
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR upgrades the Docker images for both development and production, adds PHP GD and Swoole/c-ares support for Octane, and removes the legacy mix-manifest.json in favor of the new asset build pipeline.
- Bumps UBI base images to 9.6 and includes php-gd, php-swoole, and c-ares.
- Deletes old
public/mix-manifest.jsonand verifies presence of newpublic/build/manifest.jsonin entrypoint. - Introduces optimized multi-stage Containerfiles, entrypoint scripts, and documentation for dev and release images.
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| public/mix-manifest.json | Removed legacy manifest now replaced by public/build/manifest.json. |
| infra/release/image/php.ini | Added PHP tuning and OPcache configuration. |
| infra/release/image/entrypoint.sh | Script to verify dependencies and start Octane in production. |
| infra/release/image/README.md | Documentation for building the production image. |
| infra/release/image/Containerfile | Multi-stage Containerfile for optimized production image. |
| infra/dev/image/README.md | Documentation for building and running the development image. |
| infra/dev/image/Containerfile | Updated dev Containerfile: base image bump, added GD/Swoole. |
| docker-compose.yml | Bumped laravel.test image tag from v1 to v2. |
| .env.example | Updated commented DEV_SERVER_COMMAND for Octane support. |
| .dockerignore | Adjusted ignore patterns (removed .github/workflows). |
Comments suppressed due to low confidence (1)
.dockerignore:1
- [nitpick] Removing
.github/workflowsfrom.dockerignorecan bloat the build context. Consider re-adding it to keep your image builds lean.
.git
|
|
||
| LABEL maintainer="ThunderAl <community@thunderal.net>" \ | ||
| org.opencontainers.image.authors="ThunderAl <community@thunderal.net>" \ | ||
| org.opencontainers.image.title="EF Laraavel release environment" \ |
There was a problem hiding this comment.
[nitpick] Typo in 'Laraavel'; should be 'Laravel' for consistency and accuracy.
| org.opencontainers.image.title="EF Laraavel release environment" \ | |
| org.opencontainers.image.title="EF Laravel release environment" \ |
| # list of all PHP packages to be installed | ||
| ARG PHP_PACKAGES="php-cli composer php-intl php-json php-mbstring php-mysqlnd php-opcache php-pdo php-gd php-redis php-xml php-swoole php-zip php-sodium php-bcmath" | ||
|
|
||
| # nodels version to be installed |
There was a problem hiding this comment.
[nitpick] Typo 'nodels' should be 'NodeJS' or 'Node.js' in the comment.
| # nodels version to be installed | |
| # Node.js version to be installed |
| ; 0 means it will check on every request | ||
| ; 0 is irrelevant if opcache.validate_timestamps=0 which is desirable in production | ||
| opcache.revalidate_freq = 0 | ||
| opcache.validate_timestamps = 1 |
There was a problem hiding this comment.
Comment suggests disabling timestamp validation in production (for performance), but this is set to 1. Consider setting opcache.validate_timestamps=0 in production images.
| opcache.validate_timestamps = 1 | |
| opcache.validate_timestamps = 0 |
Closes #131
dev environment ~= prod environment