A modern Docker LAMP stack and MEAN stack for local development
Go to file
2017-04-21 22:25:02 +02:00
.devilbox DVL-005 Using non-persistent pg connect to prevent HHVM core-dump 2017-04-21 02:37:01 +02:00
.github Feature/repo organization (#19) 2016-10-31 14:55:15 +01:00
.tests DVL-005 changing service combinations 2017-04-21 21:15:31 +02:00
cfg Add ability for user-defined PHP config 2016-10-16 12:07:29 +02:00
doc Adding project documentation 2016-11-06 17:49:48 +01:00
.gitignore DVL-001 Prepare HHVM support 2017-04-19 19:48:44 +02:00
.travis.yml DVL-006 Adding MySQL 8.0 2017-04-21 22:25:02 +02:00
CONTRIBUTING.md Clean Contributing file 2016-11-03 09:09:39 +01:00
docker-compose.yml DVL-004 Revert to docker-compose version 2 2017-04-20 18:07:04 +02:00
env-example DVL-006 Adding MySQL 8.0 2017-04-21 22:25:02 +02:00
LICENSE.md Initial commit 2016-10-09 18:47:49 +02:00
README.md DVL-006 Adding MySQL 8.0 2017-04-21 22:25:02 +02:00

Devilbox The devilbox

General Note:

Always check out the latest git tag. The master branch is experimental and likely to not work.

Note for OSX:

There is currently a huge annoyance with docker on OSX resulting in very slow file access, because of directory mounts. Read about the ticket here Docker Forums #8076.

Latest feature: PostgreSQL support...


Usage | Documentation | Run-time Matrix | Features | Intranet | Screenshots | License | Contributing | Todo

Build Status Tag type License

The devilbox is a modern and highly customizable alternative for XAMPP. It is based on docker-compose with presets for all kinds of versions for webservers, database servers and php.

Configuration is not necessary, as everything is pre-setup with mass virtual hosting.

Supported operating systems

Linux Windows OSX

It might run on FreeBSD, but I don't know the status of docker-compose there.


Usage

You are up and running in three simple steps:

# (optional) check out latest stable release
$ git checkout $(git describe --abbrev=0 --tags)

# Copy the example configuration file
$ cp env-example .env

# Edit your configuration
$ vim .env

# Start the dockers
$ docker-compose up

What is the .env file?

Documentation

Video Tutorials

Devilbox setup and workflow Devilbox email catch-all

Documentation

For setup, usage and examples see detailed Documentation.

Run-time Matrix

Select your prefered setup.

No need to install and configure different versions locally. Simply choose your required LAMP/LEMP stack combination during startup and it is up and running instantly.

Base stack

Webserver MySQL PostgreSQL PHP
Build Status Apache 2.2 Build Status MySQL 5.5 Build Status PgSQL 9.2 Build Status PHP 5.4
Build Status Apache 2.4 Build Status MySQL 5.6 Build Status PgSQL 9.3 Build Status PHP 5.5
Build Status Nginx stable Build Status MySQL 5.7 Build Status PgSQL 9.4 Build Status PHP 5.6
Build Status Nginx mainline Build Status MySQL 8.0 Build Status PgSQL 9.5 Build Status PHP 7.0
Build Status MariaDB 5.5 Build Status PgSQL 9.6 Build Status PHP 7.1
Build Status MariaDB 10.0 Build Status HHVM latest
Build Status MariaDB 10.1
Build Status MariaDB 10.2

Incompatible choices:
- Apache 2.2 and HHVM do not work together

Optional NoSQL stack

Cassandra CouchDB Memcached MongoDB Redis
Cassandra 2.1 CouchDB 1.6 Memcached latest MongoDB 2.6 Redis 2.8
Cassandra 2.2 CouchDB 2.0 MongoDB 3.0 Redis 3.0
Cassandra 3.0 MongoDB 3.2 Redis 3.2
MongoDB 3.4 Redis unstable

Note: Entries without links or without build-status are not yet available, but are coming soon. See ROADMAP for tasks and upcoming features.

Feature overview

  • Dynamically Configured Mass Virtual Hosting
  • Email catch-all (Intercept and view all sent emails)
  • Configuration overwrites (my.cnf, nginx.conf, httpd.conf or php.ini)
  • Log files available on host computer
  • MySQL socket (available on host computer and PHP container)
  • MySQL connectivity (reachable from host computer and from PHP container via 127.0.0.1 and localhost)
  • Xdebug

Intranet overview

The devilbox comes with a pre-configured intranet on http://localhost

  • Virtual Host overview
  • MySQL Database overview
  • PostgreSQL Database overview
  • Email overview
  • PHP Info
  • MySQL Info
  • PostgreSQL Info
  • phpMyAdmin
  • Adminer
  • Opcache GUI

Screenshots

Homepage with host / docker information

The homepage shows you the status of your current configured setup.

  • which versions are used
  • what directories are mounted
  • what other settings have been set

Intranet Home

Virtual Host overview

This overview shows you all available virtual hosts and if they need additional configuration (on the host)

Virtual Hosts are considered valid if the following requirements are met (on the host system):

  • htdocs folder/symlink exists in your project folder
  • /etc/hosts has a valid DNS config for your host: 127.0.0.1 <project-folder>.loc)

Intranet vHost

Database overview

Shows you all the databases that are loaded

Intranet DB

Email overview

Shows you all the emails that have been sent. No email will actually be sent outside, but they are all catched by one account and presented here.

Intranet Email

Contributing

There is quite a lot todo and planned. If you like to contribute, view CONTRIBUTING.md and ROADMAP.

Contributors will be credited within the intranet and on the github page.