mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-24 10:18:17 +00:00
Compare commits
61 Commits
Author | SHA1 | Date | |
---|---|---|---|
ca56dff442 | |||
7c941000c8 | |||
dbfd086227 | |||
895558209e | |||
b6512388d7 | |||
5cce2a8a89 | |||
b00b1e77b9 | |||
f2cca91dd1 | |||
b600f9866a | |||
aae28e7d6d | |||
fe59793304 | |||
c5da81b83b | |||
503667a8da | |||
315fb9e3c4 | |||
fc28e32b0c | |||
180eac149b | |||
dfb6eaec69 | |||
248cf5ba5f | |||
07df58f13a | |||
3bffa62456 | |||
59205dc888 | |||
63437650ee | |||
a11419e82e | |||
6a04527456 | |||
0bb019b8a8 | |||
d3492e4acc | |||
4418b305de | |||
933a1c65e1 | |||
cabb7b07aa | |||
97751fad37 | |||
81d896fa93 | |||
270cb45726 | |||
26cbb63f00 | |||
daefd0f927 | |||
44d1f0162f | |||
59619ca9c1 | |||
a6c45353bd | |||
575782af55 | |||
56d2ab39b4 | |||
c29741d119 | |||
6e2f6ca181 | |||
7e85b8e609 | |||
02f6876a21 | |||
a5396c2213 | |||
eb9cb0254f | |||
f054b22957 | |||
aed9a96dfc | |||
7a13143b4f | |||
887202db65 | |||
4fb67be0bd | |||
14bba0a140 | |||
6c2b42cbc7 | |||
19619394e3 | |||
66fe7e355d | |||
ec1e5861ce | |||
fb48e5e85a | |||
49190e4c36 | |||
c3da7facb4 | |||
d375244920 | |||
1b5522b6fa | |||
c3f213b779 |
@ -13,8 +13,8 @@ error_reporting(-1);
|
||||
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
||||
|
||||
|
||||
$DEVILBOX_VERSION = 'v2.0.0';
|
||||
$DEVILBOX_DATE = '2022-03-28';
|
||||
$DEVILBOX_VERSION = 'v2.3.0';
|
||||
$DEVILBOX_DATE = '2022-12-04';
|
||||
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
||||
|
||||
//
|
||||
|
@ -16,6 +16,7 @@
|
||||
<p>I am currently the sole creator and maintainer of the Devilbox and all of its required projects.<br/>If you find this useful or if it makes your daily programming life easier, consider donating to keep this project alive.</p>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/sponsors/cytopia"><strong>GitHub sponsorship</strong></a></li>
|
||||
<li><a target="_blank" href="https://opencollective.com/devilbox"><strong>Open Collective</strong></a></li>
|
||||
<li><a target="_blank" href="https://www.patreon.com/devilbox"><strong>Patreon</strong></a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
@ -39,55 +40,59 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-5.2">docker-php-fpm-5.2</a></td>
|
||||
<td>Legacy PHP 5.2 base images (amd64 and i386)</td>
|
||||
<td>Legacy PHP 5.2 base images (<code>amd64</code> and <code>i386</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-5.3">docker-php-fpm-5.3</a></td>
|
||||
<td>Legacy PHP 5.3 base images (amd64 and arm64)</td>
|
||||
<td>Legacy PHP 5.3 base images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-5.4">docker-php-fpm-5.4</a></td>
|
||||
<td>Legacy PHP 5.4 base images (amd64 and arm64)</td>
|
||||
<td>Legacy PHP 5.4 base images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-5.5">docker-php-fpm-5.5</a></td>
|
||||
<td>Legacy PHP 5.5 base images (amd64 and arm64)</td>
|
||||
<td>Legacy PHP 5.5 base images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-8.0">docker-php-fpm-8.0</a></td>
|
||||
<td>PHP 8.0 base images (amd64 and arm64)</td>
|
||||
<td>PHP 8.0 base images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-8.1">docker-php-fpm-8.1</a></td>
|
||||
<td>PHP 8.1 base images (amd64 and arm64)</td>
|
||||
<td>PHP 8.1 base images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-8.2">docker-php-fpm-8.2</a></td>
|
||||
<td>Upcoming PHP 8.2 base images (amd64 and arm64)</td>
|
||||
<td>PHP 8.2 base images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm">docker-php-fpm</a></td>
|
||||
<td>PHP-FPM Devilbox images</td>
|
||||
<td>PHP-FPM Devilbox images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-php-fpm-community">docker-php-fpm-community</a></td>
|
||||
<td>PHP-FPM Community images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-mysql">docker-mysql</a></td>
|
||||
<td>MySQL, MariaDB and PerconaDB images (amd64 and arm64)</td>
|
||||
<td>MySQL, MariaDB and PerconaDB images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-apache-2.2">docker-apache-2.2</a></td>
|
||||
<td>Apache 2.2 images (amd64 and arm64)</td>
|
||||
<td>Apache 2.2 images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-apache-2.4">docker-apache-2.4</a></td>
|
||||
<td>Apache 2.4 images (amd64 and arm64)</td>
|
||||
<td>Apache 2.4 images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-nginx-stable">docker-nginx-stable</a></td>
|
||||
<td>Nginx stable images (amd64 and arm64)</td>
|
||||
<td>Nginx stable images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-nginx-mainline">docker-nginx-mainline</a></td>
|
||||
<td>Nginx mainline images (amd64 and arm64)</td>
|
||||
<td>Nginx mainline images (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-haproxy">docker-haproxy</a></td>
|
||||
@ -95,7 +100,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-ngrok">docker-ngrok</a></td>
|
||||
<td>Ngrok image</td>
|
||||
<td>Ngrok image (<code>amd64</code> and <code>arm64</code>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/devilbox/docker-varnish">docker-varnish</a></td>
|
||||
@ -142,15 +147,19 @@
|
||||
<td>Re-usable GitHub Action Workflows</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/shell-command-retry-action">shell-command-retry-action</a></td>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/shell-command-retry-action">shell-command-retry</a></td>
|
||||
<td>GitHub Action</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/docker-tag-action">docker-tag-action</a></td>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/docker-tag-action">docker-tag</a></td>
|
||||
<td>GitHub Action</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/git-ref-matrix-action">git-ref-matrix-action</a></td>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/git-ref-matrix-action">git-ref-matrix</a></td>
|
||||
<td>GitHub Action</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><i class="fa fa-github-alt" aria-hidden="true"></i> <a target="_blank" href="https://github.com/cytopia/upload-artifact-verify-action">upload-artifact-verify</a></td>
|
||||
<td>GitHub Action</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -76,6 +76,7 @@ class Connection {
|
||||
|
||||
// Detect version and choose appropriate database driver
|
||||
switch (substr($version,0,2)) {
|
||||
case '15': return 'Postgres';break;
|
||||
case '14': return 'Postgres';break;
|
||||
case '13': return 'Postgres13';break;
|
||||
case '12': return 'Postgres12';break;
|
||||
|
@ -263,7 +263,7 @@ HTML;
|
||||
<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse footer">
|
||||
<div class="container justify-content-end">
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="nav-item nav-link">Render time: ${render_time} sec</li>
|
||||
<li class="nav-item nav-link">Render time: {$render_time} sec</li>
|
||||
<li class="nav-item"><a class="nav-link" target="_blank" href="https://github.com/cytopia/devilbox"><code>Github</code></a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/credits.php"><code>Credits</code></a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/support.php"><code>Support</code></a></li>
|
||||
|
85
.github/ISSUE_TEMPLATE/bug_report.md
vendored
85
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -1,85 +0,0 @@
|
||||
---
|
||||
name: "\U0001F41B Bug report"
|
||||
about: Something is not working? Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!---
|
||||
1. Verify first that your issue/request is not already reported on GitHub.
|
||||
|
||||
2. Verify that your question is not covered in the docs: https://devilbox.readthedocs.io
|
||||
|
||||
3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this bug report.
|
||||
-->
|
||||
|
||||
|
||||
### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Bug Report
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
### Checklist
|
||||
<!-- ENSURE YOU HAVE DONE THE FOLLOWING -->
|
||||
* [ ] `.env` file is attached
|
||||
* [ ] `./check-config.sh` output is added below
|
||||
* [ ] `docker-compose logs` output is added below
|
||||
* [ ] `docker-compose.override.yml` is attached (if exists)
|
||||
* [ ] Custom configs from `cfg/` dir are attached (if exist)
|
||||
* [ ] I've looked through the docs: https://devilbox.readthedocs.io/en/latest/
|
||||
* [ ] I've looked through existing issues: https://github.com/cytopia/devilbox/issues
|
||||
* [ ] I've read troubleshooting: https://devilbox.readthedocs.io/en/latest/support/troubleshooting.html
|
||||
|
||||
|
||||
### OS / ENVIRONMENT
|
||||
<!-- COMPLETE ALL 6 BULLET POINTS BELOW: -->
|
||||
1. Host operating system and version:
|
||||
2. (Windows only) Native Docker or Docker Toolbox:
|
||||
3. Docker version:
|
||||
4. Docker Compose version:
|
||||
5. (Linux) Is SELinux enabled?:
|
||||
6. What git commit hash are you on?:
|
||||
|
||||
|
||||
### SUMMARY
|
||||
<!-- Explain the problem briefly -->
|
||||
|
||||
|
||||
### STEPS TO REPRODUCE
|
||||
<!-- Show exactly how to reproduce the problem -->
|
||||
<!-- Make this as detailed as possible and be sure that others can fully reproduce this issue -->
|
||||
|
||||
|
||||
### EXPECTED BEHAVIOUR
|
||||
<!-- What is the expected behaviour? -->
|
||||
|
||||
|
||||
### ACTUAL BEHAVIOUR
|
||||
<!-- What is the actual behaviour? -->
|
||||
|
||||
|
||||
### OTHER INFORMATION
|
||||
|
||||
#### Start command
|
||||
<!-- Add the command you have used to start the devilbox -->
|
||||
```
|
||||
$ docker-compose up...
|
||||
```
|
||||
|
||||
#### Outputs
|
||||
<!-- 1/2 Add the output from ./check-config.sh -->
|
||||
```bash
|
||||
$ ./check-config.sh
|
||||
|
||||
<<< REPLACE THIS LINE WITH OUTPUT FROM ABOVE COMMAND >>>
|
||||
```
|
||||
|
||||
<!-- 2/2 Add the output from docker-compose logs -->
|
||||
```bash
|
||||
$ docker-compose logs
|
||||
|
||||
<<< REPLACE THIS LINE WITH OUTPUT FROM ABOVE COMMAND >>>
|
||||
```
|
190
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
190
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@ -0,0 +1,190 @@
|
||||
---
|
||||
name: "\U0001F41B Bug report"
|
||||
description: File a bug report
|
||||
title: "[Bug]: "
|
||||
labels: ["bug", "triage"]
|
||||
assignees:
|
||||
- cytopia
|
||||
|
||||
body:
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you already looked into this bug?
|
||||
description: Please invest some time and check if this bug is already mentioned or documented elsewhere (You may select more than one).
|
||||
options:
|
||||
- label: I have checked the [Troubleshooting Guide](https://devilbox.readthedocs.io/en/latest/support/troubleshooting.html)
|
||||
- label: I have checked [Release notes](https://github.com/cytopia/devilbox/releases) for potential migration steps
|
||||
- label: I have checked [existing issues](https://github.com/cytopia/devilbox/issues) for similar bugs
|
||||
- label: I have googled this bug already with no luck
|
||||
- label: I have not done any of the above
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: (Optional) Error message
|
||||
description: If you encountered any error message, copy and paste it here. This will be used for googling the issue.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What went wrong?
|
||||
description: What exactly went wrong of what bug did you encounter?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: expected-behaviour
|
||||
attributes:
|
||||
label: Expected behaviour
|
||||
description: What did you expect to happen instead?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: steps-to-reproduce
|
||||
attributes:
|
||||
label: How can we reproduce the bug?
|
||||
description: How do you trigger this bug? Please walk us through it step by step in detail. This is crucial in order to triage the bug and support you in resolving it.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: host-os
|
||||
attributes:
|
||||
label: Host Operating System
|
||||
description: What operating system are you using?
|
||||
multiple: false
|
||||
options:
|
||||
- Linux
|
||||
- macOS
|
||||
- Windows
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: host-platform
|
||||
attributes:
|
||||
label: Host Platform (amd64, arm64, other)
|
||||
description: What host platform are you running on?
|
||||
options:
|
||||
- amd64
|
||||
- arm64
|
||||
- other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: (Linux only) Is SELinux enabled?
|
||||
description: When using Linux as your host operating system, check if SELinux is enabled or not. [More info here](https://devilbox.readthedocs.io/en/latest/getting-started/install-the-devilbox.html?highlight=selinux#linux-selinux)
|
||||
options:
|
||||
- Yes, SELinux is enabled
|
||||
- No, SELinux is disabled
|
||||
- I don't know
|
||||
- I am not on Linux
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: docker-version
|
||||
attributes:
|
||||
label: Docker version
|
||||
description: "What Docker version are you using? Please copy and paste the output of `docker --version` into this text area."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: docker-compose-version
|
||||
attributes:
|
||||
label: Docker Compose version
|
||||
description: "What Docker Compose version are you using? Please copy and paste the output of `docker-compose --version` into this text area."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: devilbox-version
|
||||
attributes:
|
||||
label: Devilbox version
|
||||
description: "What version of Devilbox are you running (latest master, specific tag, git hash, etc)?"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Have you removed stopped containers before starting?
|
||||
description: "Have you done a `docker-compose rm` before starting up the Devilbox? [More info here](https://docs.docker.com/compose/reference/rm/)"
|
||||
multiple: false
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Have you pulled latest Docker images before starting?
|
||||
description: "Have you done a `docker-compose pull` before starting up the Devilbox?"
|
||||
multiple: false
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Devilbox start command
|
||||
description: "What is the [start command](https://devilbox.readthedocs.io/en/latest/getting-started/start-the-devilbox.html) you have used to start the Devilbox?"
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: log-env-file
|
||||
attributes:
|
||||
label: "Config: .env file"
|
||||
description: "Please copy and paste your `.env` file into this text area"
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: "Config: docker-compose.override.yml"
|
||||
description: "If you are using `docker-compose.override.yml`, please copy and paste its contents into this text area."
|
||||
render: shell
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: log-check-config
|
||||
attributes:
|
||||
label: "Config: ./check-config.sh"
|
||||
description: "Please copy and paste the output of `./check-config.sh` into this text area"
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: log-docker-compose
|
||||
attributes:
|
||||
label: "Log: docker-compose logs"
|
||||
description: "Please copy and paste the output of `docker-compose logs` into this text area"
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: (Optional) Additional information
|
||||
description: Add any additional information that might help with this bug report. (E.g. customizations from the `autostart/`, `bash/`, `cfg/` or `supervisor/` directory or relevant logfiles from the `log/` directory)
|
||||
validations:
|
||||
required: false
|
12
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
12
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Devilbox Community Support
|
||||
url: https://devilbox.discourse.group/
|
||||
about: Please ask and answer questions here.
|
||||
- name: Devilbox Gitter Chat
|
||||
url: https://gitter.im/devilbox/Lobby
|
||||
about: Please ask and answer questions here.
|
||||
- name: Devilbox documentation
|
||||
url: https://devilbox.readthedocs.io/
|
||||
about: Find the Devilbox documentation here.
|
30
.github/ISSUE_TEMPLATE/documentation.md
vendored
30
.github/ISSUE_TEMPLATE/documentation.md
vendored
@ -1,30 +0,0 @@
|
||||
---
|
||||
name: "\U0001F4DD Documentation"
|
||||
about: Anything related to the Devilbox documentation
|
||||
title: ''
|
||||
labels: documentation
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!---
|
||||
1. Verify first that your question is not already reported on GitHub.
|
||||
|
||||
2. Verify that your question is not covered in the docs: https://devilbox.readthedocs.io
|
||||
|
||||
3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this question.
|
||||
-->
|
||||
|
||||
|
||||
#### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Documentation
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
#### SUMMARY
|
||||
<!-- Add your information here -->
|
||||
|
||||
|
||||
#### Goal
|
||||
<!-- Explain what you actually want to accomplish -->
|
30
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
30
.github/ISSUE_TEMPLATE/documentation.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
name: "\U0001F4DD Documentation"
|
||||
description: Something is missing or wrong in the documentation.
|
||||
title: "[Docs]: "
|
||||
labels: ["documentation"]
|
||||
assignees:
|
||||
- cytopia
|
||||
|
||||
body:
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is wrong in the documentation?
|
||||
description: Tell us, what is wrong in the documentation?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is missing in the documentation?
|
||||
description: Tell us, what is missing in the documentation?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Are you willing to provide a PR to address this?
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
30
.github/ISSUE_TEMPLATE/feature_request.md
vendored
30
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -1,30 +0,0 @@
|
||||
---
|
||||
name: "✨ Feature request"
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!---
|
||||
1. Verify first that your feature request is not already reported on GitHub.
|
||||
|
||||
2. Verify that your feature is not already implemented: https://devilbox.readthedocs.io
|
||||
|
||||
3. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this feature request
|
||||
-->
|
||||
|
||||
|
||||
#### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Feature request
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
#### SUMMARY
|
||||
<!-- Explain your feature idea briefly -->
|
||||
|
||||
|
||||
#### Goal
|
||||
<!-- Explain what you actually want to accomplish with that feature -->
|
36
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
36
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
name: "✨ Feature request"
|
||||
description: Suggest an idea or feature for this project
|
||||
title: "[Feature]: "
|
||||
labels: ["feature"]
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is your idea or feature suggestion?
|
||||
description: Tell us, what idea or feature you suggest to be added to the Devilbox.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Benefits
|
||||
description: Tell us, how this this will be beneficial to the Devilbox.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Where can we find information about this?
|
||||
description: If you are proposing a software or tool, please add relevant links and documentation.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Are you willing to provide a PR to address this?
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
50
.github/ISSUE_TEMPLATE/howto.yml
vendored
Normal file
50
.github/ISSUE_TEMPLATE/howto.yml
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
name: "❔ How to do ...?"
|
||||
description: How do I do X or Y with the Devilbox?
|
||||
title: "[Howto]: "
|
||||
labels: ["question", "Community help wanted"]
|
||||
assignees: []
|
||||
|
||||
body:
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
If this is a generic question, please consider using the [Devilbox forum](https://devilbox.discourse.group/) instead.
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Have you already checked elsewhere?
|
||||
description: You may select more than one.
|
||||
options:
|
||||
- label: I have read the [Devilbox documentation](https://devilbox.readthedocs.io/en/latest/)
|
||||
- label: I have checked the [Devilbox Troubleshooting Guide](https://devilbox.readthedocs.io/en/latest/)
|
||||
- label: I have checked the [Devilbox FAQ](https://devilbox.readthedocs.io/en/latest/support/faq.html)
|
||||
- label: I have checked the [Devilbox Howto](https://devilbox.readthedocs.io/en/latest/support/howto.html)
|
||||
- label: I have checked the [Devilbox Forum](https://devilbox.discourse.group/)
|
||||
- label: I have checked [existing issues](https://github.com/cytopia/devilbox/issues)
|
||||
- label: I have googled already with no luck
|
||||
- label: I have not done any of the above
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What are you struggling with?
|
||||
description: Tell the community, what you are struggling with. Be as specific as possible to make it easier for other people to answer your question.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What have you tried already?
|
||||
description: Add some details on what you have tried already, so this can be ruled out.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is your goal?
|
||||
description: Tell the community, what you want to accomplish? This might be helpful to know in order to prevent [XY problems](https://en.wikipedia.org/wiki/XY_problem).
|
||||
validations:
|
||||
required: true
|
40
.github/ISSUE_TEMPLATE/question.md
vendored
40
.github/ISSUE_TEMPLATE/question.md
vendored
@ -1,40 +0,0 @@
|
||||
---
|
||||
name: "❔ Question"
|
||||
about: 'Consider using the Devilbox Forum instead: https://devilbox.discourse.group/'
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- ---------- GITHUB QUESTIONS ARE DEPRECATED ---------- -->
|
||||
<!-- ---------- USE THE FORUM ---------- ->
|
||||
|
||||
<!-- ---------- https://devilbox.discourse.group/ ---------- ->
|
||||
|
||||
|
||||
<!---
|
||||
1. A better place for questions is: https://devilbox.discourse.group/
|
||||
|
||||
2. VERIFY first that your question is not already reported on GitHub.
|
||||
|
||||
3. VERIFY that your question is not covered in the docs: https://devilbox.readthedocs.io
|
||||
|
||||
4. VERIFY that your question is not covered in the forum: https://devilbox.discourse.group/
|
||||
|
||||
5. PLEASE FILL OUT ALL REQUIRED INFORMATION BELOW! Otherwise it might take more time to properly handle this question.
|
||||
-->
|
||||
|
||||
|
||||
#### ISSUE TYPE
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
- Question
|
||||
<!-- DO NOT CHANGE THIS -->
|
||||
|
||||
|
||||
#### SUMMARY
|
||||
<!-- Ask your question here -->
|
||||
|
||||
|
||||
#### Goal
|
||||
<!-- Explain what you actually want to accomplish -->
|
7
.github/workflows/documentation.yml
vendored
7
.github/workflows/documentation.yml
vendored
@ -12,9 +12,14 @@ name: Docs
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
|
||||
|
4
.github/workflows/params-mysql.yml
vendored
4
.github/workflows/params-mysql.yml
vendored
@ -29,7 +29,9 @@ env:
|
||||
{"MYSQL_SERVER": "mariadb-10.5"},
|
||||
{"MYSQL_SERVER": "mariadb-10.6"},
|
||||
{"MYSQL_SERVER": "mariadb-10.7"},
|
||||
{"MYSQL_SERVER": "mariadb-10.8"}
|
||||
{"MYSQL_SERVER": "mariadb-10.8"},
|
||||
{"MYSQL_SERVER": "mariadb-10.9"},
|
||||
{"MYSQL_SERVER": "mariadb-10.10"}
|
||||
]
|
||||
|
||||
|
||||
|
2
.github/workflows/params-pgsql.yml
vendored
2
.github/workflows/params-pgsql.yml
vendored
@ -34,6 +34,8 @@ env:
|
||||
{"PGSQL_SERVER": "PgSQL 13-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 14"},
|
||||
{"PGSQL_SERVER": "PgSQL 14-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL 15"},
|
||||
{"PGSQL_SERVER": "PgSQL 15-alpine"},
|
||||
{"PGSQL_SERVER": "PgSQL latest"},
|
||||
{"PGSQL_SERVER": "PgSQL alpine"}
|
||||
]
|
||||
|
2
.github/workflows/params-redis.yml
vendored
2
.github/workflows/params-redis.yml
vendored
@ -25,6 +25,8 @@ env:
|
||||
{"REDIS_SERVER": "Redis 6.0-alpine"},
|
||||
{"REDIS_SERVER": "Redis 6.2"},
|
||||
{"REDIS_SERVER": "Redis 6.2-alpine"},
|
||||
{"REDIS_SERVER": "Redis 7.0"},
|
||||
{"REDIS_SERVER": "Redis 7.0-alpine"},
|
||||
{"REDIS_SERVER": "Redis latest"},
|
||||
{"REDIS_SERVER": "Redis alpine"}
|
||||
]
|
||||
|
25
.github/workflows/test-httpd.yml
vendored
25
.github/workflows/test-httpd.yml
vendored
@ -12,9 +12,32 @@ name: Httpd
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
25
.github/workflows/test-memcd.yml
vendored
25
.github/workflows/test-memcd.yml
vendored
@ -12,9 +12,32 @@ name: Memcd
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
25
.github/workflows/test-mongo.yml
vendored
25
.github/workflows/test-mongo.yml
vendored
@ -12,9 +12,32 @@ name: Mongo
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
25
.github/workflows/test-mysql.yml
vendored
25
.github/workflows/test-mysql.yml
vendored
@ -12,9 +12,32 @@ name: MySQL
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
25
.github/workflows/test-pgsql.yml
vendored
25
.github/workflows/test-pgsql.yml
vendored
@ -12,9 +12,32 @@ name: PgSQL
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
25
.github/workflows/test-php.yml
vendored
25
.github/workflows/test-php.yml
vendored
@ -12,9 +12,32 @@ name: PHP
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
25
.github/workflows/test-redis.yml
vendored
25
.github/workflows/test-redis.yml
vendored
@ -12,9 +12,32 @@ name: Redis
|
||||
on:
|
||||
# Runs on Pull Requests
|
||||
pull_request:
|
||||
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
# Runs on master Branch and Tags
|
||||
push:
|
||||
paths:
|
||||
- '.devilbox/**'
|
||||
- '.github/workflows/params*.yml'
|
||||
- '.github/workflows/test*.yml'
|
||||
- '.github/workflows/zzz*.yml'
|
||||
- '.tests/**'
|
||||
- 'cfg/vhost-gen/**'
|
||||
- 'compose/**'
|
||||
- 'docker-compose.override.yml-example'
|
||||
- 'docker-compose.yml'
|
||||
- 'env-example'
|
||||
- '!**.md'
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -50,9 +50,9 @@
|
||||
|
||||
|
||||
# Ignore custom global vhost gen templates
|
||||
/cfg/vhost-gen/apache22.conf
|
||||
/cfg/vhost-gen/apache24.conf
|
||||
/cfg/vhost-gen/nginx.conf
|
||||
/cfg/vhost-gen/apache22.yml
|
||||
/cfg/vhost-gen/apache24.yml
|
||||
/cfg/vhost-gen/nginx.yml
|
||||
|
||||
# Ignore custom HTTPD configs
|
||||
/cfg/apache-2.2/*.conf
|
||||
|
@ -20,326 +20,70 @@ RETRIES=10
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
|
||||
PHP_TAG="$( grep 'devilbox/php' "${DVLBOX_PATH}/docker-compose.yml" | sed 's/^.*-work-//g' )"
|
||||
PHP_MOD="$( run "curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/doc/php-modules.md'" "${RETRIES}" )";
|
||||
|
||||
|
||||
###
|
||||
### Get PHP core modules (5 rounds)
|
||||
###
|
||||
if ! PHP52_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '52-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.2"
|
||||
exit 1
|
||||
fi
|
||||
get_modules() {
|
||||
local php_version="${1}"
|
||||
local stage="${2}"
|
||||
local modules=
|
||||
local names=
|
||||
|
||||
if ! PHP53_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '53-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.3"
|
||||
exit 1
|
||||
fi
|
||||
modules="$( \
|
||||
echo "${PHP_MOD}" \
|
||||
| grep -E "ext_${stage}_.+_${php_version}" \
|
||||
| grep -v '><' \
|
||||
| sed \
|
||||
-e "s|.*ext_${stage}_||g" \
|
||||
-e "s|_${php_version}.*||g" \
|
||||
)"
|
||||
# Ensure to fetch name with correct upper-/lower-case
|
||||
while read -r module; do
|
||||
name="$( \
|
||||
echo "${PHP_MOD}" \
|
||||
| grep -Eio ">${module}<" \
|
||||
| sed -e 's|>||g' -e 's|<||g' \
|
||||
| sort -u \
|
||||
)"
|
||||
names="$( printf "%s\n%s" "${names}" "${name}" )"
|
||||
done < <(echo "${modules}")
|
||||
|
||||
if ! PHP54_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '54-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.4"
|
||||
exit 1
|
||||
fi
|
||||
# Remove leading and trailing newline
|
||||
names="$( echo "${names}" | grep -v '^$' )"
|
||||
|
||||
if ! PHP55_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '55-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.5"
|
||||
exit 1
|
||||
fi
|
||||
# Output comma separated
|
||||
echo "${names}" | paste -d, -s
|
||||
}
|
||||
|
||||
if ! PHP56_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '56-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.6"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP70_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '70-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.0"
|
||||
exit 1
|
||||
fi
|
||||
PHP52_BASE="$( get_modules "5.2" "base" )"
|
||||
PHP53_BASE="$( get_modules "5.3" "base" )"
|
||||
PHP54_BASE="$( get_modules "5.4" "base" )"
|
||||
PHP55_BASE="$( get_modules "5.5" "base" )"
|
||||
PHP56_BASE="$( get_modules "5.6" "base" )"
|
||||
PHP70_BASE="$( get_modules "7.0" "base" )"
|
||||
PHP71_BASE="$( get_modules "7.1" "base" )"
|
||||
PHP72_BASE="$( get_modules "7.2" "base" )"
|
||||
PHP73_BASE="$( get_modules "7.3" "base" )"
|
||||
PHP74_BASE="$( get_modules "7.4" "base" )"
|
||||
PHP80_BASE="$( get_modules "8.0" "base" )"
|
||||
PHP81_BASE="$( get_modules "8.1" "base" )"
|
||||
PHP82_BASE="$( get_modules "8.2" "base" )"
|
||||
|
||||
if ! PHP71_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '71-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.1"
|
||||
exit 1
|
||||
fi
|
||||
PHP52_MODS="$( get_modules "5.2" "mods" )"
|
||||
PHP53_MODS="$( get_modules "5.3" "mods" )"
|
||||
PHP54_MODS="$( get_modules "5.4" "mods" )"
|
||||
PHP55_MODS="$( get_modules "5.5" "mods" )"
|
||||
PHP56_MODS="$( get_modules "5.6" "mods" )"
|
||||
PHP70_MODS="$( get_modules "7.0" "mods" )"
|
||||
PHP71_MODS="$( get_modules "7.1" "mods" )"
|
||||
PHP72_MODS="$( get_modules "7.2" "mods" )"
|
||||
PHP73_MODS="$( get_modules "7.3" "mods" )"
|
||||
PHP74_MODS="$( get_modules "7.4" "mods" )"
|
||||
PHP80_MODS="$( get_modules "8.0" "mods" )"
|
||||
PHP81_MODS="$( get_modules "8.1" "mods" )"
|
||||
PHP82_MODS="$( get_modules "8.2" "mods" )"
|
||||
|
||||
if ! PHP72_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '72-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP73_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '73-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.3"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP74_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '74-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.4"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP80_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '80-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 8.0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP81_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '81-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 8.1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP82_BASE="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '82-base' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 8.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
###
|
||||
### Get PHP mods modules (5 rounds)
|
||||
###
|
||||
|
||||
if ! PHP52_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '52-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP53_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '53-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.3"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP54_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '54-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.4"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP55_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '55-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.5"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP56_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '56-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 5.6"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP70_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '70-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP71_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '71-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP72_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '72-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP73_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '73-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.3"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP74_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '74-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 7.4"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP80_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '80-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 8.0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP81_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '81-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 8.1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! PHP82_MODS="$( run "\
|
||||
curl -sS 'https://raw.githubusercontent.com/devilbox/docker-php-fpm/${PHP_TAG}/README.md' \
|
||||
| tac \
|
||||
| tac \
|
||||
| grep -E '82-mods' \
|
||||
| sed \
|
||||
-e 's/.*\">//g' \
|
||||
-e 's/<.*//g'" "${RETRIES}" )"; then
|
||||
>&2 echo "Failed to retrieve modules for PHP 8.2"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
###
|
||||
### Todo: add ioncube
|
||||
|
@ -14,7 +14,7 @@ DVLBOX_PATH="$( cd "${SCRIPT_PATH}/../.." && pwd -P )"
|
||||
|
||||
RETRIES=10
|
||||
# see framework-cakephp-php8.sh for PHP 8+ tests
|
||||
DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "8.0" "8.1" "8.2")
|
||||
DISABLED_VERSIONS=("5.2" "5.3" "5.4" "5.5" "5.6" "7.0" "7.1" "7.2" "7.3" "7.4" "8.0" "8.1" "8.2")
|
||||
|
||||
PHP_VERSION="$( get_php_version "${DVLBOX_PATH}" )"
|
||||
|
||||
|
62
CHANGELOG.md
62
CHANGELOG.md
@ -6,6 +6,68 @@ Make sure to have a look at [UPDATING.md](https://github.com/cytopia/devilbox/bl
|
||||
## Unreleased
|
||||
|
||||
|
||||
## Release v2.3.0 (2022-12-04)
|
||||
|
||||
### Fixed
|
||||
- Fixed correct permission for `/opt/nvm` in PHP container [#499](https://github.com/cytopia/devilbox/issues/499), [#PHP-FPM 0.141](https://github.com/devilbox/docker-php-fpm/releases/tag/0.141)
|
||||
- Fixed Debian Jessie repository trust beyond EOL [#PHP-FPM 0.140](https://github.com/devilbox/docker-php-fpm/releases/tag/0.140)
|
||||
- Fixed phpPgAdmin to work with PostgreSQL 15
|
||||
|
||||
### Added
|
||||
- Added env var to Bind to specify overall memory consumption via `MAX_CACHE_SIZE` [#BIND 0.30](https://github.com/cytopia/docker-bind/releases/tag/0.30)
|
||||
- Added PHP extension: `lz4` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144)
|
||||
- Added PHP extension: `lzf` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144)
|
||||
- Added PHP extension: `zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144)
|
||||
- Added serializer to Redis extension: `lz4`, `lzf` and` zstd` [#PHP-FPM 0.144](https://github.com/devilbox/docker-php-fpm/releases/tag/0.144)
|
||||
- Added MariaDB 10.9 and 10.11 [#MYSQL 0.19](https://github.com/devilbox/docker-mysql/pull/24)
|
||||
- Added PGSQL 15
|
||||
- Added Redis 7.0
|
||||
|
||||
### Changed
|
||||
- Switched to `phalcon` 5.x extension for PHP 8.0 and PHP 8.1 [#913](https://github.com/cytopia/devilbox/issues/913), [#PHP-FPM 0.143](https://github.com/devilbox/docker-php-fpm/releases/tag/0.143)
|
||||
- Updated to latest minor versions of Apache 2.2, Apache 2.4, Nginx stable and Nginx mainline
|
||||
- Updated to latest minor versions of PHP [#917](https://github.com/cytopia/devilbox/issues/917)
|
||||
- Updated to latest minor versions of MySQL, MariaDB and Percona DB
|
||||
- Updated PHP extensions to lastest versions [#899](https://github.com/cytopia/devilbox/issues/899)
|
||||
|
||||
### Removed
|
||||
- Removed Phalcon DevTools for PHP 7.4 due to build error [#PHP-FPM 0.142](https://github.com/devilbox/docker-php-fpm/releases/tag/0.142)
|
||||
|
||||
|
||||
## Release v2.2.0 (2022-04-14)
|
||||
|
||||
This release adds PHP-FPM community images via `docker-compose.override.yml`, which easily allows you
|
||||
to build upon existing PHP images and customize them for your usecase/workflow.
|
||||
|
||||
#### Added
|
||||
- Added PHP-FPM Community images: https://github.com/devilbox/docker-php-fpm-community/
|
||||
|
||||
|
||||
## Release v2.1.1 (2022-04-07)
|
||||
|
||||
#### Changed
|
||||
- Used tagged PHP images (auto-updating)instead early release branch one.
|
||||
|
||||
|
||||
## Release v2.1.0 (2022-04-05)
|
||||
|
||||
This is now a 100% `arm64` compatible release.
|
||||
|
||||
#### Fixed
|
||||
- Fixed imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
|
||||
- Fixed missing `arm64` support: [#855](https://github.com/cytopia/devilbox/issues/855)
|
||||
|
||||
#### Added
|
||||
- Added PHP images with `arm64` support for PHP: https://github.com/devilbox/docker-php-fpm/releases/tag/0.138
|
||||
- Added `vips` to PHP 8.0
|
||||
- Added `vips` to PHP 8.1
|
||||
- Added `swoole` to PHP 8.1
|
||||
|
||||
#### Removed
|
||||
- Removed homebrew due to arm64 issues
|
||||
- Removed Ansible due to arm64 issues
|
||||
|
||||
|
||||
## Release v2.0.0 (2022-03-28)
|
||||
|
||||
The goal of this release is to reduce the overall size of Docker images and bring in latest versions.
|
||||
|
36
README.md
36
README.md
@ -34,6 +34,7 @@
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-pgsql.yml)
|
||||
[](https://github.com/cytopia/devilbox/actions/workflows/test-redis.yml)
|
||||
|
||||
**Available Architectures:** `amd64`, `arm64`
|
||||
|
||||
<img width="200" style="width:200px;" src="docs/_includes/figures/https/https-ssl-address-bar.png" /><br/>
|
||||
<small><sub>Support for <a href="https://devilbox.readthedocs.io/en/latest/intermediate/setup-valid-https.html">valid https</a> out of the box.</sub></small>
|
||||
@ -322,7 +323,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td><a target="_blank" title="MariaDB 10.6" href="https://github.com/devilbox/docker-mysql">10.6</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 10" href="https://github.com/docker-library/postgres">10</a></td>
|
||||
<td><a target="_blank" title="Redis latest" href="https://github.com/docker-library/redis">latest</a></td>
|
||||
<td><a target="_blank" title="Redis 7.0" href="https://github.com/docker-library/redis">7.0</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MongoDB 4.4" href="https://github.com/docker-library/mongo">4.4</a></td>
|
||||
</tr>
|
||||
@ -334,7 +335,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<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 11" href="https://github.com/docker-library/postgres">11</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="Redis latest" href="https://github.com/docker-library/redis">latest</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MongoDB 5.0" href="https://github.com/docker-library/mongo">5.0</a></td>
|
||||
</tr>
|
||||
@ -343,7 +344,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 7.4" href="https://github.com/devilbox/docker-php-fpm">7.4</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.8" href="https://github.com/devilbox/docker-mysql">10.8</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 12" href="https://github.com/docker-library/postgres">12</a></td>
|
||||
<td></td>
|
||||
@ -355,9 +356,9 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 8.0" href="https://github.com/devilbox/docker-php-fpm">8.0</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.9" href="https://github.com/devilbox/docker-mysql">10.9</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 13" href="https://github.com/docker-library/postgres">13</a></td>
|
||||
<td><a target="_blank" title="PgSQL ..." href="https://github.com/docker-library/postgres">...</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -367,9 +368,9 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 8.1" href="https://github.com/devilbox/docker-php-fpm">8.1</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.10" href="https://github.com/devilbox/docker-mysql">10.10</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 14" href="https://github.com/docker-library/postgres">14</a></td>
|
||||
<td><a target="_blank" title="PgSQL 15" href="https://github.com/docker-library/postgres">15</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -772,6 +773,8 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>json</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>ldap</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>libxml</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>lz4</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>lzf</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>mbstring</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>mcrypt</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
|
||||
| <sup>memcache</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
@ -785,6 +788,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>mysqlnd</sup> | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>OAuth</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>oci8</sup> | | d | d | d | d | d | d | d | d | d | d | d | d |
|
||||
| <sup>OPcache</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>openssl</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>pcntl</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>pcre</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
@ -797,11 +801,12 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>pdo_sqlite</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>pdo_sqlsrv</sup> | | | | | | d | d | d | d | d | d | d | d |
|
||||
| <sup>pgsql</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>phalcon</sup> | | d | d | d | d | d | d | d | d | d | | | |
|
||||
| <sup>phalcon</sup> | | d | d | d | d | d | d | d | d | d | d | d | |
|
||||
| <sup>Phar</sup> | 🗸 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>posix</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>pspell</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>psr</sup> | | | d | d | d | d | d | d | d | d | d | d | d |
|
||||
| <sup>random</sup> | | | | | | | | | | | | | ✔ |
|
||||
| <sup>rdkafka</sup> | | d | d | d | d | d | d | d | d | d | d | d | d |
|
||||
| <sup>readline</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>recode</sup> | ✔ | ✔ | ✔ | ✔ | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | |
|
||||
@ -816,12 +821,11 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>sodium</sup> | | | | | | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>solr</sup> | | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | |
|
||||
| <sup>SPL</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>SQLite</sup> | ✔ | ✔ | | | | | | | | | | | |
|
||||
| <sup>sqlite</sup> | ✔ | ✔ | | | | | | | | | | | |
|
||||
| <sup>sqlite3</sup> | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>sqlsrv</sup> | | | | | | d | d | d | d | d | d | d | d |
|
||||
| <sup>ssh2</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
|
||||
| <sup>standard</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>swoole</sup> | | d | d | d | d | d | d | d | d | d | d | | |
|
||||
| <sup>swoole</sup> | | d | d | d | d | d | d | d | d | d | d | d | |
|
||||
| <sup>sysvmsg</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>sysvsem</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>sysvshm</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
@ -829,9 +833,9 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>tokenizer</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>uploadprogress</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>uuid</sup> | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>vips</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | |
|
||||
| <sup>vips</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | |
|
||||
| <sup>wddx</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | | | |
|
||||
| <sup>xdebug</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>Xdebug</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>xlswriter</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>xml</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>xmlreader</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
@ -839,9 +843,9 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| <sup>xmlwriter</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>xsl</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>yaml</sup> | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>Zend OPcache</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>zip</sup> | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| <sup>zlib</sup> | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| <sup>zstd</sup> | | | | | | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
<!-- /modules -->
|
||||
|
||||
> * Core enabled (cannot be disabled): **✔**
|
||||
@ -868,7 +872,7 @@ As far as tested there are no limitations and you can use any Framework or CMS j
|
||||
<a target="_blank" title="Drupal" href="https://www.drupal.org"><img width="64" style="width:64px" src="docs/img/logo_fw/drupal.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Joomla" href="https://www.joomla.org"><img width="64" style="width:64px" src="docs/img/logo_fw/joomla.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Laravel" href="https://laravel.com"><img width="64" style="width:64px" src="docs/img/logo_fw/laravel.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Magento" href="https://magento.com"><img width="64" style="width:64px" src="docs/img/logo_fw/magento.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="Magento 2" href="https://magento.com"><img width="64" style="width:64px" src="docs/img/logo_fw/magento.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="PhalconPHP" href="https://phalconphp.com"><img width="64" style="width:64px" src="docs/img/logo_fw/phalcon.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="PhotonCMS" href="https://photoncms.com"><img width="64" style="width:64px" src="docs/img/logo_fw/photoncms.png" alt="Devilbox"/></a>
|
||||
<a target="_blank" title="PrestaShop" href="https://www.prestashop.com/en"><img width="64" style="width:64px" src="docs/img/logo_fw/prestashop.png" alt="Devilbox"/></a>
|
||||
@ -888,7 +892,7 @@ As far as tested there are no limitations and you can use any Framework or CMS j
|
||||
> [Setup Drupal](https://devilbox.readthedocs.io/en/latest/examples/setup-drupal.html) |
|
||||
> [Setup Joomla](https://devilbox.readthedocs.io/en/latest/examples/setup-joomla.html) |
|
||||
> [Setup Laravel](https://devilbox.readthedocs.io/en/latest/examples/setup-laravel.html) |
|
||||
> [Setup Magento](https://devilbox.readthedocs.io/en/latest/examples/setup-magento.html) |
|
||||
> [Setup Magento 2](https://devilbox.readthedocs.io/en/latest/examples/setup-magento2.html) |
|
||||
> [Setup PhalconPHP](https://devilbox.readthedocs.io/en/latest/examples/setup-phalcon.html) |
|
||||
> [Setup PhotonCMS](https://devilbox.readthedocs.io/en/latest/examples/setup-photon-cms.html) |
|
||||
> [Setup PrestaShop](https://devilbox.readthedocs.io/en/latest/examples/setup-presta-shop.html) |
|
||||
|
@ -7,6 +7,12 @@ version: '2.3'
|
||||
###
|
||||
services:
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# PHP Community image
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
php:
|
||||
image: devilbox/php-fpm-community:${PHP_SERVER}-${PHP_COMMUNITY_FLAVOUR:-devilbox}
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# Blackfire
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
|
11
compose/docker-compose.override.yml-php-community
Normal file
11
compose/docker-compose.override.yml-php-community
Normal file
@ -0,0 +1,11 @@
|
||||
# vim: set ft=yaml:
|
||||
---
|
||||
version: '2.3'
|
||||
|
||||
services:
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# PHP Community image
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
php:
|
||||
image: devilbox/php-fpm-community:${PHP_SERVER}-${PHP_COMMUNITY_FLAVOUR:-devilbox}
|
@ -34,7 +34,7 @@ services:
|
||||
# Bind (DNS Server)
|
||||
# ------------------------------------------------------------
|
||||
bind:
|
||||
image: cytopia/bind:alpine-0.28
|
||||
image: cytopia/bind:alpine-0.34
|
||||
hostname: bind
|
||||
restart: always
|
||||
ports:
|
||||
@ -48,6 +48,11 @@ services:
|
||||
##
|
||||
- DEBUG_ENTRYPOINT=${DEBUG_COMPOSE_ENTRYPOINT}
|
||||
|
||||
##
|
||||
## Memory consumption
|
||||
##
|
||||
- MAX_CACHE_SIZE=${BIND_MAX_CACHE_SIZE:-90%}
|
||||
|
||||
##
|
||||
## Bind wildcard/host settings
|
||||
##
|
||||
@ -94,7 +99,7 @@ services:
|
||||
# PHP
|
||||
# ------------------------------------------------------------
|
||||
php:
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.136
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.144
|
||||
hostname: php
|
||||
|
||||
##
|
||||
@ -220,7 +225,7 @@ services:
|
||||
# Web Server
|
||||
# ------------------------------------------------------------
|
||||
httpd:
|
||||
image: devilbox/${HTTPD_SERVER}:${HTTPD_FLAVOUR:-alpine}-0.47
|
||||
image: devilbox/${HTTPD_SERVER}:${HTTPD_FLAVOUR:-alpine}-0.48
|
||||
hostname: httpd
|
||||
|
||||
environment:
|
||||
@ -324,7 +329,7 @@ services:
|
||||
# MySQL Database
|
||||
# ------------------------------------------------------------
|
||||
mysql:
|
||||
image: devilbox/mysql:${MYSQL_SERVER}-0.15
|
||||
image: devilbox/mysql:${MYSQL_SERVER}-0.19
|
||||
hostname: mysql
|
||||
|
||||
environment:
|
||||
@ -508,6 +513,8 @@ volumes:
|
||||
devilbox-mariadb-10.6:
|
||||
devilbox-mariadb-10.7:
|
||||
devilbox-mariadb-10.8:
|
||||
devilbox-mariadb-10.9:
|
||||
devilbox-mariadb-10.10:
|
||||
devilbox-percona-5.5:
|
||||
devilbox-percona-5.6:
|
||||
devilbox-percona-5.7:
|
||||
@ -538,6 +545,8 @@ volumes:
|
||||
devilbox-pgsql-13-alpine:
|
||||
devilbox-pgsql-14:
|
||||
devilbox-pgsql-14-alpine:
|
||||
devilbox-pgsql-15:
|
||||
devilbox-pgsql-15-alpine:
|
||||
devilbox-pgsql-latest:
|
||||
devilbox-pgsql-alpine:
|
||||
|
||||
|
@ -34,6 +34,18 @@
|
||||
Github: MailHog <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_php_community_dockerhub| raw:: html
|
||||
|
||||
<a target="_blank" href="https://hub.docker.com/r/devilbox/php-fpm-community">
|
||||
Dockerhub: PHP-FPM Community <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_php_community_github| raw:: html
|
||||
|
||||
<a target="_blank" href="https://github.com/devilbox/docker-php-fpm-community/">
|
||||
Github: PHP-FPM Community <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_mailhog_dockerhub| raw:: html
|
||||
|
||||
<a target="_blank" href="https://hub.docker.com/r/mailhog/mailhog/">
|
||||
|
@ -4,7 +4,13 @@
|
||||
Official CakePHP Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_example_codeignitor_documentation| raw:: html
|
||||
.. |ext_lnk_example_codeigniter_documentation| raw:: html
|
||||
|
||||
<a target="_blank" href="https://www.codeigniter.com/userguide3/installation/index.html">
|
||||
Official CodeIgniter Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_example_codeigniter4_documentation| raw:: html
|
||||
|
||||
<a target="_blank" href="https://www.codeigniter.com/user_guide/installation/index.html">
|
||||
Official CodeIgniter Documentation <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
|
@ -0,0 +1,11 @@
|
||||
.. |ext_lnk_php_community_github_announce| raw:: html
|
||||
|
||||
<a target="_blank" href="https://github.com/devilbox/docker-php-fpm-community/">
|
||||
<strong>PHP-FPM Community <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" /></strong>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
.. attention::
|
||||
|
||||
You can now create your own **custom flavour** of PHP-FPM Community images and easily add them to the Devilbox: |ext_lnk_php_community_github_announce|
|
||||
|
@ -1,6 +1,8 @@
|
||||
+-------------------------------------+-----------+-----------+----------------+
|
||||
| Container | Name | Hostname | IP Address |
|
||||
+=====================================+===========+===========+================+
|
||||
| PHP Community | php | php | 172.16.238.10 |
|
||||
+-------------------------------------+-----------+-----------+----------------+
|
||||
| Blackfire | blackfire | blackfire | 172.16.238.200 |
|
||||
+-------------------------------------+-----------+-----------+----------------+
|
||||
| MailHog | mailhog | mailhog | 172.16.238.201 |
|
||||
|
@ -13,6 +13,7 @@ However, each example also exists in its standalone file as shown below:
|
||||
├── docker-compose.override.yml-elk
|
||||
├── docker-compose.override.yml-mailhog
|
||||
├── docker-compose.override.yml-ngrok
|
||||
├── docker-compose.override.yml-php-community
|
||||
├── docker-compose.override.yml-python-flask
|
||||
├── docker-compose.override.yml-rabbitmq
|
||||
├── docker-compose.override.yml-solr
|
||||
|
@ -659,6 +659,8 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
MYSQL_SERVER=mariadb-10.6
|
||||
#MYSQL_SERVER=mariadb-10.7
|
||||
#MYSQL_SERVER=mariadb-10.8
|
||||
#MYSQL_SERVER=mariadb-10.9
|
||||
#MYSQL_SERVER=mariadb-10.10
|
||||
|
||||
|
||||
.. _env_pgsql_server:
|
||||
@ -704,6 +706,8 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#PGSQL_SERVER=13-alpine
|
||||
#PGSQL_SERVER=14
|
||||
PGSQL_SERVER=14-alpine
|
||||
#PGSQL_SERVER=15
|
||||
#PGSQL_SERVER=15-alpine
|
||||
#PGSQL_SERVER=latest
|
||||
#PGSQL_SERVER=alpine
|
||||
|
||||
@ -747,6 +751,8 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#REDIS_SERVER=6.0-alpine
|
||||
#REDIS_SERVER=6.2
|
||||
REDIS_SERVER=6.2-alpine
|
||||
#REDIS_SERVER=7.0
|
||||
#REDIS_SERVER=7.0-alpine
|
||||
#REDIS_SERVER=latest
|
||||
#REDIS_SERVER=alpine
|
||||
|
||||
|
@ -56,6 +56,7 @@ That includes, but is not limited to:
|
||||
In order to fully customize each container, refer to their own documentation section:
|
||||
|
||||
.. seealso::
|
||||
* :ref:`custom_container_enable_php_community`
|
||||
* :ref:`custom_container_enable_blackfire`
|
||||
* :ref:`custom_container_enable_elk_stack`
|
||||
* :ref:`custom_container_enable_mailhog`
|
||||
|
135
docs/custom-container/enable-php-community.rst
Normal file
135
docs/custom-container/enable-php-community.rst
Normal file
@ -0,0 +1,135 @@
|
||||
.. include:: /_includes/all.rst
|
||||
.. include:: /_includes/snippets/__ANNOUNCEMENTS__.rst
|
||||
|
||||
.. _custom_container_enable_php_community:
|
||||
|
||||
**********************************
|
||||
Enable and configure PHP Community
|
||||
**********************************
|
||||
|
||||
This section will guide you through getting PHP community images integrated into the Devilbox.
|
||||
|
||||
.. seealso::
|
||||
* |ext_lnk_php_community_github|
|
||||
* |ext_lnk_php_community_dockerhub|
|
||||
* :ref:`custom_container_enable_all_additional_container`
|
||||
* :ref:`docker_compose_override_yml_how_does_it_work`
|
||||
|
||||
|
||||
**Table of Contents**
|
||||
|
||||
.. contents:: :local:
|
||||
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Available overwrites
|
||||
--------------------
|
||||
|
||||
.. include:: /_includes/snippets/docker-compose-override-tree-view.rst
|
||||
|
||||
|
||||
PHP-FPM Community settings
|
||||
--------------------------
|
||||
|
||||
In case of PHP-FPM Community, the file is ``compose/docker-compose.override.yml-php-community``. This file
|
||||
must be copied into the root of the Devilbox git directory.
|
||||
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| What | How and where |
|
||||
+=======================+===========================================================================================================+
|
||||
| Example compose file | ``compose/docker-compose.override.yml-all`` or |br| ``compose/docker-compose.override.yml-php-community`` |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Container IP address | ``172.16.238.10`` |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Container host name | ``php`` |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Container name | ``php`` |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Mount points | Same as default php image |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Exposed port | Same as default php image |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Available at | n.a. |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
| Further configuration | ``PHP_COMMUNITY_FLAVOUR`` must be set via ``.env`` |
|
||||
+-----------------------+-----------------------------------------------------------------------------------------------------------+
|
||||
|
||||
PHP Community env variables
|
||||
---------------------------
|
||||
|
||||
Additionally the following ``.env`` variables can be created for easy configuration:
|
||||
|
||||
+------------------------------+---------------+-------------------------------------------------------------------------+
|
||||
| Variable | Default value | Description |
|
||||
+==============================+===============+=========================================================================+
|
||||
| ``PHP_COMMUNITY_FLAVOUR`` | ``devilbox`` | Controls the PHP Community flavour. |
|
||||
+------------------------------+---------------+-------------------------------------------------------------------------+
|
||||
|
||||
|
||||
Instructions
|
||||
============
|
||||
|
||||
1. Copy docker-compose.override.yml
|
||||
-----------------------------------
|
||||
|
||||
Copy the PHP-FPM Community Docker Compose overwrite file into the root of the Devilbox git directory.
|
||||
(It must be at the same level as the default ``docker-compose.yml`` file).
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> cp compose/docker-compose.override.yml-php-community docker-compose.override.yml
|
||||
|
||||
.. seealso::
|
||||
* :ref:`docker_compose_override_yml`
|
||||
* :ref:`add_your_own_docker_image`
|
||||
* :ref:`overwrite_existing_docker_image`
|
||||
|
||||
|
||||
2. Adjust ``env`` settings
|
||||
--------------------------
|
||||
|
||||
By default PHP-FPM Community is using the Devilbox reference flavour ``devilbox``.
|
||||
You can change this flavour via the ``.env`` variable ``PHP_COMMUNITY_FLAVOUR``.
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
|
||||
PHP_COMMUNITY_FLAVOUR=devilbox
|
||||
|
||||
|
||||
.. seealso:: :ref:`env_file`
|
||||
|
||||
|
||||
3. Start the Devilbox
|
||||
---------------------
|
||||
|
||||
The final step is to start the Devilbox with the newly added PHP-FPM Community images.
|
||||
|
||||
Let's assume you want to start ``php``, ``httpd``, and ``bind``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> docker-compose up -d php httpd bind
|
||||
|
||||
.. seealso:: :ref:`start_the_devilbox`
|
||||
|
||||
|
||||
TL;DR
|
||||
=====
|
||||
|
||||
For the lazy readers, here are all commands required to get you started.
|
||||
Simply copy and paste the following block into your terminal from the root of your Devilbox git
|
||||
directory:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Copy compose-override.yml into place
|
||||
cp compose/docker-compose.override.yml-php-community docker-compose.override.yml
|
||||
|
||||
# Set Community flavour
|
||||
echo "PHP_COMMUNITY_FLAVOUR=devilbox" >> .env
|
||||
|
||||
# Start container
|
||||
docker-compose up -d php httpd bind
|
@ -136,7 +136,7 @@ Let's assume you want to start ``php``, ``httpd``, ``bind``, ``rabbit``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> docker-compose up -d php httpd bind rabbitmq
|
||||
host> docker-compose up -d php httpd bind rabbit
|
||||
|
||||
.. seealso:: :ref:`start_the_devilbox`
|
||||
|
||||
|
@ -12,7 +12,7 @@ This example will use ``wget`` to install CodeIgniter from within the Devilbox P
|
||||
After completing the below listed steps, you will have a working CodeIgniter setup ready to be
|
||||
served via http and https.
|
||||
|
||||
.. seealso:: |ext_lnk_example_codeignitor_documentation|
|
||||
.. seealso:: |ext_lnk_example_codeigniter_documentation|
|
||||
|
||||
|
||||
**Table of Contents**
|
||||
|
216
docs/examples/setup-codeigniter4.rst
Normal file
216
docs/examples/setup-codeigniter4.rst
Normal file
@ -0,0 +1,216 @@
|
||||
.. include:: /_includes/all.rst
|
||||
.. include:: /_includes/snippets/__ANNOUNCEMENTS__.rst
|
||||
|
||||
.. _example_setup_codeigniter4:
|
||||
|
||||
******************
|
||||
Setup CodeIgniter4
|
||||
******************
|
||||
|
||||
After completing the below listed steps, you will have a working CodeIgniter setup ready to be
|
||||
served via http and https.
|
||||
|
||||
.. seealso:: |ext_lnk_example_codeigniter4_documentation|
|
||||
|
||||
|
||||
**Table of Contents**
|
||||
|
||||
.. contents:: :local:
|
||||
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The following configuration will be used:
|
||||
|
||||
+--------------+--------------------------+-------------+------------+-----------------------------------------+
|
||||
| Project name | VirtualHost directory | Database | TLD_SUFFIX | Project URL |
|
||||
+==============+==========================+=============+============+=========================================+
|
||||
| my-ci | /shared/httpd/my-ci | my_ci | loc | http://my-ci.loc |br| https://my-ci.loc |
|
||||
+--------------+--------------------------+-------------+------------+-----------------------------------------+
|
||||
|
||||
.. note::
|
||||
* Inside the Devilbox PHP container, projects are always in ``/shared/httpd/``.
|
||||
* On your host operating system, projects are by default in ``./data/www/`` inside the
|
||||
Devilbox git directory. This path can be changed via :ref:`env_httpd_datadir`.
|
||||
|
||||
|
||||
Walk through
|
||||
============
|
||||
|
||||
It will be ready in eight simple steps:
|
||||
|
||||
1. Enter the PHP container
|
||||
2. Create a new VirtualHost directory
|
||||
3. Download CodeIgniter
|
||||
4. Symlink webroot directory
|
||||
5. Add MySQL database
|
||||
6. Configure datbase connection
|
||||
7. Setup DNS record
|
||||
8. Visit http://my-ci.loc in your browser
|
||||
|
||||
|
||||
1. Enter the PHP container
|
||||
--------------------------
|
||||
|
||||
All work will be done inside the PHP container as it provides you with all required command line
|
||||
tools.
|
||||
|
||||
Navigate to the Devilbox git directory and execute ``shell.sh`` (or ``shell.bat`` on Windows) to
|
||||
enter the running PHP container.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> ./shell.sh
|
||||
|
||||
.. seealso::
|
||||
* :ref:`enter_the_php_container`
|
||||
* :ref:`work_inside_the_php_container`
|
||||
* :ref:`available_tools`
|
||||
|
||||
|
||||
2. Create new vhost directory
|
||||
-----------------------------
|
||||
|
||||
The vhost directory defines the name under which your project will be available. |br|
|
||||
( ``<vhost dir>.TLD_SUFFIX`` will be the final URL ).
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd $ mkdir my-ci
|
||||
|
||||
.. seealso:: :ref:`env_tld_suffix`
|
||||
|
||||
|
||||
3. Download CodeIgniter
|
||||
-----------------------
|
||||
|
||||
Navigate into your newly created vhost directory and install CodeIgniter.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd $ cd my-ci
|
||||
devilbox@php-8.1.6 in /shared/httpd/my-ci $ composer create-project codeigniter4/appstarter ci4app
|
||||
|
||||
How does the directory structure look after installation:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd/my-ci $ tree -L 1
|
||||
.
|
||||
└── ci4app
|
||||
|
||||
1 directory, 0 files
|
||||
|
||||
|
||||
4. Symlink webroot
|
||||
------------------
|
||||
|
||||
Symlinking the actual webroot directory to ``htdocs`` is important. The web server expects every
|
||||
project's document root to be in ``<vhost dir>/htdocs/``. This is the path where it will serve
|
||||
the files. This is also the path where your frameworks entrypoint (usually ``index.php``) should
|
||||
be found.
|
||||
|
||||
Some frameworks however provide its actual content in nested directories of unknown levels.
|
||||
This would be impossible to figure out by the web server, so you manually have to symlink it back
|
||||
to its expected path.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd/my-ci $ ln -s ci4app/public htdocs
|
||||
|
||||
How does the directory structure look after symlinking:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd/my-ci $ tree -L 1
|
||||
.
|
||||
├── ci4app
|
||||
└── htdocs -> ci4app/public
|
||||
|
||||
2 directories, 0 files
|
||||
|
||||
As you can see from the above directory structure, ``htdocs`` is available in its expected
|
||||
path and points to the frameworks entrypoint.
|
||||
|
||||
.. important::
|
||||
When using **Docker Toolbox**, you need to **explicitly allow** the usage of **symlinks**.
|
||||
See below for instructions:
|
||||
|
||||
* Docker Toolbox and :ref:`howto_docker_toolbox_and_the_devilbox_windows_symlinks`
|
||||
|
||||
|
||||
5. Add MySQL Database
|
||||
---------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd/my-ci $ mysql -u root -h 127.0.0.1 -p -e 'CREATE DATABASE my_ci;'
|
||||
|
||||
|
||||
6. Configure database connection
|
||||
--------------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
devilbox@php-8.1.6 in /shared/httpd/my-ci $ vi htdocs/app/Config/Database.php
|
||||
|
||||
.. code-block:: php
|
||||
:caption: htdocs/app/Config/Database.php
|
||||
:emphasize-lines: 4-7
|
||||
|
||||
<?php
|
||||
public $default = [
|
||||
'DSN' => '',
|
||||
'hostname' => '127.0.0.1',
|
||||
'username' => 'root',
|
||||
'password' => '',
|
||||
'database' => 'my_ci',
|
||||
'DBDriver' => 'MySQLi',
|
||||
'DBPrefix' => '',
|
||||
'pConnect' => false,
|
||||
'DBDebug' => (ENVIRONMENT !== 'production'),
|
||||
'charset' => 'utf8',
|
||||
'DBCollat' => 'utf8_general_ci',
|
||||
'swapPre' => '',
|
||||
'encrypt' => false,
|
||||
'compress' => false,
|
||||
'strictOn' => false,
|
||||
'failover' => [],
|
||||
'port' => 3306,
|
||||
];
|
||||
|
||||
|
||||
7. DNS record
|
||||
-------------
|
||||
|
||||
If you **have** Auto DNS configured already, you can skip this section, because DNS entries will
|
||||
be available automatically by the bundled DNS server.
|
||||
|
||||
If you **don't have** Auto DNS configured, you will need to add the following line to your
|
||||
host operating systems ``/etc/hosts`` file (or ``C:\Windows\System32\drivers\etc`` on Windows):
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: /etc/hosts
|
||||
|
||||
127.0.0.1 my-ci.loc
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :ref:`howto_add_project_hosts_entry_on_mac`
|
||||
* :ref:`howto_add_project_hosts_entry_on_win`
|
||||
* :ref:`setup_auto_dns`
|
||||
|
||||
|
||||
8. Open your browser
|
||||
--------------------
|
||||
|
||||
All set now, you can visit http://my-ci.loc or https://my-ci.loc in your browser.
|
||||
|
||||
.. seealso:: :ref:`setup_valid_https`
|
||||
|
||||
|
||||
Next steps
|
||||
==========
|
||||
|
||||
.. include:: /_includes/snippets/examples/next-steps.rst
|
@ -92,6 +92,8 @@ It will look something like this:
|
||||
#PHP_SERVER=7.3
|
||||
#PHP_SERVER=7.4
|
||||
#PHP_SERVER=8.0
|
||||
#PHP_SERVER=8.1
|
||||
#PHP_SERVER=8.2
|
||||
|
||||
As you can see, all available values are already there, but commented. Only one is uncommented.
|
||||
In this example it is ``7.1``, which is the PHP version that will be started, once the Devilbox
|
||||
@ -117,6 +119,8 @@ In order to enable PHP 5.5, you would change the ``.env`` file like this:
|
||||
#PHP_SERVER=7.3
|
||||
#PHP_SERVER=7.4
|
||||
#PHP_SERVER=8.0
|
||||
#PHP_SERVER=8.1
|
||||
#PHP_SERVER=8.2
|
||||
|
||||
Start the Devilbox
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
@ -237,6 +241,8 @@ Consider this ``.env`` file:
|
||||
#PHP_SERVER=7.3
|
||||
#PHP_SERVER=7.4
|
||||
#PHP_SERVER=8.0
|
||||
#PHP_SERVER=8.1
|
||||
#PHP_SERVER=8.2
|
||||
|
||||
Both, PHP 5.5 and PHP 7.0 are uncommented, however, when you start the Devilbox, it will use
|
||||
PHP 7.0 as this value overwrites any previous ones.
|
||||
|
@ -44,7 +44,7 @@ copied to a file named ``.env``. (Pay attention to the leading dot).
|
||||
|
||||
host> cp env-example .env
|
||||
|
||||
The ``.env`` file does nothing else then providing environment variables for Docker Compose
|
||||
The ``.env`` file does nothing else than providing environment variables for Docker Compose
|
||||
and in this case it is used as the main configuration file for the Devilbox by providing all kinds
|
||||
of settings (such as which version to start up).
|
||||
|
||||
|
@ -118,6 +118,7 @@ host is ready to be served with your custom domain.
|
||||
:maxdepth: 2
|
||||
|
||||
custom-container/enable-all-container
|
||||
custom-container/enable-php-community
|
||||
custom-container/enable-blackfire
|
||||
custom-container/enable-elk-stack
|
||||
custom-container/enable-mailhog
|
||||
@ -176,6 +177,7 @@ host is ready to be served with your custom domain.
|
||||
|
||||
examples/setup-cakephp
|
||||
examples/setup-codeigniter
|
||||
examples/setup-codeigniter4
|
||||
examples/setup-contao
|
||||
examples/setup-craftcms
|
||||
examples/setup-drupal
|
||||
|
@ -90,6 +90,10 @@ Your DNS server IP address is ``127.0.0.1``.
|
||||
|
||||
.. seealso:: :ref:`howto_add_custom_dns_server_on_mac`
|
||||
|
||||
.. important::
|
||||
The `.local` TLD will not resolve on MacOs, due to Apple's use of
|
||||
Multicast DNS for this TLD. If you want to use `.local`, you will need
|
||||
to specify each domain in `/etc/hosts` manually.
|
||||
|
||||
Docker for Windows
|
||||
------------------
|
||||
|
@ -379,6 +379,13 @@ to read-only by applying the following ``chmod`` command.
|
||||
* :ref:`my_cnf`
|
||||
* https://github.com/cytopia/devilbox/issues/212
|
||||
|
||||
[MariaDB] Assertion failure when executing prepared statement with ? in IN list
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Some MariaDB versions are affected by MDEV-27937 bug, use a fixed version or set in_predicate_conversion_threshold variable to a higher value.
|
||||
|
||||
.. seealso:: https://jira.mariadb.org/browse/MDEV-27937
|
||||
|
||||
|
||||
Docker Toolbox
|
||||
==============
|
||||
|
@ -87,6 +87,8 @@ LOCAL_LISTEN_ADDR=
|
||||
### It is also required for the internal DNS server to be setup.
|
||||
###
|
||||
### Note: In addition to period or dot character ('.'), only ALPHA ([a-zA-Z]+) characters are supported.
|
||||
### Mac users should not use the .local TLD, as this will not resolve properly due Apple's
|
||||
### use of Multicast DNS.##
|
||||
###
|
||||
### Example:
|
||||
### TLD_SUFFIX=loc
|
||||
@ -306,6 +308,8 @@ HTTPD_SERVER=nginx-stable
|
||||
MYSQL_SERVER=mariadb-10.6
|
||||
#MYSQL_SERVER=mariadb-10.7
|
||||
#MYSQL_SERVER=mariadb-10.8
|
||||
#MYSQL_SERVER=mariadb-10.9
|
||||
#MYSQL_SERVER=mariadb-10.10
|
||||
|
||||
|
||||
###
|
||||
@ -344,6 +348,8 @@ MYSQL_SERVER=mariadb-10.6
|
||||
#PGSQL_SERVER=13-alpine
|
||||
#PGSQL_SERVER=14
|
||||
PGSQL_SERVER=14-alpine
|
||||
#PGSQL_SERVER=15
|
||||
#PGSQL_SERVER=15-alpine
|
||||
#PGSQL_SERVER=latest
|
||||
#PGSQL_SERVER=alpine
|
||||
|
||||
@ -373,6 +379,8 @@ PGSQL_SERVER=14-alpine
|
||||
#REDIS_SERVER=6.0-alpine
|
||||
#REDIS_SERVER=6.2
|
||||
REDIS_SERVER=6.2-alpine
|
||||
#REDIS_SERVER=7.0
|
||||
#REDIS_SERVER=7.0-alpine
|
||||
#REDIS_SERVER=latest
|
||||
#REDIS_SERVER=alpine
|
||||
|
||||
|
Reference in New Issue
Block a user