devilbox/docs
2017-06-20 12:16:27 +02:00
..
assets/img DVL-016 clean-up after gh-pages branch 2017-06-20 12:16:27 +02:00
img DVL-015 Extend documentation 2017-05-28 13:43:41 +02:00
Backups.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Configure.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Examples.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
FAQ.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Hacking.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Install.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
README.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Run.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Technical.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Update.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00
Usage.md DVL-16 Finalized doc structure 2017-06-20 12:16:27 +02:00

Devilbox Documentation

Overview | Install | Update | Configure | Run | Usage | Backups | Examples | Technical | Hacking | FAQ


Overview

  1. Main idea
  2. Supported Host OS
  3. Requirements
  4. Docker documentation
  5. Devilbox documentation
  6. Video Tutorials
  7. Available PHP Modules
  8. Supported Frameworks and CMS

1. Main idea

The devilbox allows you to have an unlimitted number of projects ready without having to install any external software and without having to configure any virtual hosts. As well as providing a very flexible development stack that you can run offline. (Internet is only required to initially pull docker container).

The only thing you will have to do is to create a new folder on the filesystem and your virtual host is ready to be served with your custom domain.

The default project catch-all domain is *.dev (see Configure for how to change it). Let's view an example:

# Inside your main project folder
$ ls -l
drwxr-xr-x 3 cytopia 4096 Jun 10 13:10 my-drupal
drwxr-xr-x 3 cytopia 4096 Jun 10 13:10 my-wordpress
drwxr-xr-x 3 cytopia 4096 Jun 10 13:10 project1
drwxr-xr-x 3 cytopia 4096 Jun 10 13:10 project2
drwxr-xr-x 3 cytopia 4096 Jun 10 13:10 yii-test

By having the above folders, the devilbox will automatically be able to serve the following vhosts:

New folders can be created, deleted and removed during run-time and corresponding virtual hosts will be available instantly without having to restart anything.

2. Supported Host OS

The devilbox runs on all major operating systems. Below you can quickly check the recommended docker versions and current issues per OS.

linux windows osx
Docker Version normal Docker for Windows Docker dor Mac
Current Issues here here here

3. Requirements

4. Docker documentation

If you have never worked with docker/docker-compose before, you should check up on their documentation to get you started: docker docs.

5. Devilbox documentation

Topic Description
Installing How to install docker, docker-compose and the devilbox
Updating Update best practise
Configuration How to configure the devilbox, switch versions (PHP, MySQL, PgSQL, ...) and how to set custom options (php.ini, my.cnf, httpd.conf, ...)
Run How to operate the devilbox, start and stop all or only required Docker container.
Usage How to create projects, Email and DNS usage, tools (composer, npm, node, drush, ...), entering the container, Log files, Xdebug, Backups, Intranet, ...
Examples Some project examples for popular CMS/Frameworks. How to setup Wordpress, Drupal, Yii, ...
Technical Technical background information
Hacking How to extend the devilbox with your own docker container
FAQ Questions and Troubleshooting

6. Video Tutorials

Have a look at youtube to see some the features in action.

Devilbox setup and workflow Devilbox email catch-all

7. Available PHP Modules

The devilbox is a development stack, so it is made sure that a lot of PHP modules are available out of the box in order to work with many different frameworks.

apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, magickwand, mbstring, mcrypt, memcache, memcached, mhash, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib

There will however be slight differences between the versions and especially with HHVM. To see the exact bundled modules for each version visit the corresponding docker repositories on Github:

PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | HHVM

8. Supported Frameworks and CMS

As far as tested there are no limitations and you can use any Framework or CMS just as you would on your live environment. Below are a few examples of extensively tested Frameworks and CMS:

CakePHP Drupal Phalcon Wordpress Yii