Introduction
Laradock is a full PHP development environment for Docker. Spin up a ready-to-use stack in seconds, with popular pre-configured services.

Instead of installing and configuring Nginx, databases, caches, and queues by hand, you get them all as ready-made containers you can switch on and off per project. It works with any PHP project (Laravel, Symfony, WordPress, or plain PHP) and behaves the same on Linux, macOS, and Windows, so your whole team shares one identical setup.
Laradock is free, open-source under the MIT license, and has been battle-tested in real-world PHP projects since 2015.
Use Docker first. Learn about it later.
Features
- Any PHP Version: Run any version from 5.6 to 8.5. Set
PHP_VERSIONin.env, rebuild, and you're on it. - 70+ Ready-made Services: Databases, caches, queues, search engines, and more, all pre-configured and waiting.
- All-in-One Dev Shell: Run Artisan, Composer, Node, and every CLI your project needs inside the ready-made
workspacecontainer, with nothing installed on your host. - Pick Your Database: MySQL, PostgreSQL, MariaDB, MongoDB, Redis, and many others, ready to switch on.
- 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 same stack.
- A Container Per Service: Every service is isolated, so nothing conflicts and each piece is easy to manage.
- Configure From One File: Add or drop software for any container by flipping variables in
.env. - 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
Dockerfileand config is plain, readable, and open for you to change.
Works With
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.
| Type | Projects |
|---|---|
| Frameworks | Laravel, Symfony, CodeIgniter, Yii, Laminas (Zend Framework), CakePHP, Phalcon, Slim, Lumen, FuelPHP |
| CMS | WordPress, Drupal, Joomla, October CMS, Statamic, Craft CMS, TYPO3, Concrete CMS, Grav |
| E-commerce | Magento, WooCommerce, PrestaShop, OpenCart, Sylius, Bagisto |
| Apps | Moodle, MediaWiki, phpBB, Matomo |
The Workspace: Your All-in-One Dev Shell
A command line preloaded with PHP, Composer, Node, Git, and dozens of dev tools, so you run every command your project needs inside it and install nothing on your own machine.
Enter it and work from there:
docker-compose exec workspace bash
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.
Quick Start
Set up a demo stack with PHP, NGINX, MySQL, Redis and Composer:
1 - Clone Laradock inside your PHP project:
git clone https://github.com/Laradock/laradock.git
2 - Enter the laradock folder and rename .env.example to .env.
cp .env.example .env
3 - Run your containers:
docker-compose up -d workspace nginx mysql redis
4 - Open your project's .env file and set the following:
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
5 - Open your browser and visit localhost: http://localhost.
Done.
Supported Services
Laradock adheres to the 'separation of concerns' principle, so it runs each software in its own Docker container. You can turn instances on or off as needed without worrying about configuration.
To run a chosen container from the list below, run
docker-compose up -d {container-name}. The container name{container-name}is the same as its folder name. Example to run the "PHP FPM" container, use the name "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 |
| Load Balancers | HAProxy, Traefik |
| PHP Compilers | PHP FPM, HHVM |
| Database Management Systems | MySQL, PostgreSQL (PostGIS), 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, 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, Apache Solr, Manticore Search, Dejavu |
| PHP Extensions | Swoole, Blackfire, Phalcon, PHP Worker, Laravel Horizon |
| Mail Servers | Mailu, MailCatcher, Mailhog, MailDev, Mailpit |
| Real-time Communication | Laravel Echo, Mercure, Soketi |
| Monitoring | Grafana, NetData |
| Coordination Services | Apache ZooKeeper |
| Container Management | Portainer, Docker Registry, Docker Web UI |
| CI/CD Tools | Jenkins, SonarQube, Gitlab, OneDev |
| Cloud Tools | AWS EB CLI, Amazon Simple Queue Service |
| Image Processing | Thumbor |
| Interactive Computing | IPython, Jupyter Hub |
| Security Tools | Certbot |
| Object Storage | Minio |
| Testing | Selenium |
| IDEs | Codiad, ICE Coder, Theia, Web IDE |
| API Documentation | Swagger UI, Swagger Editor |
You can choose, which tools to install in your workspace container and other containers, from the .env file.
If you modify docker-compose.yml, .env or any dockerfile file, you must re-build your containers, to see those effects in the running instance.
If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)
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 @mahmoudz | ![]() Bo-Yi Wu @appleboy | ![]() Philippe Trépanier @philtrep | ![]() Mike Erickson @mikeerickson | ![]() Dwi Fahni Denni @zeroc0d3 |
![]() Thor Erik @thorerik | ![]() Winfried van Loon @winfried-van-loon | ![]() TJ Miller @sixlive | ![]() Yu-Lung Shao (Allen) @bestlong | ![]() Milan Urukalo @urukalo |
![]() Vince Chu @vwchu | ![]() Huadong Zuo @zuohuadong | ![]() Lan Phan @lanphan | ![]() Ahkui @ahkui | ![]() < Join Us > @laradock |
Code Contributors
Financial Contributors (Backers)
Sponsors
Diamond Sponsors
Gold Sponsors
Silver 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.















