Skip to main content

Introduction

The easiest way to run PHP on Docker.

Laradock is a complete Docker environment for PHP. Clone it into any PHP project, run one command, and you have a complete local stack running.

Laradock - full PHP development environment based on Docker

It ships pre-configured containers for everything a PHP application needs: a web server (Nginx), the PHP runtime (PHP-FPM), a database (MySQL), caching (Redis), background jobs (PHP Worker), search (Elasticsearch), mail testing (Mailpit), and 100+ additional services, all ready to use with zero manual configuration.

Whether you're using the built-in Laradock CLI, no Docker knowledge required, or plain docker compose when you want full control, the same stack works with any PHP project, including Laravel, WordPress, Symfony, Drupal, Magento, 100+ other frameworks and applications, or plain PHP. Every developer gets the same environment on Linux, macOS, and Windows, eliminating setup differences and "works on my machine" problems.

Laradock doesn't stop at local development. Built-in production deployment with ./laradock ship packages your application and deploys it to Kubernetes, Google Cloud Run, AWS ECS, your own server, and many more, without switching tools or rebuilding your environment.

Trusted by 100K+ developers, it's free and open-source under the MIT license, and has been battle-tested in real-world PHP projects since 2015.

Already running an older version of Laradock?
Upgrade straight to the latest, with AI, in one go. It's safe, nothing you already run changes.

Use Docker first. Learn about it later.


laradock — bash
$
Docker running · Compose v2.29
Detected a PHP project → Laravel
Projectlaravel
PHP version8.4
Web servernginx
Databasemysql
Cacheredis
Saved .env · starting your stack…
Container laradock-mysql-1 Started
Container laradock-redis-1 Started
Container laradock-nginx-1 Started
Laradock is up.
Apphttp://localhost


Let AI use it

Three ways to point your AI assistant at Laradock:

  • Run it for you - the repo ships agent instructions (AGENTS.md + rule files for Claude Code, Gemini CLI, Cursor, Cline, and Windsurf). Open the repo in your agent and say "Set up Laradock for this project."
  • Ask about it, no clone - add the docs as an MCP server: https://gitmcp.io/laradock/laradock.
  • Read a walkthrough - browse the AI-generated overview on DeepWiki, starting with its architecture diagram.

Quick Start

Requires Docker with Compose v2.20+. Pick a tab, both reach the exact same result, and you can switch any time.

1 - Clone Laradock inside your PHP project:

git clone https://github.com/Laradock/laradock.git

2 - Enter the laradock folder:

cd laradock

3 - Start your stack:

./laradock start

The first time, start runs a short setup wizard, then launches your stack. Full walkthrough and all options: Getting Started.

4 - Enter the Laradock Workspace (a dev shell with php, composer, node, and git inside):

./laradock workspace

Then open http://localhost. Done.

The CLI is optional, transparent sugar: it prints every docker compose command it runs, keeps no state, and writes nothing but your .env. Full reference: The Laradock CLI.

Image

What's New (2026)

Battle-tested since 2015, and still growing. Recent highlights:

  • Deploy to production, ./laradock ship builds an image for any server or cloud.
  • A plain-English CLI, ./laradock start runs your whole stack, no Docker needed.
  • Local AI built in, run LLMs and vector databases on your own machine.
  • 100+ services ready, plus every PHP version from 5.6 to 8.5.

See the release notes for the full history.

Already on an older version? Jumping straight to the latest is safe, nothing you run changes. See the Upgrade Guide for the one structural change to know about.

Features

  • Any PHP Version: Run any version from 5.6 to 8.5. Set PHP_VERSION in .env, rebuild, and you're on it.
  • 100+ Ready-made Services: Databases, caches, queues, search engines, and more, pre-configured and waiting.
  • All-in-One Dev Shell: Run Artisan, Composer, Node, and any CLI inside the workspace container, nothing on host.
  • Deploy to Production: Turn your stack into a hardened image with ./laradock ship, then deploy anywhere.
  • Pick Your Database: MySQL, PostgreSQL, MariaDB, MongoDB, Redis, and many others, ready to switch on.
  • Framework-Agnostic: Works with Laravel, Symfony, WordPress, Magento, Drupal, or plain PHP.
  • Local AI, Built In: Run LLMs and vector search locally with Ollama, LiteLLM, pgvector, Qdrant, no cloud bills.
  • Toggle Services On Demand: Start only what a project needs with docker compose up, and stop them easily.
  • One Environment Everywhere: Identical setup on Linux, macOS, and Windows, so your team shares the stack.
  • A Container Per Service: Every service is isolated, so nothing conflicts and each piece is easy to manage.
  • Configure From One File: Every service ships pre-configured; override any setting with 1 line in .env, always wins.
  • Official Base Images: Every image builds on a trusted upstream source for reliability and security.
  • Web Server Ready: NGINX, Apache, and Caddy come pre-configured to serve your code out of the box.
  • One or Many Projects: Run a dedicated Laradock per project, or share a single setup across all of them.
  • Yours to Edit: Every Dockerfile and config is plain, readable, and open for you to change.

Supported PHP Projects

Laradock provides the PHP runtime, web server, databases, and background services your app needs, so it runs virtually any PHP framework, CMS, or e-commerce platform, right down to plain framework-free PHP.

New here? Jump straight to a step-by-step guide for the most popular platforms:

Not listed? Pick from the full catalog of 100+ supported projects below.

TypeProjects
FrameworksLaravel, Symfony, CodeIgniter, Yii, Laminas (Zend Framework), CakePHP, Phalcon, Slim, Lumen, FuelPHP, Spiral, Hyperf, API Platform, Mezzio, Flight, Fat-Free Framework (F3), ThinkPHP, Silex, Swoole, Workerman, Ubiquity, SilverStripe, Nette, Leaf PHP
CMSWordPress, Drupal, Joomla, October CMS, Statamic, Craft CMS, TYPO3, Concrete CMS, Grav, Backdrop CMS, HTMLy, Kirby, ProcessWire, Pico, Bolt CMS, Contao, b2evolution, Serendipity, Nucleus, e107, Pligg, Sulu CMS, Pimcore, Winter CMS, Neos CMS, Textpattern, ExpressionEngine
E-commerceMagento, WooCommerce, PrestaShop, OpenCart, Sylius, Bagisto, Aimeos, Avored, OroCommerce, Zen Cart, osCommerce, AbanteCart, CubeCart, Shopware, LiteCart, OpenMage
AppsMoodle, MediaWiki, phpBB, Matomo, MyBB, FluxBB, PunBB, Flarum, bbPress, Simple Machines Forum (SMF), DokuWiki, BookStack, Roundcube, phpMyAdmin, Adminer, SuiteCRM, EspoCRM, Vtiger, Dolibarr, Aureus ERP, WebERP, FrontAccounting, Kanboard, Firefly III, Invoice Ninja, X2CRM, Nextcloud, ownCloud, Pydio, Mautic, Crater, Akaunting, Monica CRM, Leantime, Cachet, PHP Server Monitor, YOURLS, LinkAce, Koel, AzuraCast, Lychee, Vanilla Forums

Supported Services

A service is one piece of software, a database, a web server, a cache, a queue, that Laradock runs for you in its own isolated container (a lightweight, self-contained box). Each one is already configured, so you just switch on the ones your project needs and leave the rest off. Because they're isolated, they never conflict with each other or with anything on your machine.

To start any service from the list below, use its name, which is the same as its folder name. For example, the "PHP FPM" service lives in the php-fpm folder, so you start it with php-fpm:

./laradock start php-fpm
CategoryServices (Containers)
(Laradock Workspace)PHP CLI, Composer, Git, Vim, xDebug, Linuxbrew, Node, V8JS, Gulp, SQLite, Laravel Envoy, Deployer, Yarn, SOAP, Drush, Wordpress CLI, dnsutils, Terraform, ImageMagick, Drupal Console, Protoc, JDK, Docker Client
Web ServersNGINX, Apache2, Caddy, OpenResty, Tomcat, FrankenPHP
Load BalancersHAProxy, Traefik
PHP CompilersPHP FPM, RoadRunner
Database Management SystemsMySQL, PostgreSQL, PostGIS, pgvector, MariaDB, Percona, MSSQL, MongoDB, Neo4j, CouchDB, RethinkDB, Cassandra, ClickHouse, Tarantool
Database Management ToolsPhpMyAdmin, Adminer, PgAdmin, MongoDB Web UI, Tarantool Admin, pgbackups (PostgreSQL)
Cache EnginesRedis, Redis Web UI, Redis Cluster, Valkey, Dragonfly, Memcached, Aerospike, Varnish, SSDB
Message BrokersRabbitMQ, RabbitMQ Admin Console, Beanstalkd, Beanstalkd Admin Console, Eclipse Mosquitto, Gearman, NATS, Apache Kafka, Kafka Manager
Log ManagementGrayLog, Kibana, LogStash
Search EnginesElasticSearch, OpenSearch, Apache Solr, Manticore Search, Typesense, Meilisearch, Dejavu
Vector Databasespgvector, Qdrant, Weaviate, Chroma
Graph / Multi-model DatabasesNeo4j, ArangoDB, SurrealDB
Time-series DatabasesInfluxDB
AI / LLMOllama, vLLM, LocalAI, LiteLLM, Open WebUI, MCP
Agentic / Automationn8n, Flowise, Langflow
PHP ExtensionsSwoole, Blackfire, Phalcon, PHP Worker, Laravel Horizon
Mail ServersMailu, MailCatcher, Mailhog, MailDev, Mailpit
Real-time CommunicationLaravel Echo, Laravel Reverb, Mercure, Soketi
MonitoringGrafana, NetData, Prometheus
Coordination ServicesApache ZooKeeper
Container ManagementPortainer, Docker Registry
CI/CD ToolsJenkins, SonarQube, Gitlab, GitLab Runner, OneDev
Cloud ToolsAWS EB CLI, Amazon Simple Queue Service
Image ProcessingThumbor
Security & Identity ToolsCertbot, Keycloak
Object StorageMinio
TestingSelenium
IDEsTheia
API DocumentationSwagger UI, Swagger Editor
Analytics / BIMetabase
CollaborationConfluence

You can choose which tools to install in your workspace container and other containers: browse the available flags in each container's defaults.env (e.g. workspace/defaults.env), then set the ones you want in your .env (your .env overrides all defaults).

If you modify a compose.yml, defaults.env, .env or any dockerfile file, you must re-build your containers, to see those effects in the running instance.

tip

If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)


Deploy Anywhere

Laradock follows your app to production. Build one image with ./laradock ship, then run that same image on any of these:

WherePlatforms
Managed cloudsGoogle Cloud Run · AWS ECS · AWS App Runner · Azure Container Apps · Fly.io · Render · Railway · DigitalOcean · Heroku
Your own infrastructureKubernetes · Kamal · A single server

Start here: Deploy to Production.

Your All-in-One Dev Workspace

Laradock ships a Workspace: a ready-to-use Linux command line with PHP, Composer, Node, Git, and dozens of dev tools already installed. You run every command your project needs inside it, so nothing gets installed on your own machine.

Enter it and work from there:

./laradock workspace

artisan, composer, phpunit, npm, and git all just work, with nothing installed on your host: no PHP, no Composer, no Node, no version conflicts. Stop the project and zero traces are left on your device.

Why it's a big deal:

  • Start in seconds. Every tool is already installed and configured, so there's nothing to set up; clone a project and get to work.
  • Keep your machine spotless. Run everything inside the container; your host never gets PHP, Composer, Node, or any CLI, and nothing is left behind when you're done.
  • Isolate every project. Each one runs on its own PHP and database versions with no conflicts between them.
  • Revive old projects. Run legacy apps on older PHP (5.6, 7.x) without touching your system's PHP version.
The full journey, from local dev to production

Laradock doesn't stop at your laptop. When your app is ready, ./laradock ship turns this exact stack into a hardened image you can deploy anywhere, a single server, Kubernetes (EKS/GKE/AKS), or a managed cloud like AWS ECS, Cloud Run, or Fly. Read more: Deploy to Production.

How it's organized

One folder per service; each holds that service's compose.yml (container definition), defaults.env (pre-filled settings), and Dockerfile. Change any setting by adding one line to your .env, it always wins. Full map in Getting Started. Going deeper? Customizing Images covers changing what's inside a container, and Data & Volumes covers where your data lives.

The Story: Laravel + Docker = Laradock

Laradock started in 2015 as exactly what the name says: Laravel + Docker, back when Laravel had no official Docker answer of its own. Then developers wanted more: more databases, caches, queues, search engines, and projects that were never Laravel at all (Symfony, WordPress, Magento, plain PHP). So Laradock grew with them, from one Laravel stack into 100+ pre-configured services for any PHP project, and now all the way to production with ./laradock ship. Laravel later shipped its own Sail, deliberately small and Laravel-only; Laradock covers the ground it doesn't.

How Laradock Compares

Every other option either installs software on your machine (XAMPP, MAMP, Herd) or puts a tool between you and Docker (DDEV, Lando, Sail). Laradock does neither: it is raw Docker with the wiring already done. Nothing to install, no new commands to learn, nothing generated or hidden; you use docker compose directly on plain, readable files you fully own. That makes it the lightest option to adopt and the easiest one to inspect, debug, and bend to your will.

And today it goes further than any of them combine: you pick the services you want and they come wired together, no setup of your own, with a workspace shell that already has every PHP tool in it; ./laradock ship carries this exact environment to production; a local AI stack (Ollama, LiteLLM, Qdrant) is one command away; and an AI agent can set it up for you (AGENTS.md + llms.txt). Each rival wins on a single axis (Herd on native speed, DDEV on automatic HTTPS); Laradock wins on the combination.

See the full honest breakdown, including when the other tools are the better choice: Laradock vs Others (DDEV, Sail, Herd, Lando, XAMPP, and more).

Community

Gitter's done. Our community of 2,000+ active members has a new home on GitHub Discussions.

None of this happens on its own. Behind every container, every fix, and every new service added is someone who cared enough to give their time. Meet the people who make Laradock possible.

Awesome People

Laradock is an MIT-licensed open source project with its ongoing development made possible entirely by the support of you and all these awesome people. 💜

Project Maintainers

Image
Mahmoud Zalt
@mahmoudz
Image
Yu-Lung Shao (Allen)
@bestlong
Image
Winfried van Loon
@winfried-van-loon
Image
Bo-Yi Wu
@appleboy
Image
Valentino Lauciani
@vlauciani
Image
Arian Acosta
@arianacosta
Image
Erik
@erikn69
Image
Dwi Fahni Denni
@zeroc0d3
Image
Dawid Makowski
@makowskid
Image
Luciano Jr
@iamlucianojr
Image
Pavel Savushkin
@PavelSavushkinMix
Image
Philippe Trépanier
@philtrep
Image
Ahkui
@ahkui
Image
Mike Erickson
@mikeerickson
Image
Lan Phan
@lanphan
Image
zhushaolong
@zhushaolong
Image
Frank Yuan
@kideny
Image
xiagw
@xiagw
Image
Abdelrahman Omran
@Omranic
Image
TJ Miller
@sixlive
Image
Thor Erik
@thorerik
Image
Milan Urukalo
@urukalo
Image
Vince Chu
@vwchu
Image
Huadong Zuo
@zuohuadong
Image
< Join Us >
@laradock

Code Contributors

Laradock Contributors

Financial Contributors (Backers)

Open Collective backers


Sponsors

Laradock has stayed free and maintained for 10+ years, funded entirely by the developers who use it. Here's this month's progress toward keeping it alive:

$478/mo raised
$1,000/mo goal
48% of our monthly goal · help us close the gap

Laradock powers local development for developers and companies worldwide: 100K+ active developers, 5M+ downloads, 100+ services, kept working for 10+ years. Like every open-source project, its future depends on the people who rely on it. Your sponsorship directly funds the maintenance that keeps every service working with the latest PHP, database, and framework versions.

Your team runs on Laradock? Help fund it:

  • Individuals sponsor monthly on GitHub, from the price of a coffee.
  • Companies get your logo below with a real dofollow backlink.
  • Pay by invoice or bank transfer if a sponsor button won't clear your finance team: Open Collective issues invoices and takes bank transfers so your organization can pay Laradock directly.

❤️ Sponsor on GitHub · Sponsor / invoice via Open Collective · custom or annual agreements: [email protected]

Diamond Sponsors

Sistava - Hire AI Employees to Run Your Business.Apiato - A powerful PHP framework for building scalable, enterprise-grade APIs!ImageImageImageImageImage

Gold Sponsors

ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage

Silver Sponsors

Sista AI - AI Workforce platform.Silver Sponsors

Bronze Sponsors

Bronze Sponsors

Sponsorship Support

Sponsoring is an act of giving in a unique way. 🌱
You can support us using any of the methods below:

1: Open Collective
Available for all tiers: Gold, Silver, Bronze, and Backers (Financial Contributors). Preferred method.

2: GitHub Sponsors
Supports the creator of the project directly: Ideal for personal support of the project creator.

License

MIT © Mahmoud Zalt