🧰 DevilBox: A containerized PHP dev environment (Part 1)

franksierra

Frank Sierra

Posted on January 3, 2020

🧰 DevilBox: A containerized PHP dev environment (Part 1)

UPDATE (01/15/2020): fixed some typos and started writing part two.

This year for me, is a year to share and what better way to start it than with this amazing tool.

When I took the leap from .Net development to PHP back in ~2011 the easiest way to set-up a local development environment on windows was using WAMP. (Just to be clear, I love GNU/Linux but just the CLI πŸ˜…)

By the end of 2017 I discovered DevilBox

Reproducible and identical development environment for all host operating systems with zero configuration requirements.

I've been using it since then daily, it uses docker so you can use on the OS of your choice, as the author describes it:

The Devilbox is a modern and highly customisable dockerized PHP stack supporting full LAMP and MEAN and running on all major platforms. The main goal is to easily switch and combine any version required for local development.

You can choose between Apache and Nginx as your web server, Almost any version of PHP(for those pesky clients that refuse to let go 5.4), MySQL, Percona or MariaDB, PgSQL, Redis and finally MongoDB...

It comes with its own DNS Server so you can easily use URLs for local development.
Local URL

And the thing I like the most is a 'Email catch-all' so you can send emails from your apps and see them inside the dashboard without running the risk of sending real emails (using postfix of course).

The installation is pretty straightforward, basically:

# Get the Devilbox
$ git clone https://github.com/cytopia/devilbox

# Create docker-compose environment file
$ cd devilbox
$ cp env-example .env

# Edit your .env file to select the versions needed, or just
# start all container
$ docker-compose up
Enter fullscreen mode Exit fullscreen mode

Smallest stack

This is the smallest possible and fully functional stack you can run
Small Stack

Full stack

To better understand what is actually possible have a look at the full example
Full stack


If you are interested in learning more about it or going deeper into the configurations, just let me know. I would happily write a post or two going in depth about it.

πŸ’– πŸ’ͺ πŸ™… 🚩
franksierra
Frank Sierra

Posted on January 3, 2020

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related