These images vs others

Official PHP Imagesserversideup/php
Base Operating SystemDebian, AlpineDebian, Alpine
PHP CompilationPHP Source CodePHP Source Code (based on official PHP images)
Run PHP, pinned to the minor version
Multi-arch support
Init SystemDocker CMDDocker CMD or S6-Overlay
Published RegistryDockerHubDockerHub, GitHub Packages
Unprivileged by default
Variable-first configuration
Includes composer
Includes install-php-extensions
Production-Ready by default
Built-in security optimizations
Optimized for Laravel & WordPress
NGINX + FPM variation
NGINX Unit variation
Native health checks

Unprivileged by Default

We believe in the principle of least privilege. Our images run as an unprivileged user by default. This means that if your application is compromised, the attacker will have a harder time escalating their privileges to the root user.

Running unprivileged images also improves compatibility of running your containers in a Kubernetes environment, where running as root is not allowed.

Variable-first Configuration

Our design philosophy is built all around simplicity. The process of customizing the behavior of PHP is as simple as setting an environment variable. We took every common configuration option and set it up so you can change these values in a simple method, defaulting every single option to production-ready values.

See our environment variable specifications for more information.

Optimized for Laravel & WordPress

We did the hard work of customizing the official PHP image and giving you everything to get started with running PHP's most popular frameworks in seconds. We also hardened the images to help protect your PHP application from common attacks.

Production-ready

We believe images should be ready for production and able to live in the open and wild Internet. We took our years of experience and tweaked these images to be performant and secure as possible. Having these values published online allows others to review, contribute, and improve the images -- giving you the best security and performance possible.

What is "S6 Overlay?"

S6 Overlay is a process supervisor designed for containerization from the ground up. It's a modern alternative to Supervisor (aka Supervisord). We only use this in our serversideup/php:*-fpm-apache and serversideup/php:*-fpm-nginx images, as they require two processes to run a service.

Learn more about S6 Overlay →