2017-10-16 07:17:27 +00:00
< p align = "center" >
2018-03-25 10:07:45 +00:00
< h1 align = "center" > The Devilbox< / h1 >
2017-10-16 07:17:27 +00:00
< / p >
2018-07-26 22:41:31 +00:00
![Devilbox ](docs/img/banner.png )
2016-10-09 16:47:49 +00:00
2017-10-16 08:21:54 +00:00
**[Usage](#usage)** |
2018-03-25 10:07:45 +00:00
**[Community](#community)** |
2017-10-16 08:21:54 +00:00
**[Features](#feature-overview)** |
**[Intranet](#intranet-overview)** |
**[Screenshots](#screenshots)** |
2018-02-26 20:02:31 +00:00
**[Contributing](#contributing-)** |
2017-10-16 08:21:54 +00:00
**[Logos](#logos)** |
**[License](#license)**
2016-10-09 16:47:49 +00:00
2018-07-26 22:41:31 +00:00
![Devilbox ](docs/_includes/figures/devilbox/devilbox-intranet-dash-all.png )
2017-05-06 09:17:00 +00:00
2018-04-05 07:14:09 +00:00
[![Build Status ](https://travis-ci.org/cytopia/devilbox.svg?branch=master )](https://travis-ci.org/cytopia/devilbox)
[![Documentation Status ](https://readthedocs.org/projects/devilbox/badge/?version=latest )](https://devilbox.readthedocs.io)
![Tag ](https://img.shields.io/github/tag/cytopia/devilbox.svg )
[![type ](https://img.shields.io/badge/type-Docker-orange.svg )](https://www.docker.com/)
[![License ](https://img.shields.io/badge/license-MIT-blue.svg )](https://opensource.org/licenses/MIT)
2016-10-09 16:47:49 +00:00
2018-07-26 22:41:31 +00:00
< img width = "200" style = "width:200px;" src = "docs/_includes/figures/https/https-ssl-address-bar.png" / >
2018-05-05 10:22:30 +00:00
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. It supports an **unlimited number of projects** for which vhosts, **SSL certificates** and **DNS records** are created automatically. Email catch-all and popular development tools will be at your service as well. Configuration is not necessary, as everything is pre-setup with mass virtual hosting.
2016-10-22 17:58:42 +00:00
2018-03-25 10:29:27 +00:00
**Requirements**
2016-10-22 17:58:42 +00:00
![Linux ](https://raw.githubusercontent.com/cytopia/icons/master/64x64/linux.png ) ![Windows ](https://raw.githubusercontent.com/cytopia/icons/master/64x64/windows.png ) ![OSX ](https://raw.githubusercontent.com/cytopia/icons/master/64x64/osx.png )
2018-03-25 10:29:27 +00:00
* [Docker Engine 1.12.0+ ](https://docs.docker.com/compose/compose-file/compose-versioning/#version-21 )
* [Docker Compose 1.9.0+ ](https://docs.docker.com/compose/compose-file/compose-versioning/#version-21 )
2017-06-25 11:46:50 +00:00
2018-03-25 10:07:45 +00:00
## Community
2018-05-13 15:21:32 +00:00
Find documentation and help here
2018-03-25 10:07:45 +00:00
< table width = "100%" style = "width:100%; display:table;" >
< thead >
< tr >
2018-05-13 15:21:32 +00:00
< th width = "33%" style = "width:33%;" > < h3 > < a href = "https://devilbox.readthedocs.io" > Documentation< / a > < / h3 > < / th >
< th width = "33%" style = "width:33%;" > < h3 > < a href = "https://gitter.im/devilbox/Lobby" > Chat< / a > < / h3 > < / th >
< th width = "33%" style = "width:33%;" > < h3 > Forum< / h3 > < / th >
2018-03-25 10:07:45 +00:00
< / tr >
< / thead >
< tbody style = "vertical-align: middle; text-align: center;" >
< tr >
< td >
< a href = "https://devilbox.readthedocs.io" >
2018-04-02 12:01:58 +00:00
< img title = "Documentation" name = "Documentation" src = "https://raw.githubusercontent.com/cytopia/icons/master/400x400/readthedocs.png" / >
2018-03-25 10:07:45 +00:00
< / a >
< / td >
< td >
< a href = "https://gitter.im/devilbox/Lobby" >
2018-04-02 12:01:58 +00:00
< img title = "Chat on Gitter" name = "Chat on Gitter" src = "https://raw.githubusercontent.com/cytopia/icons/master/400x400/gitter.png" / >
2018-03-25 10:07:45 +00:00
< / a >
< / td >
< td >
2018-04-02 12:01:58 +00:00
< img title = "Forum" name = "Forum" src = "https://raw.githubusercontent.com/cytopia/icons/master/400x400/discourse.png" / >
2018-03-25 10:07:45 +00:00
< / td >
< / tr >
< tr >
< td > < a href = "https://devilbox.readthedocs.io" > devilbox.readthedocs.io< / a > < / td >
< td > < a href = "https://gitter.im/devilbox/Lobby" > gitter.im/devilbox< / a > < / td >
< td > coming soon< / td >
< / tr >
< / tbody >
< / table >
2017-05-20 19:24:04 +00:00
## Usage
2017-06-25 11:46:50 +00:00
#### Quick start
2016-10-21 01:18:09 +00:00
2017-10-16 07:17:27 +00:00
You are up and running in four simple steps:
2016-10-21 01:18:09 +00:00
2017-05-06 09:17:00 +00:00
```shell
2017-10-16 07:17:27 +00:00
# Get the devilbox
$ git clone https://github.com/cytopia/devilbox
$ cd devilbox
2017-05-20 19:39:57 +00:00
# Create docker-compose environment file
2016-10-21 01:18:09 +00:00
$ cp env-example .env
# Edit your configuration
$ vim .env
2017-05-06 09:17:00 +00:00
# Start all containers
2016-10-21 01:18:09 +00:00
$ docker-compose up
2017-05-20 18:13:14 +00:00
```
2017-04-23 11:20:32 +00:00
2017-06-25 11:46:50 +00:00
#### Selective start
2017-05-20 19:24:04 +00:00
2017-06-25 11:46:50 +00:00
The above will start all containers, you can however also just start the containers you actually need. This is achieved by simply specifying them in the docker-compose command.
2017-05-20 19:24:04 +00:00
2017-05-20 19:39:57 +00:00
```shell
2017-05-06 09:17:00 +00:00
$ docker-compose up httpd php mysql redis
2016-10-21 01:18:09 +00:00
```
2018-07-26 22:41:31 +00:00
![Devilbox ](docs/img/devilbox-dash-selective.png )
2017-05-20 18:13:14 +00:00
2017-06-25 11:46:50 +00:00
#### Run different versions
2017-10-16 07:17:27 +00:00
Every single attachable container comes with many different versions. In order to select the desired version for a container, simply edit the `.env` file and uncomment the version of choice. Any combination is possible.
2017-06-25 11:46:50 +00:00
< table >
< thead >
< tr >
< th > Apache< / th >
< th > Nginx< / th >
< th > PHP< / th >
< th > MySQL< / th >
< th > MariaDB< / th >
2017-07-01 16:54:09 +00:00
< th > Percona< / th >
2017-06-25 11:46:50 +00:00
< th > PgSQL< / th >
< th > Redis< / th >
< th > Memcached< / th >
< th > MongoDB< / th >
< / tr >
< / thead >
< tbody >
< tr >
2017-10-08 10:17:36 +00:00
< td > < a target = "_blank" title = "Apache 2.2" href = "https://github.com/devilbox/docker-apache-2.2" > 2.2< / a > < / td >
< td > < a target = "_blank" title = "Nginx stable" href = "https://github.com/devilbox/docker-nginx-stable" > stable< / a > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 5.3" href = "https://github.com/devilbox/docker-php-fpm" > 5.3< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "MySQL 5.5" href = "https://github.com/cytopia/docker-mysql-5.5" > 5.5< / a > < / td >
< td > < a target = "_blank" title = "MariaDB 5.5" href = "https://github.com/cytopia/docker-mariadb-5.5" > 5.5< / a > < / td >
2017-07-01 16:54:09 +00:00
< td > < a target = "_blank" title = "PerconaDB 5.5" href = "https://github.com/cytopia/docker-percona-5.5" > 5.5< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "PgSQL 9.1" href = "https://github.com/docker-library/postgres" > 9.1< / a > < / td >
< td > < a target = "_blank" title = "Redis 2.8" href = "https://github.com/docker-library/redis" > 2.8< / a > < / td >
< td > < a target = "_blank" title = "Memcached 1.4.21" href = "https://github.com/docker-library/memcached" > 1.4.21< / a > < / td >
< td > < a target = "_blank" title = "MongoDB 2.8" href = "https://github.com/docker-library/mongo" > 2.8< / a > < / td >
< / tr >
< tr >
2017-10-08 10:17:36 +00:00
< td > < a target = "_blank" title = "Apache 2.4" href = "https://github.com/devilbox/docker-apache-2.4" > 2.4< / a > < / td >
< td > < a target = "_blank" title = "Nginx mainline" href = "https://github.com/devilbox/docker-nginx-mainline" > mainline< / a > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 5.4" href = "https://github.com/devilbox/docker-php-fpm" > 5.4< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "MySQL 5.6" href = "https://github.com/cytopia/docker-mysql-5.6" > 5.6< / a > < / td >
< td > < a target = "_blank" title = "MariaDB 10.0" href = "https://github.com/cytopia/docker-mariadb-10.0" > 10.0< / a > < / td >
2017-07-01 16:54:09 +00:00
< td > < a target = "_blank" title = "PerconaDB 5.6" href = "https://github.com/cytopia/docker-percona-5.6" > 5.6< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "PgSQL 9.2" href = "https://github.com/docker-library/postgres" > 9.2< / a > < / td >
< td > < a target = "_blank" title = "Redis 3.0" href = "https://github.com/docker-library/redis" > 3.0< / a > < / td >
< td > < a target = "_blank" title = "Memcached 1.4.22" href = "https://github.com/docker-library/memcached" > 1.4.22< / a > < / td >
< td > < a target = "_blank" title = "MongoDB 3.0" href = "https://github.com/docker-library/mongo" > 3.0< / a > < / td >
< / tr >
< tr >
< td > < / td >
< td > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 5.5" href = "https://github.com/devilbox/docker-php-fpm" > 5.5< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "MySQL 5.7" href = "https://github.com/cytopia/docker-mysql-5.7" > 5.7< / a > < / td >
< td > < a target = "_blank" title = "MariaDB 10.1" href = "https://github.com/cytopia/docker-mariadb-10.1" > 10.1< / a > < / td >
2017-07-01 16:54:09 +00:00
< td > < a target = "_blank" title = "PerconaDB 5.7" href = "https://github.com/cytopia/docker-percona-5.7" > 5.7< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "PgSQL 9.3" href = "https://github.com/docker-library/postgres" > 9.3< / a > < / td >
< td > < a target = "_blank" title = "Redis 3.2" href = "https://github.com/docker-library/redis" > 3.2< / a > < / td >
< td > < a target = "_blank" title = "Memcached 1.4.23" href = "https://github.com/docker-library/memcached" > 1.4.23< / a > < / td >
< td > < a target = "_blank" title = "MongoDB 3.2" href = "https://github.com/docker-library/mongo" > 3.2< / a > < / td >
< / tr >
< tr >
< td > < / td >
< td > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 5.6" href = "https://github.com/devilbox/docker-php-fpm" > 5.6< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "MySQL 8.0" href = "https://github.com/cytopia/docker-mysql-8.0" > 8.0< / a > < / td >
< td > < a target = "_blank" title = "MariaDB 10.2" href = "https://github.com/cytopia/docker-mariadb-10.2" > 10.2< / a > < / td >
2017-07-01 16:54:09 +00:00
< td > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "PgSQL 9.4" href = "https://github.com/docker-library/postgres" > 9.4< / a > < / td >
2017-10-08 10:17:36 +00:00
< td > < a target = "_blank" title = "Redis 4.0" href = "https://github.com/docker-library/redis" > 4.0< / a > < / td >
2017-06-27 11:14:02 +00:00
< td > < a target = "_blank" title = "Memcached 1.4.23" href = "https://github.com/docker-library/memcached" > 1.4.24< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "MongoDB 3.4" href = "https://github.com/docker-library/mongo" > 3.4< / a > < / td >
< / tr >
< tr >
< td > < / td >
< td > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 7.0" href = "https://github.com/devilbox/docker-php-fpm" > 7.0< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < / td >
< td > < a target = "_blank" title = "MariaDB 10.3" href = "https://github.com/cytopia/docker-mariadb-10.3" > 10.3< / a > < / td >
2017-07-01 16:54:09 +00:00
< td > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "PgSQL 9.5" href = "https://github.com/docker-library/postgres" > 9.5< / a > < / td >
< td > < / td >
2017-06-27 11:14:02 +00:00
< td > ...< / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "MongoDB 3.5" href = "https://github.com/docker-library/mongo" > 3.5< / a > < / td >
< / tr >
< tr >
< td > < / td >
< td > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 7.1" href = "https://github.com/devilbox/docker-php-fpm" > 7.1< / a > < / td >
2017-06-25 11:46:50 +00:00
< td > < / td >
< td > < / td >
2017-07-01 16:54:09 +00:00
< td > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "PgSQL 9.6" href = "https://github.com/docker-library/postgres" > 9.6< / a > < / td >
< td > < / td >
2017-10-08 10:17:36 +00:00
< td > < a target = "_blank" title = "Memcached 1.5.2" href = "https://github.com/docker-library/memcached" > 1.5.2< / a > < / td >
2017-06-27 11:14:02 +00:00
< td > < / td >
< / tr >
< tr >
< td > < / td >
< td > < / td >
2018-05-12 14:03:43 +00:00
< td > < a target = "_blank" title = "PHP 7.2" href = "https://github.com/devilbox/docker-php-fpm" > 7.2< / a > < / td >
2017-06-27 11:14:02 +00:00
< td > < / td >
< td > < / td >
< td > < / td >
2017-10-08 10:17:36 +00:00
< td > < a target = "_blank" title = "PgSQL 10.0" href = "https://github.com/docker-library/postgres" > 10.0< / a > < / td >
2017-07-01 16:54:09 +00:00
< td > < / td >
2017-06-25 11:46:50 +00:00
< td > < a target = "_blank" title = "Memcached latest" href = "https://github.com/docker-library/memcached" > latest< / a > < / td >
< td > < / td >
< / tr >
2018-05-13 15:21:32 +00:00
< tr >
< td > < / td >
< td > < / td >
< td > < a target = "_blank" title = "PHP 7.3" href = "https://github.com/devilbox/docker-php-fpm" > 7.3< / a > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< td > < / td >
< / tr >
2017-06-25 11:46:50 +00:00
< / tbody >
< / table >
#### Enter the container
2017-08-17 19:20:41 +00:00
You can also work directly inside the php container. Simply use the bundled scripts `shell.sh` . The `PS1` will automatically be populated with current chosen php version.
2017-05-20 19:50:38 +00:00
```shell
# Enter as user devilbox (normal operation / development)
2017-08-17 19:20:41 +00:00
host> ./shell.sh
2017-05-20 19:55:22 +00:00
devilbox@php-7.0.19 in /shared/httpd $
2017-06-25 11:46:50 +00:00
```
```shell
2017-05-20 19:50:38 +00:00
# Enter as root user (do root stuff)
2017-08-17 19:20:41 +00:00
host> ./shell.sh
devilbox@php-7.0.19 in /shared/httpd $ sudo su -
2017-05-20 19:55:22 +00:00
root@php-7.0.19 in /shared/httpd $
2017-05-20 19:50:38 +00:00
```
2017-06-25 11:46:50 +00:00
Your projects can be found in `/shared/httpd` . DNS records are automatically available inside the php container. Also every other service will be available on `127.0.0.1` inside the php container (tricky socat port-forwarding).
2017-05-20 19:50:38 +00:00
2017-10-16 07:17:27 +00:00
#### Quick Video intro
[![Devilbox setup and workflow ](docs/img/devilbox_01-setup-and-workflow.png "devilbox - setup and workflow" )](https://www.youtube.com/watch?v=reyZMyt2Zzo)
[![Devilbox email catch-all ](docs/img/devilbox_02-email-catch-all.png "devilbox - email catch-all" )](https://www.youtube.com/watch?v=e-U-C5WhxGY)
2017-05-20 18:13:14 +00:00
## Feature overview
2017-10-16 07:17:27 +00:00
The devilbox has everything setup for you. The only thing you will have to install is [docker ](https://docs.docker.com/engine/installation/ ) and [docker-compose ](https://docs.docker.com/compose/install/ ). Virtual hosts and DNS entries will be created automatically, just by adding new project folders.
2017-05-20 18:13:14 +00:00
2017-06-25 11:46:50 +00:00
#### Features
2017-10-16 07:17:27 +00:00
< table >
< tbody >
< tr >
2017-11-04 12:42:15 +00:00
< td width = "220" style = "width:220px;" > :star: Auto virtual hosts< / td >
< td > New virtual hosts are created automatically and instantly whenever you add a project directory. This is done internally via < a href = "https://travis-ci.org/devilbox/vhost-gen" > vhost-gen< / a > and < a href = "https://github.com/devilbox/watcherd" > watcherd< / a > .< / td >
< / tr >
2018-05-05 10:22:30 +00:00
< tr >
< td > :star: Automated SSL certificate generation< / td >
< td > SSL certificates are automatically created for each vhost and signed by the Devilbox CA.< / td >
< / tr >
2017-11-04 12:42:15 +00:00
< tr >
< td > :star: Unlimited vhosts< / td >
< td > Run as many projects as you need with a single instance of the devilbox.< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Custom vhosts< / td >
2017-10-16 07:17:27 +00:00
< td > You can overwrite and customise the default applied vhost configuration for every single vhost.< / td >
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Custom domains< / td >
< td > Choose whatever development domain you desire: < code > *.loc< / code > , < code > *.local< / code > , < code > *.dev< / code > or use real domains as well: < code > *.example.com< / code > < / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Auto DNS< / td >
2017-10-16 07:17:27 +00:00
< td > An integraded BIND server is able to create DNS entries automatically for your chosen domains.< / td >
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Custom PHP config< / td >
2017-10-16 07:17:27 +00:00
< td > Overwrite any setting for PHP.< / td >
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Custom PHP modules< / td >
2017-10-16 07:17:27 +00:00
< td > Load custom PHP modules on the fly.< / td >
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Email catch-all< / td >
2017-10-16 07:17:27 +00:00
< td > All outgoing emails are catched and will be presented in the included intranet.< / td >
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Self-validation< / td >
2017-10-16 07:17:27 +00:00
< td > Projects and configuration options are validated and marked in the intranet.< / td >
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Xdebug< / td >
2018-03-25 10:29:27 +00:00
< td > Xdebug and a full blown PHP-FPM server is ready to serve.< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :star: Many more< / td >
2017-10-16 07:17:27 +00:00
< td > See Documentation for all available features.< / td >
< / tr >
< / tbody >
< / table >
2017-05-20 18:13:14 +00:00
2017-06-25 11:46:50 +00:00
#### Batteries
2017-05-20 18:13:14 +00:00
2017-10-16 08:21:54 +00:00
< table >
2017-10-16 07:17:27 +00:00
< tbody >
< tr >
2017-10-16 08:21:54 +00:00
< td > :open_file_folder:< / td >
< td > < a href = "https://www.phpmyadmin.net" > phpMyAdmin< / a > < / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :open_file_folder:< / td >
< td > < a href = "https://www.adminer.org" > Adminer< / a > < / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :bar_chart:< / td >
< td > < a href = "https://github.com/PeeHaa/OpCacheGUI" > OpCache GUI< / a > < / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :email:< / td >
< td > Mail viewer< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< / tbody >
< / table >
2017-05-20 18:13:14 +00:00
2017-06-25 11:46:50 +00:00
#### Tools
2017-10-16 15:47:27 +00:00
The following tools will assist you on creating new projects easily as well as helping you check your code against guidelines.
2017-10-16 07:17:27 +00:00
< table >
< tbody >
< tr >
2017-10-16 08:21:54 +00:00
< td width = "220" style = "width:220px;" > :wrench: < a href = "https://github.com/cytopia/awesome-ci" > awesome-ci< / a > < / td >
2017-10-16 13:54:23 +00:00
< td > A set of tools for static code analysis:< br / > < br / > < code > file-cr< / code > , < code > file-crlf< / code > , < code > file-empty< / code > , < code > file-nullbyte-char< / code > , < code > file-trailing-newline< / code > , < code > file-trailing-single-newline< / code > , < code > file-trailing-space< / code > , < code > file-utf8< / code > , < code > file-utf8-bom< / code > , < code > git-conflicts< / code > , < code > git-ignored< / code > , < code > inline-css< / code > , < code > inline-js< / code > , < code > regex-grep< / code > , < code > regex-perl< / code > , < code > syntax-bash< / code > , < code > syntax-css< / code > , < code > syntax-js< / code > , < code > syntax-json< / code > , < code > syntax-markdown< / code > , < code > syntax-perl< / code > , < code > syntax-php< / code > , < code > syntax-python< / code > , < code > syntax-ruby< / code > , < code > syntax-scss< / code > , < code > syntax-sh< / code > < / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :wrench: < a href = "https://github.com/laravel/installer" > laravel installer< / a > < / td >
< td > < code > laravel< / code > is a command line tool that lets you easily install the Laravel framework.< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :wrench: < a href = "https://github.com/phalcon/phalcon-devtools" > phalcon devtools< / a > < / td >
< td > < code > phalcon< / code > is a command line tool that lets you easily install the PhalconPHP framework.< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :wrench: < a href = "https://github.com/symfony/symfony-installer" > symfony installer< / a > < / td >
< td > < code > symfony< / code > is a command line tool that lets you easily install the Symfony framework.< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< tr >
2017-10-16 08:21:54 +00:00
< td > :wrench: < a href = "https://wp-cli.org" > wp-cli< / a > < / td >
< td > < code > wp< / code > is a command line tool that lets you easily install Wordpress.< / td >
2017-10-16 07:17:27 +00:00
< / tr >
< / tbody >
< / table >
2017-10-16 15:47:27 +00:00
Well-known and popular tools will be at your service as well:
2017-10-16 08:21:54 +00:00
< a target = "_blank" title = "Composer" href = "https://getcomposer.org" > < img width = "64" style = "width:64px" src = "docs/img/logo_tools/composer.png" alt = "Devilbox" / > < / a >
< a target = "_blank" title = "Drupal Console" href = "https://drupalconsole.com" > < img width = "64" style = "battery" src = "docs/img/logo_tools/drupal-console.png" alt = "Devilbox" / > < / a >
< a target = "_blank" title = "Drush" href = "https://www.drupal.org/project/drush" > < img width = "64" style = "width:64px;" src = "docs/img/logo_tools/drush.png" alt = "Devilbox" / > < / a >
< a target = "_blank" title = "Git" href = "https://git-scm.com" > < img width = "64" style = "width:64px;" src = "docs/img/logo_tools/git.png" alt = "Devilbox" / > < / a >
< a target = "_blank" title = "mysqldump-secure" href = "https://mysqldump-secure.org" > < img width = "64" style = "width:64px;" src = "docs/img/logo_tools/mysqldump-secure.png" alt = "Devilbox" / > < / a >
< a target = "_blank" title = "NodeJS" href = "https://nodejs.org" > < img width = "64" style = "width:64px;" src = "docs/img/logo_tools/nodejs.png" alt = "Devilbox" / > < / a >
< a target = "_blank" title = "NPM" href = "https://www.npmjs.com" > < img width = "64" style = "width:64px;" src = "docs/img/logo_tools/npm.png" alt = "Devilbox" / > < / a >
2017-06-25 11:46:50 +00:00
2017-06-25 12:44:51 +00:00
2017-10-16 07:17:27 +00:00
#### Available PHP Modules
2017-06-25 12:44:51 +00:00
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.
2018-03-25 10:07:45 +00:00
> *amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib*
2017-07-02 08:52:31 +00:00
2017-10-16 07:17:27 +00:00
#### Custom PHP Modules
2017-08-13 11:36:24 +00:00
2018-03-25 10:29:27 +00:00
You can also copy any custom modules into `mod/(php-fpm)-<VERSION>` and add a custom `*.ini` file to load them.
2017-08-13 11:36:24 +00:00
2017-07-02 08:52:31 +00:00
#### Supported Frameworks
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:
2017-10-16 13:54:23 +00:00
[![CakePHP ](docs/img/logo_fw/cake.png )](https://cakephp.org)
[![Drupal ](docs/img/logo_fw/drupal.png )](https://www.drupal.org)
[![Joomla ](docs/img/logo_fw/joomla.png )](https://www.joomla.org)
[![Laravel ](docs/img/logo_fw/laravel.png )](https://laravel.com)
[![Phalcon ](docs/img/logo_fw/phalcon.png )](https://phalconphp.com)
[![Symfony ](docs/img/logo_fw/symfony.png )](https://symfony.com)
[![Wordpress ](docs/img/logo_fw/wordpress.png )](https://wordpress.org)
[![Yii ](docs/img/logo_fw/yii.png )](http://www.yiiframework.com)
[![Zend ](docs/img/logo_fw/zend.png )](https://framework.zend.com)
2017-07-02 08:52:31 +00:00
2016-10-29 09:43:28 +00:00
2016-10-21 01:18:09 +00:00
## Intranet overview
2016-10-09 16:47:49 +00:00
2017-10-16 13:54:23 +00:00
The devilbox comes with a pre-configured intranet on `http://localhost` . This can be explicitly disabled or password-protected. The intranet will not only show you, the chosen configuration, but also validate the status of the current configuration, such as if **DNS records** exists (on host and container), are directories properly set-up. Additionally it provides external tools to let you interact with databases and emails.
2016-10-10 11:06:47 +00:00
2017-05-20 19:24:04 +00:00
* **Virtual Host overview** (validates directories and DNS)
* **Database overview** (MySQL, PgSQL, Redis, Memcache, ...)
* **Email overview**
* **Info pages** (Httpd, MySQL, PgSQL, Redis, Memcache, ...)
* **[phpMyAdmin](https://www.phpmyadmin.net)**
* **[Adminer](https://www.adminer.org)**
* **[OpcacheGUI](https://github.com/PeeHaa/OpCacheGUI)**
2016-10-10 11:06:47 +00:00
2016-10-22 17:22:17 +00:00
2016-10-21 01:18:09 +00:00
## Screenshots
2016-10-10 11:14:27 +00:00
2018-03-25 10:07:45 +00:00
A few examples of how the built-in intranet looks like.
2016-10-10 11:14:27 +00:00
2017-10-16 11:51:50 +00:00
< table >
< tbody >
< tr >
< td rowspan = "2" >
2018-03-25 10:07:45 +00:00
< a href = "docs/img/screenshots/01_intranet_home.png" > < img style = "width:250px;" width = "250" src = "docs/img/screenshots/01_intranet_home.png" / > < / a >
2017-10-16 11:51:50 +00:00
< / td >
< td >
2018-03-25 10:07:45 +00:00
< a href = "docs/img/screenshots/02_intranet_vhosts.png" > < img style = "width:250px" width = "250" src = "docs/img/screenshots/02_intranet_vhosts.png" / > < / a >
2017-10-16 11:51:50 +00:00
< / td >
< td >
2018-03-25 10:07:45 +00:00
< a href = "docs/img/screenshots/03_intranet_databases.png" > < img style = "width:250px;" width = "250" src = "docs/img/screenshots/03_intranet_databases.png" / > < / a >
2017-10-16 11:51:50 +00:00
< / td >
< / tr >
< tr >
2018-03-25 10:07:45 +00:00
< td >
< a href = "docs/img/screenshots/04_intranet_emails.png" > < img style = "width:250px;" width = "250" src = "docs/img/screenshots/04_intranet_emails.png" / > < / a >
< / td >
2017-10-16 11:51:50 +00:00
< td > < / td >
< / tr >
< / table >
2017-05-20 19:24:04 +00:00
2018-02-26 20:02:31 +00:00
## Contributing [![Open Source Helpers](https://www.codetriage.com/cytopia/devilbox/badges/users.svg)](https://www.codetriage.com/cytopia/devilbox)
2017-05-20 19:24:04 +00:00
2018-03-25 10:07:45 +00:00
The Devilbox is still a young project with a long roadmap of features to come. Features are
decided by you - **the community** , so any kind of contribution is welcome.
2016-11-06 16:49:48 +00:00
2018-03-25 10:07:45 +00:00
To increase visibility and bug-free operation:
2016-11-06 16:49:48 +00:00
2018-03-25 10:07:45 +00:00
* Star this project
* Open up issues for bugs and feature requests
* Clone this project and submit fixes or features
2016-11-06 16:49:48 +00:00
2018-03-25 10:07:45 +00:00
Additionally you can [subscribe to devilbox on CodeTriage ](https://www.codetriage.com/cytopia/devilbox ),
read up on [CONTRIBUTING.md ](CONTRIBUTING.md ) and check the [ROADMAP ](https://github.com/cytopia/devilbox/issues/23 ) about what is already planned for the near future.
2016-11-06 16:49:48 +00:00
2017-05-23 07:13:40 +00:00
2017-10-16 07:17:27 +00:00
## Logos
2017-10-16 13:54:23 +00:00
Logos and banners can be found at ** [devilbox/artwork ](https://github.com/devilbox/artwork )**. Feel free to use or modify them by the terms of their license.
2017-10-16 07:17:27 +00:00
2017-10-16 08:21:54 +00:00
< img style = "width:64px; height:64px;" width = "64" height = "64" src = "https://github.com/devilbox/artwork/blob/master/submissions_logo/cytopia/01/png/logo_128_trans.png?raw=true" / > < img style = "width:64px; height:64px;" width = "64" height = "64" src = "https://github.com/devilbox/artwork/blob/master/submissions_logo/cytopia/02/png/logo_128_trans.png?raw=true" / > < img style = "height:64px;" height = "64" src = "https://github.com/devilbox/artwork/blob/master/submissions_banner/cytopia/01/png/banner_128_trans.png?raw=true" / >
2017-10-16 07:17:27 +00:00
2017-05-23 07:13:40 +00:00
## License
[MIT License ](LICENSE.md )
2017-10-16 13:54:23 +00:00
Copyright (c) 2016 [cytopia ](https://github.com/cytopia )