Compare commits

...

18 Commits

Author SHA1 Message Date
bf140cf8cd Merge pull request #663 from cytopia/release/v1.6.1
Release v1.6.1
2020-01-05 17:43:52 +01:00
ed8639c636 Refs #662 Fix Symfony version display on Devilbox intranet 2020-01-05 17:18:07 +01:00
06830367c9 Fixes #662 Update to latest Symfony CLI 2020-01-05 15:26:56 +01:00
556b50d76c Merge pull request #661 from cytopia/readme-badges
Update badges
2020-01-05 02:18:27 +01:00
4d2839f6d5 Update badges 2020-01-05 02:19:47 +01:00
87fe2ba593 Merge pull request #660 from cytopia/fix-github-settings
Fix username
2020-01-05 01:39:49 +01:00
cd82fa74a7 Fix username 2020-01-05 01:41:25 +01:00
e48c8e96dc Merge pull request #659 from cytopia/release/v1.6.0
Release v1.6.0
2020-01-05 01:37:59 +01:00
f29d552dfa Fixes #378 Allow to mount local ssh dir into PHP container (r/o) 2020-01-04 22:15:50 +01:00
304fc86329 Fixes #615 Add tool: phpmd 2020-01-04 21:07:52 +01:00
d44905bfb5 Use IP address of PHP container for Apache/Nginx upstream to skip DNS lookup 2020-01-04 20:56:30 +01:00
1b9ef528d2 GitHub settings 2020-01-04 17:41:59 +01:00
4f97eae8fe Prepare Release v1.6.0 2020-01-04 17:06:29 +01:00
2e09f7f0f8 Refs #265 Make vhost ssl type configurable 2020-01-04 17:06:08 +01:00
6fa7a84bd3 Refs #642 Make email catch-all configurable 2020-01-04 17:03:42 +01:00
266c5b84a3 Ensure env file has equal spacing everywhere 2020-01-04 17:02:33 +01:00
b75aa9f2ab Merge pull request #658 from cytopia/fix-unbound-var
Fix unbound bash variable in CI tests
2020-01-04 15:44:27 +01:00
99163bd525 Fix unbound bash variable in CI tests 2020-01-04 15:45:54 +01:00
11 changed files with 161 additions and 15 deletions

View File

@ -13,8 +13,8 @@ error_reporting(-1);
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
$DEVILBOX_VERSION = 'v1.5.0';
$DEVILBOX_DATE = '2020-01-03';
$DEVILBOX_VERSION = 'v1.6.1';
$DEVILBOX_DATE = '2020-01-05';
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
//

View File

@ -82,7 +82,7 @@ class Php extends BaseClass implements BaseInterface
}
public function getSymfonyVersion()
{
$output = loadClass('Helper')->exec('symfony --version 2>/dev/null', $output);
$output = loadClass('Helper')->exec('symfony -V 2>/dev/null | tr -d "[:cntrl:]" | sed "s/\[[0-9]*m//g"', $output);
return loadClass('Helper')->egrep('/[0-9.]+/', $output);
}
public function getWpcliVersion()

2
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,2 @@
github: [cytopia]
patreon: devilbox

View File

@ -13,7 +13,7 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )"
. "${SCRIPT_PATH}/../scripts/.lib.sh"
RETRIES=10
DISABLED_VERSIONS=()
DISABLED_VERSIONS=("")
echo

View File

@ -7,6 +7,23 @@ major versions.
## Unreleased
## Bugfix Release v1.6.1 (2019-01-05)
#### Fixed
- [#662](https://github.com/cytopia/devilbox/issues/662) Update to latest Symfony CLI
## Release v1.6.0 (2020-01-04)
#### Changed
- [#642](https://github.com/cytopia/devilbox/issues/642) Make email catch-all configurable
- [#265](https://github.com/cytopia/devilbox/issues/265) Make SSL vhost settings configurable
#### Added
- [#615](https://github.com/cytopia/devilbox/issues/615) Add phpmd
- [#378](https://github.com/cytopia/devilbox/issues/378) Allow to mount local `.ssh/` directory into PHP container (read-only)
## Release v1.5.0 (2020-01-03)
#### Added

View File

@ -16,15 +16,14 @@
![Devilbox](docs/_includes/figures/devilbox/devilbox-intranet-dash-all.png)
[![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)
[![Release](https://img.shields.io/github/release/cytopia/devilbox.svg?colorB=orange)](https://github.com/cytopia/devilbox/releases)
[![PreRelease](https://img.shields.io/github/release/cytopia/devilbox.svg?colorB=red&label=prelease&style=flat)](https://github.com/cytopia/devilbox/releases)
[![Gitter](https://badges.gitter.im/devilbox/Lobby.svg)](https://gitter.im/devilbox/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Discourse](https://img.shields.io/discourse/https/devilbox.discourse.group/status.svg?colorB=%234CB697)](https://devilbox.discourse.group)
[![type](https://img.shields.io/badge/type-Docker-blue.svg)](https://www.docker.com/)
[![License](https://img.shields.io/badge/license-MIT-%233DA639.svg)](https://opensource.org/licenses/MIT)
[![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)
[![Build Status](https://github.com/cytopia/devilbox/workflows/Lint/badge.svg)](https://github.com/cytopia/devilbox/actions?workflow=Lint)
[![Build Status](https://github.com/cytopia/devilbox/workflows/Docs/badge.svg)](https://github.com/cytopia/devilbox/actions?workflow=Docs)
[![Build Status](https://github.com/cytopia/devilbox/workflows/Linux/badge.svg)](https://github.com/cytopia/devilbox/actions?workflow=Linux)

View File

@ -95,7 +95,7 @@ services:
# PHP
# ------------------------------------------------------------
php:
image: devilbox/php-fpm:${PHP_SERVER}-work-0.98
image: devilbox/php-fpm:${PHP_SERVER}-work-0.101
hostname: php
##
@ -135,7 +135,7 @@ services:
##
## Mail-catching
##
- ENABLE_MAIL=2
- ENABLE_MAIL=${PHP_MAIL_CATCH_ALL:-2}
##
## Enable 127.0.0.1 Port-forwarding
@ -202,6 +202,9 @@ services:
# Certificate Authority public key
- ${DEVILBOX_PATH}/ca:/ca:rw${MOUNT_OPTIONS}
# Users SSH directory (read-only)
- ${HOST_PATH_SSH_DIR}:/home/devilbox/.ssh:ro${MOUNT_OPTIONS}
depends_on:
- bind
@ -245,7 +248,7 @@ services:
- MAIN_VHOST_ENABLE=${DEVILBOX_UI_ENABLE}
- MAIN_VHOST_STATUS_ENABLE=1
- MAIN_VHOST_STATUS_ALIAS=/devilbox-httpd-status
- MAIN_VHOST_SSL_TYPE=both
- MAIN_VHOST_SSL_TYPE=${HTTPD_VHOST_SSL_TYPE:-both}
- MAIN_VHOST_SSL_GEN=1
- MAIN_VHOST_SSL_CN=${DEVILBOX_UI_SSL_CN:-localhost}
@ -256,7 +259,7 @@ services:
- MASS_VHOST_TLD=.${TLD_SUFFIX}
- MASS_VHOST_DOCROOT=${HTTPD_DOCROOT_DIR}
- MASS_VHOST_TPL=${HTTPD_TEMPLATE_DIR}
- MASS_VHOST_SSL_TYPE=both
- MASS_VHOST_SSL_TYPE=${HTTPD_VHOST_SSL_TYPE:-both}
- MASS_VHOST_SSL_GEN=1
##
@ -264,7 +267,7 @@ services:
##
- COMPAT=${PHP_SERVER}
- PHP_FPM_ENABLE=1
- PHP_FPM_SERVER_ADDR=php
- PHP_FPM_SERVER_ADDR=172.16.238.10
- PHP_FPM_SERVER_PORT=9000
- PHP_FPM_TIMEOUT=${HTTPD_TIMEOUT_TO_PHP_FPM:-180}

View File

@ -183,6 +183,12 @@
PHP Code Beautifier and Fixer <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>
.. |ext_lnk_tool_phpmd| raw:: html
<a target="_blank" href="https://phpmd.org/">
PHP Mess Detector <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>
.. |ext_lnk_tool_phpunit| raw:: html
<a target="_blank" href="https://phpunit.de/">

View File

@ -923,6 +923,23 @@ always be ``/shared/httpd/``.
``docker-compose rm``.
HOST_PATH_SSH_DIR
-----------------
The path on your host OS of the ssh directory to be mounted into the
PHP container into ``/home/devilbox/.ssh``.
.. note::
The path is mounted read-only to ensure you cannot accidentally
delete any ssh keys from inside the php container.
+------------------------------+----------------+----------------+
| Name | Allowed values | Default value |
+==============================+================+================+
| ``HOST_PATH_SSH_DIR`` | valid path | ``~/.ssh`` |
+------------------------------+----------------+----------------+
Docker host ports
=================
@ -1164,6 +1181,36 @@ Example:
# Disable Xdebug, Imagick and Swoole
PHP_MODULES_DISABLE=xdebug,imagick,swoole
PHP_MAIL_CATCH_ALL
^^^^^^^^^^^^^^^^^^
Postfix settings for email catch-all.
When set to ``0`` postfix will be disabled and not started.
When set to ``1`` postfix is normally started and made available. However you still need
to configure it to your needs yourself. For that you can use the autostart scripts
and define a couple of ``postconf -e name=value`` commands.
When set to ``2`` (email catch-all) postfix is started, but no mail will leave the Devilbox. It is automatically
internally routed the the devilbox mail account and you can see each sent mail
in the bundled intranet: https://localhost/mail.php
+-------------------------+--------------------------------------+---------------------------------------------------+
| Name | Allowed values | Default value |
+=========================+======================================+===================================================+
| ``PHP_MAIL_CATCH_ALL`` | ``0``, ``1``, ``2`` | ``2`` |
+-------------------------+--------------------------------------+---------------------------------------------------+
Example:
.. code-block:: bash
:caption: .env
:emphasize-lines: 2
# Enable Postfix without email catch-all
PHP_MAIL_CATCH_ALL=1
Custom variables
^^^^^^^^^^^^^^^^
@ -1205,6 +1252,27 @@ This will then output ``development``.
Web server
----------
HTTPD_SSL_TYPE
^^^^^^^^^^^^^^
SSL (HTTP/HTTPS) settings for automated vhost generation.
By default each project will have two vhosts (one for HTTP and one for HTTPS).
You can control the SSL settings for your projects via the below stated values.
This is internally achieved via the ``-m`` argument of |ext_lnk_project_vhost_gen|
* ``both`` will serve HTTP and HTTPS for all projects
* ``redir`` will always redirect HTTP to HTTPS
* ``ssl`` will only serve HTTPS
* ``plain`` will only serve HTTP
+-----------------------+-----------------------------------------+------------------+
| Name | Allowed values | Default value |
+=======================+=========================================+==================+
| ``HTTPD_SSL_TYPE`` | ``both``, ``redir``, ``ssl``, ``plain`` | ``both`` |
+-----------------------+-----------------------------------------+------------------+
.. _env_httpd_docroot_dir:
HTTPD_DOCROOT_DIR

View File

@ -77,6 +77,8 @@ The PHP container is your workhorse and these are your tools:
+----------------------+---------------------------------------+
| ``phpcbf`` | |ext_lnk_tool_phpcbf| |
+----------------------+---------------------------------------+
| ``phpmd`` | |ext_lnk_tool_phpmd| |
+----------------------+---------------------------------------+
| ``phpunit`` | |ext_lnk_tool_phpunit| |
+----------------------+---------------------------------------+
| ``photon`` | |ext_lnk_tool_photon| |

View File

@ -28,9 +28,10 @@
### Show all executed commands in each
### docker image during docker-compose up?
###
### 1: Yes
### 0: No
DEBUG_COMPOSE_ENTRYPOINT=1
### 0: Quiet
### 1: Verbose
### 2: More verbose
DEBUG_COMPOSE_ENTRYPOINT=2
###
@ -441,6 +442,16 @@ MOUNT_OPTIONS=
HOST_PATH_HTTPD_DATADIR=./data/www
###
### The path on your host OS of the ssh directory to be mounted into the
### PHP container into /home/devilbox/.ssh.
###
### IMPORTANT: The path is mounted read-only to ensure you cannot accidentally
## delete anything inside the php container.
###
HOST_PATH_SSH_DIR=~/.ssh
################################################################################
###
@ -470,6 +481,25 @@ PHP_MODULES_ENABLE=
PHP_MODULES_DISABLE=oci8,PDO_OCI,pdo_sqlsrv,sqlsrv,rdkafka,swoole
###
### Postfix settings for email catch-all
###
### When set to '1' postfix is normally started and made available. However you still need
### to configure it to your needs yourself. For that you can use the autostart scripts
### and define a couple of 'postconf -e name=value' commands.
###
### When set to '2' (email catch-all), no mail will leave the Devilbox. It is automatically
### internally routed the the devilbox mail account and you can see each sent mail
### in the bundled intranet: https://localhost/mail.php
###
### Values:
### 0: Disable postfix (do not start it)
### 1: Enable/Start postfix
### 2: Enable/Start postfix and enable email catch-all
###
PHP_MAIL_CATCH_ALL=2
###
### Configure everything else about PHP in
### * cfg/php-ini-X.X/*.ini
@ -490,6 +520,23 @@ HOST_PORT_HTTPD=80
HOST_PORT_HTTPD_SSL=443
###
### SSL (HTTP/HTTPS) settings for automated vhost generation
###
### By default each project will have two vhosts (one for HTTP and one for HTTPS).
### You can control the SSL settings for your projects via the below stated values.
###
### This is internally achieved via the '-m' argument of https://github.com/devilbox/vhost-gen
###
### Values:
### * both: Serve HTTP and HTTPS for all projects
### * redir: HTTP always redirects to HTTPS
### * ssl: Only serve HTTPS
### * plain: Only serve HTTP
###
HTTPD_VHOST_SSL_TYPE=both
###
### Document Root Subdirectory
###
@ -659,12 +706,14 @@ HOST_PORT_MONGO=27017
###
HOST_PORT_BIND=1053
###
### Add comma separated DNS server from which you want to receive DNS
### You can also add DNS servers from your LAN (if any are available)
###
BIND_DNS_RESOLVER=8.8.8.8,8.8.4.4
###
### Validate DNSSEC
###