-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgraded to php84 and some pipeline improvementes #38
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,35 +6,35 @@ LABEL Maintainer="Ernesto Serrano <[email protected]>" \ | |
|
||
# Install packages | ||
RUN apk --no-cache add \ | ||
php83 \ | ||
php83-ctype \ | ||
php83-curl \ | ||
php83-dom \ | ||
php83-exif \ | ||
php83-fileinfo \ | ||
php83-fpm \ | ||
php83-gd \ | ||
php83-iconv \ | ||
php83-intl \ | ||
php83-json \ | ||
php83-mbstring \ | ||
php83-mysqli \ | ||
php83-opcache \ | ||
php83-openssl \ | ||
php83-pecl-apcu \ | ||
php83-pdo \ | ||
php83-pdo_mysql \ | ||
php83-pgsql \ | ||
php83-phar \ | ||
php83-session \ | ||
php83-simplexml \ | ||
php83-soap \ | ||
php83-sodium \ | ||
php83-tokenizer \ | ||
php83-xml \ | ||
php83-xmlreader \ | ||
php83-zip \ | ||
php83-zlib \ | ||
php84 \ | ||
php84-ctype \ | ||
php84-curl \ | ||
php84-dom \ | ||
php84-exif \ | ||
php84-fileinfo \ | ||
php84-fpm \ | ||
php84-gd \ | ||
php84-iconv \ | ||
php84-intl \ | ||
php84-json \ | ||
php84-mbstring \ | ||
php84-mysqli \ | ||
php84-opcache \ | ||
php84-openssl \ | ||
php84-pecl-apcu \ | ||
php84-pdo \ | ||
php84-pdo_mysql \ | ||
php84-pgsql \ | ||
php84-phar \ | ||
php84-session \ | ||
php84-simplexml \ | ||
php84-soap \ | ||
php84-sodium \ | ||
php84-tokenizer \ | ||
php84-xml \ | ||
php84-xmlreader \ | ||
php84-zip \ | ||
php84-zlib \ | ||
nginx \ | ||
runit \ | ||
curl \ | ||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,29 +1,27 @@ | ||||||
# Docker PHP-FPM 8.3 & Nginx 1.26 on Alpine Linux 3.20 | ||||||
# Docker PHP-FPM 8.4 & Nginx 1.26 on Alpine Linux 3.21 | ||||||
|
||||||
[![Docker Pulls](https://img.shields.io/docker/pulls/erseco/alpine-php-webserver.svg)](https://hub.docker.com/r/erseco/alpine-php-webserver/) | ||||||
![Docker Image Size](https://img.shields.io/docker/image-size/erseco/alpine-php-webserver) | ||||||
![alpine 3.20](https://img.shields.io/badge/alpine-3.20-brightgreen.svg) | ||||||
![nginx 1.26.0](https://img.shields.io/badge/nginx-1.26-brightgreen.svg) | ||||||
![php 8.3](https://img.shields.io/badge/php-8.3-brightgreen.svg) | ||||||
![alpine 3.21](https://img.shields.io/badge/alpine-3.21-brightgreen.svg) | ||||||
![nginx 1.26.2-r3](https://img.shields.io/badge/nginx-1.26.2-r3-brightgreen.svg) | ||||||
![php 8.4](https://img.shields.io/badge/php-8.4-brightgreen.svg) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix the Nginx version badge formatting The Nginx badge URL is malformed due to incorrect version formatting. The Apply this change: -![nginx 1.26.2-r3](https://img.shields.io/badge/nginx-1.26.2-r3-brightgreen.svg)
+![nginx 1.26.2-r3](https://img.shields.io/badge/nginx-1.26.2--r3-brightgreen.svg) 📝 Committable suggestion
Suggested change
|
||||||
![License MIT](https://img.shields.io/badge/license-MIT-blue.svg) | ||||||
|
||||||
Example PHP-FPM 8.3 & Nginx 1.26 setup for Docker, build on [Alpine Linux](https://www.alpinelinux.org/). | ||||||
Example PHP-FPM 8.4 & Nginx 1.26 setup for Docker, build on [Alpine Linux](https://www.alpinelinux.org/). | ||||||
The image is only +/- 25MB large. | ||||||
|
||||||
Repository: https://github.com/erseco/alpine-php-webserver | ||||||
|
||||||
* Built on the lightweight and secure Alpine Linux distribution | ||||||
* Very small Docker image size (+/-25MB) | ||||||
* Uses PHP 8.3 for better performance, lower cpu usage & memory footprint | ||||||
* Uses PHP 8.4 for better performance, lower cpu usage & memory footprint | ||||||
* Multi-arch support: 386, amd64, arm/v6, arm/v7, arm64, ppc64le, s390x | ||||||
* Optimized for 100 concurrent users | ||||||
* Optimized to only use resources when there's traffic (by using PHP-FPM's ondemand PM) | ||||||
* Use of runit instead of supervisord to reduce memory footprint | ||||||
* The servers Nginx, PHP-FPM run under a non-privileged user (nobody) to make it more secure | ||||||
* The logs of all the services are redirected to the output of the Docker container (visible with `docker logs -f <container name>`) | ||||||
* Follows the KISS principle (Keep It Simple, Stupid) to make it easy to understand and adjust the image to your needs | ||||||
* Also availabe in Apache flavour: `erseco/alpine-php-webserver:apache` | ||||||
|
||||||
|
||||||
## Usage | ||||||
|
||||||
|
@@ -46,8 +44,6 @@ Easily serve your local PHP files using Docker Compose. This setup mounts your ` | |||||
Here's a simple `docker-compose.yml` example to get you started: | ||||||
|
||||||
```yaml | ||||||
version: '3.8' | ||||||
|
||||||
services: | ||||||
webserver: | ||||||
image: erseco/alpine-php-webserver | ||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,9 +1,9 @@ | ||||||
version: '3.5' | ||||||
--- | ||||||
services: | ||||||
app: | ||||||
build: . | ||||||
sut: | ||||||
image: alpine:3.21 | ||||||
image: alpine:latest | ||||||
depends_on: | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Avoid using 'latest' tag for test environment Using - image: alpine:latest
+ image: alpine:3.21 Rationale:
📝 Committable suggestion
Suggested change
|
||||||
- app | ||||||
command: /tmp/run_tests.sh | ||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,4 @@ | |
|
||
# pipe stderr to stdout and run php-fpm | ||
exec 2>&1 | ||
exec php-fpm83 -F | ||
exec php-fpm84 -F |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
#!/usr/bin/env sh | ||
apk --no-cache add curl | ||
curl --silent --fail http://app:8080 | grep 'PHP 8.3' | ||
curl --silent --fail http://app:8080 | grep 'PHP 8.4' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Warning: PHP 8.4 packages not yet available in Alpine repositories
The verification reveals critical issues with the proposed changes:
Recommendation:
🔗 Analysis chain
Verify PHP 8.4 extensions availability and compatibility
The PHP version upgrade looks comprehensive, covering all necessary extensions. However, let's verify:
Let me try a different approach to verify the PHP packages since the previous attempt had issues with binary data.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
Length of output: 7526
Script:
Length of output: 876