Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,718 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laradock - full PHP development environment based on Docker

contributions welcome GitHub forks GitHub issues Laradock backers on Open Collective Laradock sponsors on Open Collective Laradock GitHub stars GitHub CI GitHub license

🌐 Languages: English · 简体中文 · العربية · Español

Built by developers



Use Docker First - Learn About It Later!

Overview

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

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 or plain Docker Compose, 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. The same platform includes a developer-friendly CLI for managing your stack, plus built-in production deployment with ./laradock ship, allowing you to package your application and deploy it to Kubernetes, Google Cloud Run, AWS ECS, your own server, and many more, without switching tools or rebuilding your environment.


The easiest way to run PHP on Docker.

Laradock demo: running ./laradock start to launch a full PHP stack on Docker

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

Quick Start

Requires Docker with Compose v2.20+.

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 run opens a wizard: pick your framework, PHP version, stack, and the tools in your dev shell, then hit Enter. Every question comes with a sensible answer pre-selected, so you can hold Enter and get a working stack. After that, start just runs your stack and prints its URLs and credentials (./laradock setup reopens the wizard any time, to add a service, switch PHP version, or add a tool like Xdebug).

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. Unknown commands pass straight through (./laradock logs -f nginx = docker compose logs -f nginx). Full reference: CLI docs.

Prefer plain Docker? Skip the CLI and run docker compose directly, same files, same result. See the manual setup guide.


Read the Laradock documentation

Key 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.

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.

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:

Type Projects
Frameworks Laravel, 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
CMS WordPress, 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-commerce Magento, WooCommerce, PrestaShop, OpenCart, Sylius, Bagisto, Aimeos, Avored, OroCommerce, Zen Cart, osCommerce, AbanteCart, CubeCart, Shopware, LiteCart, OpenMage
Apps Moodle, 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

Not using a framework? Plain PHP works too.

Supported Services

A service is one piece of software (a database, web server, cache, queue) that Laradock runs for you in its own isolated container, already configured. Switch on the ones your project needs, leave the rest off; isolated, they never conflict. To start one: ./laradock start {container-name} (or docker compose up -d {container-name}); the container name matches its folder name, e.g. php-fpm.

Category Services (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 Servers NGINX, Apache2, Caddy, OpenResty, Tomcat, FrankenPHP
Load Balancers HAProxy, Traefik
PHP Compilers PHP FPM, RoadRunner
Database Management Systems MySQL, PostgreSQL, PostGIS, pgvector, MariaDB, Percona, MSSQL, MongoDB, Neo4j, CouchDB, RethinkDB, Cassandra, ClickHouse, Tarantool
Database Management Tools PhpMyAdmin, Adminer, PgAdmin, MongoDB Web UI, Tarantool Admin, pgbackups (PostgreSQL)
Cache Engines Redis, Redis Web UI, Redis Cluster, Valkey, Dragonfly, Memcached, Aerospike, Varnish, SSDB
Message Brokers RabbitMQ, RabbitMQ Admin Console, Beanstalkd, Beanstalkd Admin Console, Eclipse Mosquitto, Gearman, NATS, Apache Kafka, Kafka Manager
Log Management GrayLog, Kibana, LogStash
Search Engines ElasticSearch, OpenSearch, Apache Solr, Manticore Search, Typesense, Meilisearch, Dejavu
Vector Databases pgvector, Qdrant, Weaviate, Chroma
Graph / Multi-model Databases Neo4j, ArangoDB, SurrealDB
Time-series Databases InfluxDB
AI / LLM Ollama, vLLM, LocalAI, LiteLLM, Open WebUI, MCP
Agentic / Automation n8n, Flowise, Langflow
PHP Extensions Swoole, Blackfire, Phalcon, PHP Worker, Laravel Horizon
Mail Servers Mailu, MailCatcher, Mailhog, MailDev, Mailpit
Real-time Communication Laravel Echo, Laravel Reverb, Mercure, Soketi
Monitoring Grafana, NetData, Prometheus
Coordination Services Apache ZooKeeper
Container Management Portainer, Docker Registry
CI/CD Tools Jenkins, SonarQube, Gitlab, GitLab Runner, OneDev
Cloud Tools AWS EB CLI, Amazon Simple Queue Service
Image Processing Thumbor
Security & Identity Tools Certbot, Keycloak
Object Storage Minio
Testing Selenium
IDEs Theia
API Documentation Swagger UI, Swagger Editor
Analytics / BI Metabase
Collaboration Confluence

See the full service list and usage docs.

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, with the Laradock CLI:

./laradock workspace

or plain Docker Compose:

docker compose exec workspace bash

artisan, composer, phpunit, npm, and git all just work. Stop the project and zero traces are left on your device.

What You Get From It

  • Start in seconds. Nothing to install or configure; clone a project and get to work.
  • Keep your machine spotless. 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.

Built from two base images, each in its own repo: laradock/workspace (this dev shell) and laradock/php-fpm (the PHP runtime).

How It Works

Here is Laradock from where you sit. You work two ways, open your app in a browser (Nginx serves it through PHP-FPM) or drop into the Workspace terminal (artisan, composer, npm), and both act on the same codebase mounted from your machine. Your code talks to whatever services you switch on, add as many as you need, and the same setup ships to production.

flowchart LR
  you(["You<br/>(your machine)"])

  subgraph docker["Laradock &middot; your containers on Docker"]
    direction TB
    nginx["Nginx<br/>web server"]
    php["PHP-FPM<br/>runs your PHP"]
    workspace["Workspace<br/>terminal: php, composer, node, git"]
    code[/"Your codebase<br/>mounted from your machine"/]

    subgraph services["Switch on the services you need"]
      direction LR
      db[("Database<br/>(MySQL)")]
      cache[("Cache<br/>(Redis)")]
      queue["Queue<br/>(RabbitMQ)"]
      search[("Search<br/>(Meilisearch)")]
      ai["Local AI<br/>(Ollama)"]
      more["&hellip;100+ more"]
    end
  end

  ship["Ship to production<br/>any server / cloud"]

  you -->|"in your browser"| nginx
  you -->|"in your terminal"| workspace
  nginx -->|"FastCGI"| php
  php -->|"executes"| code
  workspace -->|"develops"| code
  code -.-> db
  code -.-> cache
  code -.-> queue
  code -.-> search
  code -.-> ai
  code -.-> more
  docker -->|"./laradock ship"| ship

  classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
  classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
  classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
  classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
  class you toneBlue
  class nginx,php,workspace toneAmber
  class code toneRose
  class db,cache,queue,search,ai,more toneMint
  class ship toneBlue
Loading

The docs go deeper into how a request flows and how the two Docker networks isolate your services.

Deploy Anywhere

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

Where Platforms
Managed clouds Google Cloud Run, AWS ECS, AWS App Runner, Azure Container Apps, Fly.io, Render, Railway, DigitalOcean, Heroku
Your own infrastructure Kubernetes, Kamal, A single server

Start here: Deploy to Production.

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.

Four things no other tool combines: 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, just say "Set up Laradock for this project"). Full breakdown: Laradock vs Others, or head straight to Sail, DDEV, Herd, Lando, XAMPP, Valet, or Homestead.

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

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

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 on this README 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 via Open Collective  ·  custom or annual agreements: mahmoud@zalt.me

Diamond Sponsors

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

Gold Sponsors

Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor Laradock Gold Sponsor

Silver Sponsors

Silver Sponsors

Sista AI - AI Workforce platform.

Bronze Sponsors

Bronze Sponsors

Community

Ask questions, share your setup, and get help from other Laradock developers on GitHub Discussions.

We moved off Gitter in 2026. GitHub Discussions is our only home now.

Contact

Have a question, found a problem, or need something? mahmoud@zalt.me

For security vulnerabilities, see SECURITY.md.

License

MIT © Mahmoud Zalt

About

Full PHP development environment for Docker, with custom multiple php versions out off box.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages