Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ You are a highly skilled PHP system administrator tasked with maintaining open s
- S6 Overlay
- Nginx
- Apache
- NGINX Unit
- PHP-FPM

2. Development Guidelines:
Expand Down
28 changes: 14 additions & 14 deletions README.md

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ The following versions of PHP are being actively updated:

| PHP Version | Supported |
| ------- | ------------------ |
| 8.5 | :white_check_mark: Active support |
| 8.4 | :white_check_mark: Active support |
| 8.3 | :white_check_mark: Active support |
| 8.2 | :white_check_mark: Active support |
| 8.1 | :warning: Security updates only |
| 8.3 | :warning: Security updates only |
| 8.2 | :warning: Security updates only |
| 8.1 | :heavy_exclamation_mark: End of life, update ASAP |
| 8.0 | :heavy_exclamation_mark: End of life, update ASAP |
| 7.4 | :heavy_exclamation_mark: End of life, update ASAP |
| 7.3 | :x: Not supported |
Expand Down
10 changes: 5 additions & 5 deletions docs/content/docs/1.getting-started/2.container-basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ There are some important terms to understand when working with containers:
| Term | Definition |
|------|------------|
| Container | A running instance of an image. |
| Image | A template for a container to start with (ie. `serversideup/php:8.4-frankenphp`). |
| Tag | A specific version of an image (ie. `8.4-frankenphp`). |
| Image | A template for a container to start with (ie. `serversideup/php:8.5-frankenphp`). |
| Tag | A specific version of an image (ie. `8.5-frankenphp`). |
| Registry | A repository of images. This is where users can pull images from to start a container. This can be places like [Docker Hub](https://hub.docker.com/r/serversideup/php) or [GitHub Packages](https://github.com/serversideup/docker-php/pkgs/container/php). |
| Volume | A directory on your host machine that is mounted into a container. This allows you to share files between your host machine and the container. |
| Port | Ports are virtual numbers organizing network data traffic, directing it to the correct application on a device. If you want to expose traffic to work with `http://localhost`, you would map port `80` on your host machine to port `8080` on the container. |
Expand Down Expand Up @@ -57,9 +57,9 @@ So although we're going to show you best practices with Docker, this means you'l
If you followed our [installation guide](/docs/getting-started/installation), you've already run containers and seen them in action. Let's break down what actually happened when you ran `docker compose up`.

### Images vs Containers
Think of an **image** as a blueprint and a **container** as the actual running instance of that blueprint. When you specified `image: serversideup/php:8.4-fpm-nginx` in your `compose.yml`, you told Docker to:
Think of an **image** as a blueprint and a **container** as the actual running instance of that blueprint. When you specified `image: serversideup/php:8.5-fpm-nginx` in your `compose.yml`, you told Docker to:

1. Download the `serversideup/php:8.4-fpm-nginx` image (the blueprint)
1. Download the `serversideup/php:8.5-fpm-nginx` image (the blueprint)
2. Create a container from that image (the running instance)
3. Start the container with your specified configuration

Expand All @@ -84,7 +84,7 @@ In your `compose.yml`, when you define a service called `php`, you're telling Do
```yml [compose.yml] {2}
services:
php:
image: serversideup/php:8.4-fpm-nginx
image: serversideup/php:8.5-fpm-nginx
ports:
- 80:8080
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ Every image includes production-tuned defaults based on real-world PHP applicati

**Modern Options**
- FrankenPHP support for incredible performance gains (2-3x faster than FPM in many claims made by developers)
- Native support for NGINX Unit
- HTTP/2 and HTTP/3 ready configurations

::tip
Expand All @@ -105,7 +104,7 @@ Stop editing config files. Stop rebuilding images for simple changes. Just set e
```yml [compose.yml] {5-9,11-12}
services:
php:
image: serversideup/php:8.4-fpm-nginx
image: serversideup/php:8.5-fpm-nginx
environment:
# Change any PHP setting with environment variables
PHP_MEMORY_LIMIT: "512M"
Expand Down Expand Up @@ -155,7 +154,7 @@ We've done the hard work of optimizing for PHP's most popular frameworks:
```yml [compose.yml]
services:
php:
image: serversideup/php:8.4-fpm-nginx
image: serversideup/php:8.5-fpm-nginx
environment:
# Run migrations, storage link, caching, and more
AUTORUN_ENABLED: "true"
Expand Down Expand Up @@ -192,7 +191,7 @@ Unlike the official PHP images, we include tools you'll actually use:
- Handles all dependencies automatically

```dockerfile [Dockerfile]
FROM serversideup/php:8.4-cli
FROM serversideup/php:8.5-cli

# Switch to root to install extensions
USER root
Expand All @@ -217,7 +216,6 @@ Choose the right tool for your use case:
- [`fpm-nginx`](/docs/image-variations/fpm-nginx) - PHP-FPM + NGINX (most popular)
- [`fpm-apache`](/docs/image-variations/fpm-apache) - PHP-FPM + Apache
- [`frankenphp`](/docs/image-variations/frankenphp) - Modern, incredibly fast (2-3x FPM performance)
- [`unit`](/docs/image-variations/unit) - NGINX Unit for high-performance applications (deprecated)

## Real-World Impact

Expand Down
17 changes: 7 additions & 10 deletions docs/content/docs/1.getting-started/5.choosing-an-image.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ On Linux systems, only root can bind to ports below 1024 (like 80 and 443). Sinc
| fpm | 9000 |
| fpm-nginx | HTTP: 8080, HTTPS: 8443 |
| fpm-apache | HTTP: 8080, HTTPS: 8443 |
| unit | HTTP: 8080, HTTPS: 8443 |
| frankenphp | HTTP: 8080, HTTPS: 8443 |

#### File permissions to be aware of
Expand All @@ -53,7 +52,7 @@ Don't worryβ€”you have two easy options to run your app on the standard web port
Use Docker's built-in port mapping to route traffic from port 80/443 on your host to the container's higher ports:

```bash [Terminal]
docker run -p 80:8080 -p 443:8443 serversideup/php:8.4-fpm-nginx
docker run -p 80:8080 -p 443:8443 serversideup/php:8.5-fpm-nginx
```

This tells Docker: "Take traffic coming to port 80 on my machine and send it to port 8080 in the container."
Expand Down Expand Up @@ -126,7 +125,7 @@ The following packages are installed by default:


## Health Checks
By default, all health checks for web servers (Apache, Unit, NGINX, etc.) are located at `/healthcheck`. You should receive an `OK` response if the container is healthy.
By default, all health checks for web servers (Apache, NGINX, FrankenPHP, etc.) are located at `/healthcheck`. You should receive an `OK` response if the container is healthy.

For our `fpm` variation, we use the [`php-fpm-healthcheck`](https://github.com/renatomefi/php-fpm-healthcheck) script to verify the health of PHP-FPM. This script is located at `/usr/local/bin/php-fpm-healthcheck`.

Expand All @@ -146,7 +145,6 @@ We also provide a few default scripts to help you get started.
| `1-log-output-level.sh` | Sets PHP log output level to match `LOG_OUTPUT_LEVEL` | all |
| `5-generate-ssl.sh` | Generates a self-signed SSL certificate and key for the container. | fpm-nginx, fpm-apache, frankenphp |
| `5-fpm-pool-user.sh` | Sets the user and group of the PHP-FPM child processes to the values of `PHP_FPM_CHILD_PROCESS_USER` and `PHP_FPM_CHILD_PROCESS_GROUP` if the container is running as root. | fpm |
| `10-init-unit.sh` | Processes Unit templates, configures SSL (if enabled), and prepares NGINX Unit for launch | unit |
| `10-init-webserver-config.sh` | Processes web server configuration templates, configures SSL (if enabled), and prepares web server for launch | *-nginx <br/> *-apache |
| `50-laravel-automations.sh` | If `AUTORUN_ENABLED` is set to true, and a Laravel installation is detected, the following commands will automatically execute on container start: <br/> - `php artisan config:cache` <br/> - `php artisan route:cache` <br/> - `php artisan view:cache` <br/> - `php artisan event:cache` <br/> - `php artisan migrate --force` | all |

Expand Down
6 changes: 3 additions & 3 deletions docs/content/docs/1.getting-started/7.upgrade-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Simply update your image tags to the latest version. For example:
```yml [compose.yml]
services:
php:
image: serversideup/php:8.4-fpm-nginx
image: serversideup/php:8.5-fpm-nginx
```

No other changes are required unless you want to take advantage of new features.
Expand All @@ -99,7 +99,7 @@ No other changes are required unless you want to take advantage of new features.
```yml [compose.yml]
services:
php:
image: serversideup/php:8.4-fpm-nginx
image: serversideup/php:8.5-fpm-nginx
environment:
AUTORUN_ENABLED: "true"
AUTORUN_LARAVEL_OPTIMIZE: "true"
Expand All @@ -109,7 +109,7 @@ services:
```yml [compose.yml]
services:
php:
image: serversideup/php:8.4-frankenphp
image: serversideup/php:8.5-frankenphp
ports:
- 80:8080
- 443:8443
Expand Down
Loading