Convert Figma logo to code with AI

serversideup logodocker-php

🐳 Production-ready Docker images for PHP. Optimized for Laravel, WordPress, and more!

2,287
174
2,287
16

Top Related Projects

12,647

Full PHP development environment for Docker.

Quick Overview

The serversideup/docker-php repository is a collection of Docker images for PHP development and production environments. It provides pre-configured, optimized PHP images with various extensions and tools, designed to streamline the setup process for PHP applications in Docker containers.

Pros

  • Ready-to-use PHP images with common extensions and tools pre-installed
  • Optimized for both development and production environments
  • Regular updates to keep up with the latest PHP versions and security patches
  • Supports multiple PHP versions (7.4, 8.0, 8.1, 8.2)

Cons

  • Limited customization options for specific use cases
  • May include unnecessary extensions for some projects, potentially increasing image size
  • Requires familiarity with Docker and containerization concepts

Getting Started

To use these Docker images in your project, follow these steps:

  1. Choose the appropriate PHP version and variant (e.g., serversideup/php:8.2-fpm-nginx)
  2. Create a Dockerfile in your project root:
FROM serversideup/php:8.2-fpm-nginx

# Copy your application files
COPY . /var/www/html

# Install additional dependencies if needed
RUN apt-get update && apt-get install -y \
    your-package-here \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# Set up any custom configurations
COPY custom-php.ini /usr/local/etc/php/conf.d/custom-php.ini
  1. Build and run your Docker container:
docker build -t my-php-app .
docker run -p 8080:80 my-php-app

Your PHP application should now be accessible at http://localhost:8080.

Competitor Comparisons

12,647

Full PHP development environment for Docker.

Pros of Laradock

  • More comprehensive ecosystem with a wider range of services and tools
  • Highly customizable with extensive configuration options
  • Large and active community, providing better support and frequent updates

Cons of Laradock

  • Steeper learning curve due to its complexity and extensive options
  • Potentially resource-intensive, especially for smaller projects
  • May include unnecessary services for simpler applications

Code Comparison

Laradock (docker-compose.yml):

version: '3'
services:
  php-fpm:
    build:
      context: ./php-fpm
      args:
        - LARADOCK_PHP_VERSION=${PHP_VERSION}
    volumes:
      - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}

Docker-PHP (docker-compose.yml):

version: '3.8'
services:
  php:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/var/www/html

Laradock offers more granular control over PHP versions and configuration, while Docker-PHP provides a simpler setup with fewer customization options. Laradock's approach is better suited for complex projects with diverse requirements, whereas Docker-PHP is more straightforward for smaller applications or those new to Docker.

Both repositories aim to simplify PHP development environments using Docker, but they cater to different levels of complexity and user experience. The choice between them depends on the project's specific needs and the developer's familiarity with Docker and containerization concepts.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Docker Images Logo

Build Status License Support us
Docker Hub Pulls Discord

Introduction

Production-ready PHP Docker images built on official PHP. Optimized for Laravel, WordPress, and modern PHP applications.

What Makes These Images Different?

serversideup/php takes the official PHP Docker images and adds everything you need for real-world production use:

  • ✅ Secure by Default - Runs as unprivileged user, not root
  • ✅ Zero Config Required - Production-ready defaults, customize with environment variables
  • ✅ Batteries Included - Composer, common extensions, and helpful utilities pre-installed
  • ✅ Framework Optimized - Special automations for Laravel (migrations, queues, Horizon, etc.)
  • ✅ Multiple Variations - CLI, FPM, FPM+NGINX, FPM+Apache, FrankenPHP
  • ✅ Modern Architecture - Native health checks, S6 Overlay, unified logging
Features
Production-ReadyNative Health ChecksHigh Performance
Customizable and FlexibleNative CloudFlare SupportBase on Official PHP
FrankenPHPUnified LoggingFPM + S6 Overlay

Getting Started

Try it in 2 minutes ⚡

Want to see how easy it is? Our installation guide walks you through creating your first PHP app with Docker:

  1. ✅ Run phpinfo() in your browser
  2. ✅ Upgrade PHP versions by changing one line
  3. ✅ Switch between variations (FPM, FrankenPHP, etc.)
  4. ✅ See environment variables in action

👉 Follow the quick start guide

Quick Example

Here's what a complete Laravel setup with NGINX + PHP 8.5 looks like:

services:
  php:
    image: serversideup/php:8.5-fpm-nginx
    ports:
      - "80:8080"
    environment:
      # Customize PHP with environment variables
      PHP_OPCACHE_ENABLE: "1"
      PHP_MEMORY_LIMIT: "512M"
      
      # Laravel automations (migrations, storage link, etc.)
      AUTORUN_ENABLED: "true"
    volumes:
      - .:/var/www/html

That's it. No complex configs. Just environment variables.

Ready to try it? Get started with our tutorial →

Available Image Variations

Choose the variation that fits your needs. All images follow the pattern:

serversideup/php:{{version}}-{{variation-name}}

Popular Variations

VariationBest ForExample
cliCLI scripts, cron jobs, queuesserversideup/php:8.5-cli
fpmCustom web server setupserversideup/php:8.5-fpm
fpm-apacheApache-based deploymentsserversideup/php:8.5-fpm-apache
fpm-nginxStable and performant web serverserversideup/php:8.5-fpm-nginx
frankenphpModern, high-performance apps with worker modeserversideup/php:8.5-frankenphp

Supported PHP Versions & Platforms

[!NOTE]
All images are available on Docker Hub and GitHub Packages.

We support PHP 7.4 through 8.5 with both Debian and Alpine base images.

Learn More About Choosing an Image →

⚙️ Variation🚀 Version
cliDebian Based
serversideup/php:8.5-cli
serversideup/php:8.4-cli
serversideup/php:8.3-cli
serversideup/php:8.2-cli
serversideup/php:8.1-cli
serversideup/php:8.0-cli
serversideup/php:7.4-cli
Alpine Based
serversideup/php:8.5-cli-alpine
serversideup/php:8.4-cli-alpine
serversideup/php:8.3-cli-alpine
serversideup/php:8.2-cli-alpine
serversideup/php:8.1-cli-alpine
serversideup/php:8.0-cli-alpine
serversideup/php:7.4-cli-alpine
fpmDebian Based
serversideup/php:8.5-fpm
serversideup/php:8.4-fpm
serversideup/php:8.3-fpm
serversideup/php:8.2-fpm
serversideup/php:8.1-fpm
serversideup/php:8.0-fpm
serversideup/php:7.4-fpm
Alpine Based
serversideup/php:8.5-fpm-alpine
serversideup/php:8.4-fpm-alpine
serversideup/php:8.3-fpm-alpine
serversideup/php:8.2-fpm-alpine
serversideup/php:8.1-fpm-alpine
serversideup/php:8.0-fpm-alpine
serversideup/php:7.4-fpm-alpine
fpm-apacheDebian Based
serversideup/php:8.5-fpm-apache
serversideup/php:8.4-fpm-apache
serversideup/php:8.3-fpm-apache
serversideup/php:8.2-fpm-apache
serversideup/php:8.1-fpm-apache
serversideup/php:8.0-fpm-apache
serversideup/php:7.4-fpm-apache
fpm-nginxDebian Based
serversideup/php:8.5-fpm-nginx
serversideup/php:8.4-fpm-nginx
serversideup/php:8.3-fpm-nginx
serversideup/php:8.2-fpm-nginx
serversideup/php:8.1-fpm-nginx
serversideup/php:8.0-fpm-nginx
serversideup/php:7.4-fpm-nginx
Alpine Based
serversideup/php:8.5-fpm-nginx-alpine
serversideup/php:8.4-fpm-nginx-alpine
serversideup/php:8.3-fpm-nginx-alpine
serversideup/php:8.2-fpm-nginx-alpine
serversideup/php:8.1-fpm-nginx-alpine
serversideup/php:8.0-fpm-nginx-alpine
serversideup/php:7.4-fpm-nginx-alpine
frankenphpDebian Based
serversideup/php:8.5-frankenphp
serversideup/php:8.4-frankenphp
serversideup/php:8.3-frankenphp
Alpine Based
serversideup/php:8.5-frankenphp-alpine
serversideup/php:8.4-frankenphp-alpine
serversideup/php:8.3-frankenphp-alpine
unit (deprecated)⚠️ NGINX is no longer maintaining NGINX Unit. We stopped providing updates for this image. Learn more →

Professional Support

Need help integrating Docker with your PHP application?

Resources

  • Website overview of the product.
  • Docs for a deep-dive on how to use the product.
  • Discord for friendly support from the community and the team.
  • GitHub for source code, bug reports, and project management.
  • Get Professional Help - Get video + screen-sharing help directly from the core contributors.

Contributing

As an open-source project, we strive for transparency and collaboration in our development process. We greatly appreciate any contributions members of our community can provide. Whether you're fixing bugs, proposing features, improving documentation, or spreading awareness - your involvement strengthens the project. Please review our contribution guidelines and code of conduct to understand how we work together respectfully.

Need help getting started? Join our Discord community and we'll help you out!

Our Sponsors

All of our software is free and open to the world. None of this can be brought to you without the financial backing of our sponsors.

Sponsors

Black Level Sponsors

Sevalla

Bronze Sponsors

No bronze sponsors yet. Become a sponsor →

Infrastructure Sponsors

This project requires significant computing power to build and maintain over 8,000 different Docker image tags. We're extremely grateful for the following sponsors:

Depot  Docker

Individual Supporters

aagjalpankaj  

About Us

We're Dan and Jay - a two-person team with a passion for open source products. We created Server Side Up to help share what we learn.

Dan Pastori
Jay Rogers


Find us at:

  • 📖 Blog - Get the latest guides and free courses on all things web/mobile development.
  • 🙋 Community - Get friendly help from our community members.
  • 🤵‍♂️ Get Professional Help - Get video + screen-sharing support from the core contributors.
  • 💻 GitHub - Check out our other open source projects.
  • 📫 Newsletter - Skip the algorithms and get quality content right to your inbox.
  • 🐥 Twitter - You can also follow Dan and Jay.
  • ❤️ Sponsor Us - Please consider sponsoring us so we can create more helpful resources.

Our Products

If you appreciate this project, be sure to check out our other projects.

📚 Books

🛠️ Software-as-a-Service

  • Bugflow: Get visual bug reports directly in GitHub, GitLab, and more.
  • SelfHost Pro: Connect Stripe or Lemonsqueezy to a private docker registry for self-hosted apps.

🌍 Open Source

  • AmplitudeJS: Open-source HTML5 & JavaScript Web Audio Library.
  • Spin: Laravel Sail alternative for running Docker from development → production.
  • Financial Freedom: Open source alternative to Mint, YNAB, & Monarch Money.