.devilbox | ||
.github | ||
.tests | ||
cfg | ||
doc | ||
log | ||
.gitignore | ||
.travis.yml | ||
CONTRIBUTING.md | ||
docker-compose.optional.yml | ||
docker-compose.yml | ||
env-example | ||
LICENSE.md | ||
README.md |
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: MySQL 8.0
Usage | Documentation | Run-time Matrix | Features | Intranet | Screenshots | License | Contributing | Todo
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
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 containers (base-stack)
$ docker-compose up
# Or instead of the above base-stack, you can also additionally load the
# optional stack.
# Use this command instead:
$ docker-compose -f docker-compose.optional.yml up
Updates
In case you update this repository locally on the master branch (e.g.: git pull origin master
), make sure to repull all docker containers as they very likely have also been up updated.
Otherwise you might run into problems.
Documentation
Video Tutorials
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.
Note: Some docker container combinations might not work well. See the overall build-matrix for possible problems: [ ]
Base stack
If you only want to use the base stack, use docker-compose.yml
(default):
$ docker-compose up
Optional NoSQL stack
In order to also use the docker containers below, use the docker-compose.optional.yml
instead:
$ docker-compose -f docker-compose.optional.yml up
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 |
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
orphp.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
andlocalhost
) - 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
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
)
Database overview
Shows you all the databases that are loaded
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.
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.