Compare commits

...

42 Commits

Author SHA1 Message Date
682eaf82ee Merge pull request #863 from cytopia/release/v1.10.2
Release v1.10.2
2022-02-02 18:57:11 +01:00
38b96b7a08 Updated project files 2022-02-02 11:41:20 +01:00
94bf3c9dcf Updated PHP images 2022-02-02 11:40:50 +01:00
9272bfec92 Merge pull request #861 from cytopia/release/v1.10.1
Release v1.10.1
2022-01-30 20:20:53 +01:00
d57e72bc75 Update project files 2022-01-30 14:28:50 +01:00
bbc6a661ed Fixes #754 Be able to delete emails from control center 2022-01-30 14:27:08 +01:00
2ea5ff59e0 Fxies #830 Evaluate MASS_VHOST_SSL_GEN env var 2022-01-30 13:59:43 +01:00
ba6fd1e554 Merge pull request #860 from cytopia/release/v1.10.0
Release v1.10.0
2022-01-28 08:36:08 +01:00
fe67bdf6bb Harden CI tests 2022-01-27 17:30:00 +01:00
4a9c0b6d9f Update HTTPD images 2022-01-27 14:49:57 +01:00
855d98d895 Add Docker volumes for MariaDB 10.6 and 10.7 2022-01-27 12:37:47 +01:00
01b0ecdf20 Fixes #807 description in env-example 2022-01-27 08:41:55 +01:00
fe9e6264d9 Update PHP modules in README 2022-01-27 08:30:41 +01:00
55bb37c53b Update project files 2022-01-27 08:23:19 +01:00
a6894b7793 Add MariaDB conf anbd log dirs 2022-01-27 08:21:44 +01:00
0daa62cc02 Update comment about PHP 8.0 and 8.1 stability 2022-01-27 08:17:32 +01:00
38942fa168 Added MariaDB 10.6 and MariaDB 10.7 2022-01-27 08:15:46 +01:00
a0246b7a0e Update HTTPD images 2022-01-27 08:11:28 +01:00
b17f4600f4 Update PHP images 2022-01-27 08:11:12 +01:00
5f465abd61 Merge pull request #851 from felixmosh/fix-850
fix: show utf-8 mail body properly
2022-01-26 12:08:04 +01:00
61246b5151 Merge branch 'master' into fix-850 2022-01-26 10:01:31 +01:00
ca90af0fb0 Merge pull request #859 from cytopia/release/v1.9.3
Release v1.9.3
2022-01-25 20:14:49 +01:00
7bd6b34698 Update project files 2022-01-25 10:06:22 +01:00
2677422250 Update PHP images 2022-01-24 19:29:54 +01:00
200000cb5b Ensure documentation passes CI checks 2022-01-24 15:23:41 +01:00
8560267fdc Update MySQL Docker Images 2022-01-24 14:39:10 +01:00
8c13144d3e Update available PHP modules 2022-01-24 09:27:31 +01:00
2f8fc59dd9 Ensure PHP code is compatible to legacy versions 2022-01-24 09:15:52 +01:00
d9fb88058f Updated PHP Docker Images to 0.129 2022-01-24 08:39:23 +01:00
4c15e191a0 Merge branch 'master' into fix-850 2022-01-23 13:36:19 +01:00
249b132e58 Merge pull request #832 from Ernestopheles/patch-1
Update setup-auto-dns.rst
2022-01-23 13:35:44 +01:00
6e34d3b263 Merge pull request #843 from ericvanjohnson/patch-1
Update add-project-dns-entry-on-win.rst (grammar correction)
2022-01-23 13:33:17 +01:00
68bd88d304 Merge branch 'master' into patch-1 2022-01-23 13:32:39 +01:00
bfb4769e85 fix: show utf-8 mail body properly 2021-11-07 15:56:54 +02:00
23a6aed10d Merge pull request #817 from ulin-evgeny/patch
Fixed typos
2021-10-15 11:48:42 +02:00
0dfd63d7f9 Merge branch 'master' into patch 2021-10-15 11:48:31 +02:00
3804a3b6f3 Merge pull request #842 from ericp-mrel/fix-redis-args-parsing
Fix redis args parsing for password
2021-10-15 11:47:49 +02:00
9cfc69e5bb Update add-project-dns-entry-on-win.rst 2021-10-13 04:48:52 -07:00
56555e87a5 Adjust redis args regex to allow optional quotes. 2021-10-12 10:44:44 -05:00
5e90a3a35d Use preg_match_all to get redis password from args
This should fix the issue where preg_split was being used and would cause an error if the redis args variable didn't contain the --requirepass string and the WebGUI wouldn't load as a result.
2021-10-12 09:42:04 -05:00
54e17f5ec5 Update setup-auto-dns.rst
For me it has been unclear if prot 53 may not be in use in cobination to 127.0.0.1 or generally.
2021-08-24 17:48:52 +02:00
b5d19264de Fixed typos 2021-06-20 05:07:19 +03:00
32 changed files with 211 additions and 52 deletions

View File

@ -13,8 +13,8 @@ error_reporting(-1);
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
$DEVILBOX_VERSION = 'v1.9.2';
$DEVILBOX_DATE = '2021-06-04';
$DEVILBOX_VERSION = 'v1.10.2';
$DEVILBOX_DATE = '2022-02-02';
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
//
@ -127,15 +127,27 @@ function loadClass($class) {
break;
case 'Redis':
// Check if redis is using a password
$REDIS_ROOT_PASSWORD = '';
$_REDIS_ARGS = loadClass('Helper')->getEnv('REDIS_ARGS');
$_REDIS_PASS = preg_split("/--requirepass\s+/", $_REDIS_ARGS);
if (is_array($_REDIS_PASS) && count($_REDIS_PASS)) {
// In case the option is specified multiple times, use the last effective one.
$_REDIS_PASS = $_REDIS_PASS[count($_REDIS_PASS)-1];
/*
* This pattern will match optional quoted string, 'my password' or "my password"
* or if there aren't any quotes, it will match up until the next space.
*/
$_REDIS_PASS = array();
preg_match_all('/--requirepass\s+("|\')?(?(1)(.*)|([^\s]*))(?(1)\1|)/', $_REDIS_ARGS, $_REDIS_PASS, PREG_SET_ORDER);
if (! empty($_REDIS_PASS)) {
/*
* In case the option is specified multiple times, use the last effective one.
*
* preg_match_all returns a multi-dimensional array, the first level array is in order of which was matched first,
* and the password string is either matched in group 2 or group 3 which is always the end of the sub-array.
*/
$_REDIS_PASS = end(end($_REDIS_PASS));
if (strlen($_REDIS_PASS) > 0) {
$REDIS_ROOT_PASSWORD = $_REDIS_PASS;
}

View File

@ -4,8 +4,9 @@ class HtmlEmail extends HTMLElement {
this.attachShadow({ mode: 'open' });
let emailContent;
const templateId = this.dataset.templateId;
try {
emailContent = window.atob(this.dataset.content);
emailContent = document.getElementById(templateId).innerHTML;
} catch (error) {
console.log(error);
return;

View File

@ -24,6 +24,17 @@ require $VEN_DIR . DIRECTORY_SEPARATOR . 'Mail' . DIRECTORY_SEPARATOR .'mimeDeco
require $LIB_DIR . DIRECTORY_SEPARATOR . 'Mail.php';
require $LIB_DIR . DIRECTORY_SEPARATOR . 'Sort.php';
if (isset($_GET['delete']) && is_numeric($_GET['delete'])) {
$message = $_GET['delete'];
$MyMbox = new \devilbox\Mail('/var/mail/devilbox');
$MyMbox->delete($message);
header('Location: /mail.php');
exit();
}
//
// Setup Sort/Order
//
@ -152,6 +163,7 @@ $messages = $MyMbox->get($sortOrderArr);
<th>From <?php echo $orderFrom;?></th>
<th>To <?php echo $orderTo;?></th>
<th>Subject <?php echo $orderSubj;?></th>
<th>Action</th>
</tr>
</thead>
<tbody>
@ -180,14 +192,15 @@ $messages = $MyMbox->get($sortOrderArr);
<td><?php echo htmlentities($structure->headers['from']);?></td>
<td><?php echo htmlentities($structure->headers['x-original-to']);?></td>
<td><?php echo htmlentities($structure->headers['subject']);?></td>
<td><a href="/mail.php?delete=<?php echo $data['num']-1;?>" title="Delete Email"><i class="fa fa-trash"></i></a></td>
</tr>
<tr></tr>
<tr id="mail-<?php echo $data['num'];?>" style="display:none">
<td></td>
<td colspan="4">
<td colspan="5">
<?php if ($body !== null): ?>
<html-email data-content="<?php echo base64_encode($body) ?>">
</html-email>
<template id="mail-body-<?=$data['num']?>"><?=$body?></template>
<html-email data-template-id="mail-body-<?=$data['num']?>"></html-email>
<?php else: ?>
<div class="alert alert-warning" role="alert">
No valid body found
@ -213,12 +226,9 @@ $messages = $MyMbox->get($sortOrderArr);
<?php echo loadClass('Html')->getFooter(); ?>
<script>
$(function() {
$('.subject').each(function() {
$(this).click(function() {
var id = ($(this).attr('id'));
$('#mail-'+id).toggle();
})
$('.subject').click(function() {
var id = ($(this).attr('id'));
$('#mail-'+id).toggle();
})
// Handler for .ready() called.
});

View File

@ -58,6 +58,18 @@ class Mail
}
/**
* Deletes an emails
*
* Note: messages start with 0.
*
* @param int $message The number of the message to remove, or array of message ids to remove
*/
public function delete($message) {
$this->_Mbox->remove($message);
}
/**
* Retrieve emails.
*

View File

@ -199,8 +199,20 @@ jobs:
- name: "Test Container"
shell: bash
run: |
retry() {
for n in $(seq 5); do
echo "[${n}/5] ${*}";
if eval "${*}"; then
echo "[SUCC] ${n}/5";
return 0;
fi;
sleep 5;
echo "[FAIL] ${n}/5";
done;
return 1;
}
cd .tests/
make test-smoke-container
retry make test-smoke-container
if: success() || failure()
# ------------------------------------------------------------

View File

@ -213,8 +213,20 @@ jobs:
- name: "Test Container"
shell: bash
run: |
retry() {
for n in $(seq 5); do
echo "[${n}/5] ${*}";
if eval "${*}"; then
echo "[SUCC] ${n}/t";
return 0;
fi;
sleep 5;
echo "[FAIL] ${n}/5";
done;
return 1;
}
cd .tests/
make test-smoke-container
retry make test-smoke-container
if: success() || failure()
# ------------------------------------------------------------

View File

@ -44,6 +44,8 @@ jobs:
- "MYSQL_SERVER=mariadb-10.3"
- "MYSQL_SERVER=mariadb-10.4"
- "MYSQL_SERVER=mariadb-10.5"
- "MYSQL_SERVER=mariadb-10.6"
- "MYSQL_SERVER=mariadb-10.7"
- "MYSQL_SERVER=percona-5.5"
- "MYSQL_SERVER=percona-5.6"
- "MYSQL_SERVER=percona-5.7"
@ -287,8 +289,20 @@ jobs:
- name: "Test Container"
shell: bash
run: |
retry() {
for n in $(seq 5); do
echo "[${n}/5] ${*}";
if eval "${*}"; then
echo "[SUCC] ${n}/t";
return 0;
fi;
sleep 5;
echo "[FAIL] ${n}/5";
done;
return 1;
}
cd .tests/
make test-smoke-container
retry make test-smoke-container
if: success() || failure()
# ------------------------------------------------------------

View File

@ -6,6 +6,77 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl
## Unreleased
## Release v1.10.2 (2022-02-02)
#### Fixed
- Fixed `nvm` PATH priority [#846](https://github.com/cytopia/devilbox/issues/846)
#### Added
- Added extension `sqlsrv` to php 8.1
- Added extension `pdo_sqlsrv` to php 8.1
#### Changed
- Changed postfix hostname to `localhost` instead of GitHub runners long name
- Updated PHP-FPM images [#224](https://github.com/devilbox/docker-php-fpm/pull/224)
## Release v1.10.1 (2022-01-30)
#### Fixed
- Fixed evaluation of `MASS_VHOST_SSL_GEN` env var [#830](https://github.com/cytopia/devilbox/issues/830)
#### Added
- Added feature to delete emails from within control center [#754](https://github.com/cytopia/devilbox/issues/754)
#### Changed
- Updated Nginx Stable [#35](https://github.com/devilbox/docker-nginx-stable/pull/35)
- Updated Nginx Mainline [#37](https://github.com/devilbox/docker-nginx-mainline/pull/38)
- Updated Apache 2.2 [#32](https://github.com/devilbox/docker-apache-2.2/pull/32)
- Updated Apache 2.4 [#34](https://github.com/devilbox/docker-apache-2.4/pull/34)
## Release v1.10.0 (2022-01-28)
#### Fixed
- Fixed mail.php to correctly show UTF chars in Body [#850](https://github.com/cytopia/devilbox/issues/850)
- Fixed desc in env-example [#807](https://github.com/cytopia/devilbox/issues/807)
#### Added
- Added binary `sqlite3` to all PHP images [#856](https://github.com/cytopia/devilbox/issues/856)
- Added binary `laravel` to PHP 8.0 and PHP 8.1 [#823](https://github.com/cytopia/devilbox/issues/823)
- Added AVIF support in GD for PHP 8.1 [#834](https://github.com/cytopia/devilbox/issues/834)
- Added extension `amqp` to PHP 8.0 and PHP 8.1 [#826](https://github.com/cytopia/devilbox/issues/826)
- Added extension `uploadprogress` to PHP 8.0 and PHP 8.1 [#158](https://github.com/devilbox/docker-php-fpm/pull/158)
- Added extension `imagick` to PHP 8.0 and PHP 8.1
- Added extension `rdkafka` to PHP 8.0 and PHP 8.1
- Added extension `xlswriter` to PHP 8.1
- Added extension `pdo_dblib` to PHP 8.1
- Added extension `uuid` to all PHP versions (except 5.2)
- Added MySQL image: MariaDB 10.6
- Added MySQL image: MariaDB 10.7
#### Changed
- Updated `php-cs-fixer` to latest version [#219](https://github.com/devilbox/docker-php-fpm/pull/219)
- Updated Nginx Stable [#33](https://github.com/devilbox/docker-nginx-stable/pull/33)
- Updated Nginx Stable [#34](https://github.com/devilbox/docker-nginx-stable/pull/34)
- Updated Nginx Mainline [#36](https://github.com/devilbox/docker-nginx-mainline/pull/36)
- Updated Nginx Mainline [#37](https://github.com/devilbox/docker-nginx-mainline/pull/37)
- Updated Apache 2.2 [#30](https://github.com/devilbox/docker-apache-2.2/pull/30)
- Updated Apache 2.2 [#31](https://github.com/devilbox/docker-apache-2.2/pull/31)
- Updated Apache 2.4 [#32](https://github.com/devilbox/docker-apache-2.4/pull/32)
- Updated Apache 2.4 [#33](https://github.com/devilbox/docker-apache-2.4/pull/33)
## Release v1.9.3 (2022-01-24)
#### Fixed
- Updated PHP Docker Images: [#221](https://github.com/devilbox/docker-php-fpm/pull/221)
- Updated PHP Docker Images: [#222](https://github.com/devilbox/docker-php-fpm/pull/222)
- Update MySQL Docker Images: [#10](https://github.com/devilbox/docker-mysql/pull/10)
- Fixed documentation build issues
- Fixed intranet PHP code to work with legacy versions
## Release v1.9.2 (2021-06-04)
#### Added

View File

@ -313,7 +313,7 @@ Every single attachable container comes with many different versions. In order t
<td></td>
<td><a target="_blank" title="PHP 7.2" href="https://github.com/devilbox/docker-php-fpm">7.2</a></td>
<td></td>
<td></td>
<td><a target="_blank" title="MariaDB 10.6" href="https://github.com/devilbox/docker-mysql">10.6</a></td>
<td></td>
<td>...</td>
<td></td>
@ -325,7 +325,7 @@ Every single attachable container comes with many different versions. In order t
<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><a target="_blank" title="MariaDB 10.7" href="https://github.com/devilbox/docker-mysql">10.7</a></td>
<td></td>
<td><a target="_blank" title="PgSQL 12.3" href="https://github.com/docker-library/postgres">12.3</a></td>
<td></td>
@ -347,7 +347,7 @@ Every single attachable container comes with many different versions. In order t
<tr>
<td></td>
<td></td>
<td><a target="_blank" title="PHP 8.0" href="https://github.com/devilbox/docker-php-fpm">8.0</a><sup>[2]</sup></td>
<td><a target="_blank" title="PHP 8.0" href="https://github.com/devilbox/docker-php-fpm">8.0</a></td>
<td></td>
<td></td>
<td></td>
@ -359,7 +359,7 @@ Every single attachable container comes with many different versions. In order t
<tr>
<td></td>
<td></td>
<td><a target="_blank" title="PHP 8.1" href="https://github.com/devilbox/docker-php-fpm">8.1</a><sup>[2]</sup></td>
<td><a target="_blank" title="PHP 8.1" href="https://github.com/devilbox/docker-php-fpm">8.1</a></td>
<td></td>
<td></td>
<td></td>
@ -373,7 +373,7 @@ Every single attachable container comes with many different versions. In order t
<small><strong><sup>[1]</sup></strong> <strong>PHP 5.2</strong> is available to use, but it is not officially supported. The Devilbox intranet does not work with this version as PHP 5.2 does not support namespaces. Furthermore PHP 5.2 does only work with Apache 2.4, Nginx stable and Nginx mainline. It does not work with Apache 2.2. Use at your own risk.</small>
<small><strong><sup>[2]</sup></strong> <strong>PHP 8.0 / PHP 8.1</strong> are upcoming unreleased versions of PHP, which are directly built out of their [official git branches](https://github.com/php/php-src/) every night to assure you will leverage their latest features.</small>
<!--<small><strong><sup>[2]</sup></strong> <strong>PHP 8.0 / PHP 8.1</strong> are upcoming unreleased versions of PHP, which are directly built out of their [official git branches](https://github.com/php/php-src/) every night to assure you will leverage their latest features.</small>-->
> **Documentation:**
> [Change container versions](https://devilbox.readthedocs.io/en/latest/getting-started/change-container-versions.html)
@ -721,7 +721,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
<!-- modules -->
| Modules | <sup>PHP 5.2</sup> | <sup>PHP 5.3</sup> | <sup>PHP 5.4</sup> | <sup>PHP 5.5</sup> | <sup>PHP 5.6</sup> | <sup>PHP 7.0</sup> | <sup>PHP 7.1</sup> | <sup>PHP 7.2</sup> | <sup>PHP 7.3</sup> | <sup>PHP 7.4</sup> | <sup>PHP 8.0</sup> | <sup>PHP 8.1</sup> |
|-------------------------------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|
| <small>amqp</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
| <small>amqp</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>apc</small> | | 🗸 | 🗸 | 🗸 | 🗸 | | | | | | | |
| <small>apcu</small> | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>bcmath</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
@ -734,7 +734,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
| <small>date</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>dba</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>dom</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>enchant</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>enchant</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | 🗸 | 🗸 |
| <small>ereg</small> | | ✔ | ✔ | ✔ | ✔ | | | | | | | |
| <small>exif</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>FFI</small> | | | | | | | | | | 🗸 | ✔ | ✔ |
@ -747,7 +747,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
| <small>hash</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>iconv</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>igbinary</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>imagick</small> | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
| <small>imagick</small> | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>imap</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>interbase</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
| <small>intl</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
@ -756,7 +756,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
| <small>ldap</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>libxml</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>mbstring</small> | ✔ | 🗸 | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>mcrypt</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>mcrypt</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | |
| <small>memcache</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>memcached</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>mhash</small> | | | | | ✔ | | | | | | | |
@ -772,20 +772,20 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
| <small>pcntl</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>pcre</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>PDO</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>pdo_dblib</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | |
| <small>pdo_dblib</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>PDO_Firebird</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>pdo_mysql</small> | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>PDO_OCI</small> | | | | | | d | d | d | d | d | d | d |
| <small>pdo_pgsql</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>pdo_sqlite</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>pdo_sqlsrv</small> | | | | | | d | d | d | d | d | d | |
| <small>pdo_sqlsrv</small> | | | | | | d | d | d | d | d | d | d |
| <small>pgsql</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>phalcon</small> | | d | d | d | d | d | d | d | d | d | | |
| <small>Phar</small> | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>posix</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>pspell</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>psr</small> | | | d | d | d | d | d | d | d | d | d | d |
| <small>rdkafka</small> | | d | d | d | d | d | d | d | d | d | | |
| <small>rdkafka</small> | | d | d | d | d | d | d | d | d | d | d | d |
| <small>readline</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>recode</small> | 🗸 | ✔ | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
| <small>redis</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
@ -801,20 +801,21 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
| <small>SPL</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>SQLite</small> | ✔ | ✔ | | | | | | | | | | |
| <small>sqlite3</small> | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>sqlsrv</small> | | | | | | d | d | d | d | d | d | |
| <small>sqlsrv</small> | | | | | | d | d | d | d | d | d | d |
| <small>ssh2</small> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
| <small>standard</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>swoole</small> | | d | d | d | d | d | d | d | d | d | | |
| <small>swoole</small> | | d | d | d | d | d | d | d | d | d | d | |
| <small>sysvmsg</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>sysvsem</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>sysvshm</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>tidy</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>tokenizer</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>uploadprogress</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
| <small>uploadprogress</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>uuid</small> | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>vips</small> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
| <small>wddx</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
| <small>xdebug</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>xlswriter</small> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | |
| <small>xlswriter</small> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
| <small>xml</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>xmlreader</small> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| <small>xmlrpc</small> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |

0
cfg/mariadb-10.6/.keepme Normal file
View File

View File

@ -0,0 +1,5 @@
[mysqld]
;key_buffer_size=16M
[mysqldump]
;quick

0
cfg/mariadb-10.7/.keepme Normal file
View File

View File

@ -0,0 +1,5 @@
[mysqld]
;key_buffer_size=16M
[mysqldump]
;quick

View File

@ -95,7 +95,7 @@ services:
# PHP
# ------------------------------------------------------------
php:
image: devilbox/php-fpm:${PHP_SERVER}-work-0.127
image: devilbox/php-fpm:${PHP_SERVER}-work-0.132
hostname: php
##
@ -221,7 +221,7 @@ services:
# Web Server
# ------------------------------------------------------------
httpd:
image: devilbox/${HTTPD_SERVER}:0.36
image: devilbox/${HTTPD_SERVER}:0.39
hostname: httpd
environment:
@ -320,7 +320,7 @@ services:
# MySQL Database
# ------------------------------------------------------------
mysql:
image: devilbox/mysql:${MYSQL_SERVER}-0.7
image: devilbox/mysql:${MYSQL_SERVER}-0.8
hostname: mysql
environment:
@ -501,6 +501,8 @@ volumes:
devilbox-mariadb-10.3:
devilbox-mariadb-10.4:
devilbox-mariadb-10.5:
devilbox-mariadb-10.6:
devilbox-mariadb-10.7:
devilbox-percona-5.5:
devilbox-percona-5.6:
devilbox-percona-5.7:

View File

@ -28,7 +28,7 @@ linkcheck2:
--rm \
$$(tty -s && echo "-it" || echo) \
-v $(PWD):/data \
cytopia/linkcheck -l -k -r 60 -t 30 -e rst -c '200,204' _includes/
cytopia/linkcheck -l -k -r 60 -t 30 -e rst -c '200,204,403' _includes/
linkcheck:
docker run \

View File

@ -6,13 +6,13 @@
.. |ext_lnk_doc_bind_ttl| raw:: html
<a target="_blank" href="http://www.zytrax.com/books/dns/apa/ttl.html">
<a target="_blank" href="https://bind9.readthedocs.io/en/latest/reference.html?highlight=ttl#the-ttl-directive">
BIND TTL <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>
.. |ext_lnk_doc_bind_soa| raw:: html
<a target="_blank" href="http://www.zytrax.com/books/dns/ch8/soa.html">
<a target="_blank" href="https://bind9.readthedocs.io/en/latest/introduction.html?highlight=soa#secondary-servers">
BIND SOA <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>

View File

@ -72,13 +72,13 @@
.. |ext_lnk_example_phalcon_documentation| raw:: html
<a target="_blank" href="https://docs.phalconphp.com/latest/en/devtools-usage">
<a target="_blank" href="https://docs.phalcon.io/4.0/en/environments-devilbox">
Official Phalcon Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>
.. |ext_lnk_example_photon_cms| raw:: html
<a target="_blank" href="https://photoncms.com/resources/installing">
<a target="_blank" href="https://docs.photoncms.com/">
Official Photon CMS Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>

View File

@ -209,7 +209,7 @@
.. |ext_lnk_tool_photon| raw:: html
<a target="_blank" href="https://photoncms.com/resources/installing">
<a target="_blank" href="https://docs.photoncms.com/">
Photon CMS cli <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
</a>

View File

@ -128,7 +128,7 @@ Now save the file and you can start the Devilbox again.
# Navigate to the Devilbox directory
host> cd path/to/devilbox
# Stop all container
# Start all container
host> docker-compose up php httpd bind
.. seealso:: :ref:`start_the_devilbox`
@ -193,7 +193,7 @@ Now save the file and you can start the Devilbox again.
# Navigate to the Devilbox directory
host> cd path/to/devilbox
# Stop all container
# Start all container
host> docker-compose up php httpd bind
.. seealso:: :ref:`start_the_devilbox`

View File

@ -148,7 +148,7 @@ Ensure to read the links below to understand why this problem exists and how the
The Docker documentation will also give you alternative caching options to consider.
.. seealso::
* https://github.com/cytopia/devilbox/issues/105#issuecomment-426229921
* https://github.com/cytopia/devilbox/issues/105
* https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bound/8076/281
* https://docs.docker.com/docker-for-mac/osxfs/
* :ref:`env_mount_options`

View File

@ -47,7 +47,7 @@ When using Docker for Windows you can use ``127.0.0.1`` for the IP address.
127.0.0.1 project-1.loc
127.0.0.1 www.project-1.loc
3. Safe the file and verify the DNS entries with the ``ping`` command
3. Save the file and verify the DNS entries with the ``ping`` command
.. code-block:: bash

View File

@ -53,7 +53,7 @@ Then you need to ensure that :ref:`env_host_port_bind` is set to ``53``.
host> vi .env
HOST_PORT_BIND=53
Before starting up the Devilbox, ensure that port ``53`` is not already used on ``127.0.0.1``.
Before starting up the Devilbox, ensure that port ``53`` is not already used.
.. code-block:: bash
:emphasize-lines: 2

View File

@ -135,7 +135,7 @@ have to get support from the docker/for-mac GitHub repository or forum.
.. seealso::
* https://github.com/cytopia/devilbox/issues/539
* https://github.com/docker/for-mac/issues/371#issuecomment-242047368
* https://github.com/docker/for-mac/issues/371
* https://forums.docker.com/t/no-space-left-on-device-error/10894

View File

@ -86,7 +86,7 @@ LOCAL_LISTEN_ADDR=
### with mass-virtual-hosting.
### It is also required for the internal DNS server to be setup.
###
### Note: Only ALPHA ([a-zA-Z]+) characters are supported.
### Note: In addition to period or dot character ('.'), only ALPHA ([a-zA-Z]+) characters are supported.
###
### Example:
### TLD_SUFFIX=loc
@ -292,6 +292,8 @@ HTTPD_SERVER=nginx-stable
#MYSQL_SERVER=mariadb-10.3
#MYSQL_SERVER=mariadb-10.4
MYSQL_SERVER=mariadb-10.5
#MYSQL_SERVER=mariadb-10.6
#MYSQL_SERVER=mariadb-10.7
#MYSQL_SERVER=percona-5.5
#MYSQL_SERVER=percona-5.6
#MYSQL_SERVER=percona-5.7

0
log/mariadb-10.0/.keepme Normal file
View File

0
log/mariadb-10.1/.keepme Normal file
View File

0
log/mariadb-10.2/.keepme Normal file
View File

0
log/mariadb-10.4/.keepme Normal file
View File

0
log/mariadb-10.5/.keepme Normal file
View File

0
log/mariadb-10.6/.keepme Normal file
View File

0
log/mariadb-10.7/.keepme Normal file
View File

0
log/mariadb-5.5/.keepme Normal file
View File