--- sidebar_position: 1 title: Introduction --- ![Docker Image](/img/laradock/laradock-logo.jpg) Laradock is a full PHP development environment for Docker. We offer a range of popular, pre-configured services that provide a ready-to-use PHP development environment in seconds. --- ### Use Docker First - Learn About It Later! --- ## Features - **Seamless PHP Version Switching**: Effortlessly switch between PHP versions (8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 5.6...). - **Flexible Database Choices**: Pick your preferred database engine, whether it's MySQL, Postgres, MariaDB, and more. - **Customizable Stacks**: Run your own stack with services like Memcached, HHVM, RabbitMQ, and more. - **Isolated Containers**: Each software runs in its own container, ensuring clean separation and easy management. - **Simple Customization**: Easily tweak any container by editing its `Dockerfile`. - **Trusted Base Images**: All images extend from official base images, ensuring reliability and security. - **Pre-configured Web Servers**: Ready-to-use NGINX setup to host your code right from the root directory. - **Project Flexibility**: Use Laradock per project or a single Laradock setup for all your projects. - **Environment Variable Management**: Easily install or remove software in containers using environment variables. - **Clean Dockerfiles**: Well-structured and easy-to-understand Dockerfiles (`Dockerfile`). - **Latest Docker Compose**: Always up-to-date with the latest version of the Docker Compose file (`docker-compose`). - **Full Transparency**: Everything is visible and editable, giving you full control over your environment. - **Fast Builds**: Enjoy quick image builds to get your environment up and running in no time. ## Supported Services > Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container. > You can turn On/Off as many instances as you want without worrying about the configurations. > 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) | |---------------------------|--------------------------------------------------------------------------| | **Web Servers** | NGINX, Apache2, Caddy | | **Load Balancers** | HAProxy, Traefik | | **PHP Compilers** | PHP FPM, HHVM | | **Database Management Systems** | MySQL, PostgreSQL (PostGIS), MariaDB, Percona, MSSQL, MongoDB, Neo4j, CouchDB, RethinkDB, Cassandra | | **Database Management Tools** | PhpMyAdmin, Adminer, PgAdmin, MongoDB Web UI | | **Cache Engines** | Redis, Redis Web UI, Redis Cluster, Memcached, Aerospike, Varnish | | **Message Brokers** | RabbitMQ, RabbitMQ Admin Console, Beanstalkd, Beanstalkd Admin Console, Eclipse Mosquitto, Gearman | | **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 | | **Real-time Communication** | Laravel Echo, Mercure | | **Monitoring** | Grafana, NetData | | **Coordination Services** | Apache ZooKeeper | | **Container Management** | Portainer, Docker Registry, Docker Web UI | | **CI/CD Tools** | Jenkins, SonarQube, Gitlab | | **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** | ICE Coder, Theia, Web IDE | | (**Laradock Workspace**) | PHP CLI, Composer, Git, Vim, xDebug, Linuxbrew, Node, V8JS, Gulp, SQLite, Laravel Envoy, Deployer, Yarn, SOAP, Drush, Wordpress CLI, dnsutils | 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 :) ## Quick Overview Let's see how easy it is to setup our demo stack `PHP`, `NGINX`, `MySQL`, `Redis` and `Composer`: 1 - Clone Laradock inside your PHP project: ```shell git clone https://github.com/Laradock/laradock.git ``` 2 - Enter the laradock folder and rename `.env.example` to `.env`. ```shell cp .env.example .env ``` 3 - Run your containers: ```shell docker-compose up -d nginx mysql phpmyadmin redis workspace ``` 4 - Open your project's `.env` file and set the following: ```shell DB_HOST=mysql REDIS_HOST=redis QUEUE_HOST=beanstalkd ``` 5 - Open your browser and visit localhost: `http://localhost`. ```shell That's it! enjoy :) ``` --- ## 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 [![Laradock Contributors](https://opencollective.com/laradock/contributors.svg?width=890&button=false&isActive=true)](https://github.com/laradock/laradock/graphs/contributors) ### Financial Contributors (Backers) [![Open Collective backers](https://opencollective.com/laradock/tiers/awesome-backers.svg?width=800&avatarHeight=55&button=false&isActive=true)](https://opencollective.com/laradock#contributors) --- ## Sponsors ### Diamond Sponsors
Sista AI - Plug-and-Play AI Assistant. Apiato - A powerful PHP framework for building scalable, enterprise-grade APIs!
### 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](https://opencollective.com/laradock) *Available for all tiers:* Gold, Silver, Bronze, and Backers (Financial Contributors). **Preferred method.** **2:** [Email](mailto:support@laradock.io) *Available for Diamond sponsors only.* **3:** [GitHub Sponsors](https://github.com/sponsors/Mahmoudz) *Supports the creator of the project directly:* Ideal for personal support of the project creator. ## License [MIT](https://github.com/laradock/laradock/blob/master/LICENSE) © [Mahmoud Zalt](https://zalt.me/)