Skip to content

Commit ceadad5

Browse files
committed
Adjusted documentation
1 parent eec7f6c commit ceadad5

File tree

4 files changed

+1654
-1625
lines changed

4 files changed

+1654
-1625
lines changed

β€ŽCHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,18 @@ Additionally it introduces a new flavour: `slim` which is an intermediated stage
1313
### Added
1414
- New PHP Flavour: `slim`
1515
- Added `mhsendmail` for `arm64` architecture
16+
- Added `wkhtmltopdf` for `arm64 architecture [#252](https://github.com/devilbox/docker-php-fpm/issues/252)
17+
- Added `taskfile` (https://taskfile.dev/)
1618
- Added mechanism to easily build custom images with custom set of PHP tools
1719
- Added automated PHP tools dependency resolver (order of built is always correct)
1820
- Added tons of documentation
1921

2022
### Changed
2123
- Split out PHP tools into separate directories
2224

25+
### Fixed
26+
- Fixed `xdebug` build
27+
2328

2429
## Release 0.144
2530

β€ŽREADME.md

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ This repository also allows you to quickly generate and **build your own custom
3131
* [`5.2-base`](Dockerfiles/base/Dockerfile-5.2), [`5.3-base`](Dockerfiles/base/Dockerfile-5.3), [`5.4-base`](Dockerfiles/base/Dockerfile-5.4), [`5.5-base`](Dockerfiles/base/Dockerfile-5.5), [`5.6-base`](Dockerfiles/base/Dockerfile-5.6), [`7.0-base`](Dockerfiles/base/Dockerfile-7.0), [`7.1-base`](Dockerfiles/base/Dockerfile-7.1), [`7.2-base`](Dockerfiles/base/Dockerfile-7.2), [`7.3-base`](Dockerfiles/base/Dockerfile-7.3), [`7.4-base`](Dockerfiles/base/Dockerfile-7.4), [`8.0-base`](Dockerfiles/base/Dockerfile-8.0), [`8.1-base`](Dockerfiles/base/Dockerfile-8.1), [`8.2-base`](Dockerfiles/base/Dockerfile-8.2)
3232
* [`5.2-mods`](Dockerfiles/mods/Dockerfile-5.2), [`5.3-mods`](Dockerfiles/mods/Dockerfile-5.3), [`5.4-mods`](Dockerfiles/mods/Dockerfile-5.4), [`5.5-mods`](Dockerfiles/mods/Dockerfile-5.5), [`5.6-mods`](Dockerfiles/mods/Dockerfile-5.6), [`7.0-mods`](Dockerfiles/mods/Dockerfile-7.0), [`7.1-mods`](Dockerfiles/mods/Dockerfile-7.1), [`7.2-mods`](Dockerfiles/mods/Dockerfile-7.2), [`7.3-mods`](Dockerfiles/mods/Dockerfile-7.3), [`7.4-mods`](Dockerfiles/mods/Dockerfile-7.4), [`8.0-mods`](Dockerfiles/mods/Dockerfile-8.0), [`8.1-mods`](Dockerfiles/mods/Dockerfile-8.1), [`8.2-mods`](Dockerfiles/mods/Dockerfile-8.2)
3333
* [`5.2-prod`](Dockerfiles/prod/Dockerfile-5.2), [`5.3-prod`](Dockerfiles/prod/Dockerfile-5.3), [`5.4-prod`](Dockerfiles/prod/Dockerfile-5.4), [`5.5-prod`](Dockerfiles/prod/Dockerfile-5.5), [`5.6-prod`](Dockerfiles/prod/Dockerfile-5.6), [`7.0-prod`](Dockerfiles/prod/Dockerfile-7.0), [`7.1-prod`](Dockerfiles/prod/Dockerfile-7.1), [`7.2-prod`](Dockerfiles/prod/Dockerfile-7.2), [`7.3-prod`](Dockerfiles/prod/Dockerfile-7.3), [`7.4-prod`](Dockerfiles/prod/Dockerfile-7.4), [`8.0-prod`](Dockerfiles/prod/Dockerfile-8.0), [`8.1-prod`](Dockerfiles/prod/Dockerfile-8.1), [`8.2-prod`](Dockerfiles/prod/Dockerfile-8.2)
34+
* [`5.2-slim`](Dockerfiles/slim/Dockerfile-5.2), [`5.3-slim`](Dockerfiles/slim/Dockerfile-5.3), [`5.4-slim`](Dockerfiles/slim/Dockerfile-5.4), [`5.5-slim`](Dockerfiles/slim/Dockerfile-5.5), [`5.6-slim`](Dockerfiles/slim/Dockerfile-5.6), [`7.0-slim`](Dockerfiles/slim/Dockerfile-7.0), [`7.1-slim`](Dockerfiles/slim/Dockerfile-7.1), [`7.2-slim`](Dockerfiles/slim/Dockerfile-7.2), [`7.3-slim`](Dockerfiles/slim/Dockerfile-7.3), [`7.4-slim`](Dockerfiles/slim/Dockerfile-7.4), [`8.0-slim`](Dockerfiles/slim/Dockerfile-8.0), [`8.1-slim`](Dockerfiles/slim/Dockerfile-8.1), [`8.2-slim`](Dockerfiles/slim/Dockerfile-8.2)
3435
* [`5.2-work`](Dockerfiles/work/Dockerfile-5.2), [`5.3-work`](Dockerfiles/work/Dockerfile-5.3), [`5.4-work`](Dockerfiles/work/Dockerfile-5.4), [`5.5-work`](Dockerfiles/work/Dockerfile-5.5), [`5.6-work`](Dockerfiles/work/Dockerfile-5.6), [`7.0-work`](Dockerfiles/work/Dockerfile-7.0), [`7.1-work`](Dockerfiles/work/Dockerfile-7.1), [`7.2-work`](Dockerfiles/work/Dockerfile-7.2), [`7.3-work`](Dockerfiles/work/Dockerfile-7.3), [`7.4-work`](Dockerfiles/work/Dockerfile-7.4), [`8.0-work`](Dockerfiles/work/Dockerfile-8.0), [`8.1-work`](Dockerfiles/work/Dockerfile-8.1), [`8.2-work`](Dockerfiles/work/Dockerfile-8.2)
3536

3637
:information_source: For details see **[Documentation: Docker Tags](doc/docker-tags.md)**<br/>
@@ -60,8 +61,8 @@ The provided Docker images heavily rely on inheritance to guarantee smallest pos
6061
^ #
6162
| #
6263
| #
63-
[base] # Introduces env variables and adjusts entrypoint
64-
^ #
64+
[base] # Streamlined base images with host user mapping
65+
^ # environment variables and custom configs.
6566
| #
6667
| #
6768
[mods] # Installs additional PHP modules
@@ -72,6 +73,10 @@ The provided Docker images heavily rely on inheritance to guarantee smallest pos
7273
^ # (locales, postifx, socat and injectables)
7374
| # (custom *.ini files)
7475
| #
76+
[slim] # Devilbox flavour with only required
77+
^ # cli tools to have a functional intranet.
78+
| #
79+
| #
7580
[work] # Devilbox flavour for local development
7681
# (includes backup and development tools)
7782
# (sudo, custom bash and tool configs)
@@ -195,7 +200,7 @@ The provided Docker images heavily rely on inheritance to guarantee smallest pos
195200
<!-- /modules -->
196201

197202
:information_source: For details see **[Documentation: PHP Modules](doc/php-modules.md)**<br/>
198-
:information_source: For details see **[Contributor Documentation: PHP Modules](php_modules/README.md)**
203+
:information_source: For details see **[Contributor Documentation: PHP Module definition](php_modules/README.md)**
199204

200205

201206

@@ -218,6 +223,10 @@ The provided Docker images offer environment variables to alter their startup be
218223

219224
`DEBUG_ENTRYPOINT`, `NEW_UID`, `NEW_GID`, `TIMEZONE`, `DOCKER_LOGS`, `ENABLE_MODULES`, `DISABLE_MODULES`, `ENABLE_MAIL`, `FORWARD_PORTS_TO_LOCALHOST`
220225

226+
#### Flavour: slim
227+
228+
`DEBUG_ENTRYPOINT`, `NEW_UID`, `NEW_GID`, `TIMEZONE`, `DOCKER_LOGS`, `ENABLE_MODULES`, `DISABLE_MODULES`, `ENABLE_MAIL`, `FORWARD_PORTS_TO_LOCALHOST`,` MYSQL_BACKUP_USER`, `MYSQL_BACKUP_PASS`, `MYSQL_BACKUP_HOST`
229+
221230
#### Flavour: work
222231

223232
`DEBUG_ENTRYPOINT`, `NEW_UID`, `NEW_GID`, `TIMEZONE`, `DOCKER_LOGS`, `ENABLE_MODULES`, `DISABLE_MODULES`, `ENABLE_MAIL`, `FORWARD_PORTS_TO_LOCALHOST`,` MYSQL_BACKUP_USER`, `MYSQL_BACKUP_PASS`, `MYSQL_BACKUP_HOST`
@@ -246,6 +255,16 @@ The provided Docker images offer different volumes to be mounted
246255
* **[`/var/log/php`]()**, **[`/var/mail`]()** - *logs and mail data*
247256
* **[`/etc/supervisor/custom.d`]()** - *custom supervisord config files*
248257

258+
#### Flavour: slim
259+
260+
* **[`/etc/php-custom.d`]()**, **[`/etc/php-fpm-custom.d`]()** - *custom PHP/PHP-FPM config files*
261+
* **[`/startup.1.d`]()**, **[`/startup.2.d`]()** - *custom startup scripts*
262+
* **[`/var/log/php`]()**, **[`/var/mail`]()** - *logs and mail data*
263+
* **[`/etc/supervisor/custom.d`]()** - *custom supervisord config files*
264+
* **[`/etc/bashrc-devilbox.d`]()** - *custom bashrc config files*
265+
* **[`/shared/backups`]()** - *backup data*
266+
* **[`/ca`]()** - *trusted Certificate Authorities*
267+
249268
#### Flavour: work
250269

251270
* **[`/etc/php-custom.d`]()**, **[`/etc/php-fpm-custom.d`]()** - *custom PHP/PHP-FPM config files*
@@ -271,7 +290,7 @@ Have a look at the following table to see all offered exposed ports for each Doc
271290
</thead>
272291
<tbody>
273292
<tr>
274-
<td rowspan="1"><strong>base</strong><br/><strong>mods</strong><br/><strong>prod</strong><br/><strong>work</strong></td>
293+
<td rowspan="1"><strong>base</strong><br/><strong>mods</strong><br/><strong>prod</strong><br/><strong>slim</strong><br/><strong>work</strong></td>
275294
<td><code>9000</code></td>
276295
<td>PHP-FPM listening port</td>
277296
</tr>
@@ -290,7 +309,8 @@ Each PHP version is using the same sane default php.ini values, making it pain-f
290309
| base | [php.ini](Dockerfiles/base/data/php-ini.d/) and [php-fpm.conf](Dockerfiles/base/data/php-fpm.conf/) |
291310
| mods | inherits from base |
292311
| prod | inherits from base |
293-
| work | [php.ini](Dockerfiles/work/data/php-ini.d/) [php-fpm.conf](Dockerfiles/work/data/php-fpm.conf/) |
312+
| slim | [php.ini](Dockerfiles/work/data/php-ini.d/) and [php-fpm.conf](Dockerfiles/work/data/php-fpm.conf/) |
313+
| work | inherits from slim |
294314

295315

296316

@@ -300,7 +320,11 @@ If you plan to use the PHP-FPM image for development, hence being able to execut
300320

301321
The **work** Docker image has many common tools already installed which on one hand increases its image size, but on the other hand removes the necessity to install those tools locally.
302322

303-
You want to use tools such as `git`, `drush`, `composer`, `npm`, `eslint`, `phpcs` as well as many others, simply do it directly inside the container. As all Docker images are auto-built every night by GitHub Actions it is assured that you are always at the latest version of your favorite dev tool.
323+
You want to use tools such as `angular-cli`, `codeception`, **`composer`**, `deployer`, `eslint`, `git`, `grunt-cli`, `gulp`, `laravel-installer`, **`node`**, **`npm`**, **`nvm`**, `phalcon-devtools`, `phpcs`, `phpunit`, `pm2`, `symfony-cli`, `tig`, `vue`, `webpack-cli`, `wp-cli`, **`yarn`**, `yq`, `zsh` as well as many others, simply do it directly inside the container. As all Docker images are auto-built every night by GitHub Actions it is assured that you are always at the latest version of your favorite dev tool.
324+
325+
<!-- Generate as such
326+
cat doc/available-tools.md | grep -Eo '\| \[.+\]\[' | sed -e 's/| \[//g' -e 's/].*//g' -e 's/*//g' | xargs -n1 sh -c 'printf "["\`"${1}"\`"](../php_tools/${1}/)\n"' -- | xclip
327+
-->
304328

305329
:information_source: For details see **[Documentation: Available Tools](doc/available-tools.md)**
306330

@@ -422,7 +446,7 @@ $ docker exec -it php mysqldump-secure
422446

423447
#### Docker Compose reference implementation
424448

425-
If you want a fully functional Docker Compose setup, which allows to switch PHP versions easily, comes with web servers, database servers and much more, then head over to the rerefence implementation:
449+
If you want a fully functional Docker Compose setup, which allows to switch PHP versions easily, comes with web servers, database servers and much more, then head over to the **[Devilbox](https://github.com/cytopia/devilbox)** rerefence implementation :
426450

427451
| Reference Implementation |
428452
|--------------------------|
@@ -459,7 +483,7 @@ make build STAGE=mods VERSION=8.1 ARCH=linux/arm64
459483

460484
Contributors are welcome. Feel free to star and clone this repository and submit issues and pull-requests. Add examples and show what you have created with the provided images. If you see any errors or ways to improve this repository in any way, please do so.
461485

462-
:information_source: For details see **[Contributor Documentation: PHP Modules](php_modules/README.md)**
486+
:information_source: For details see **[Contributor Documentation: PHP Module definitions](php_modules/README.md)**
463487

464488

465489
<h2><img id="contributing" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Related Project</h2>

β€Žbin/gen-docs-php-modules.sh

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ update_readme() {
151151
done < <(echo "${modules_image}")
152152

153153
if [ "${avail}" = "1" ]; then
154-
sed -i "s|\(<td class=\"ext_${stage}_${module_avail}_${php_version}\">\)\(.*\)\(<\/td>\)|\1πŸ—Έ\3|g" "${README}"
154+
sed -i "s|\(<td class=\"ext_${stage}_${module_avail}_${php_version}\">\)\(.*\)\(<\/td>\)|\1βœ“\3|g" "${README}"
155155
echo "[YES] [${stage}] PHP ${php_version}, mod: '${module_avail}'"
156156
else
157157
sed -i "s|\(<td class=\"ext_${stage}_${module_avail}_${php_version}\">\)\(.*\)\(<\/td>\)|\1\3|g" "${README}"
@@ -185,19 +185,19 @@ update_readme() {
185185
# MOD_LOWER="$( echo "${MOD_NAME}" | tr '[:upper:]' '[:lower:]' )"
186186
# echo " <tr>"
187187
# echo " <td><a href=\"php_modules/${MOD_LOWER}\">${MOD_NAME}</a></td>"
188-
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.2\">πŸ—Έ</td>"
189-
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.3\">πŸ—Έ</td>"
190-
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.4\">πŸ—Έ</td>"
191-
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.5\">πŸ—Έ</td>"
192-
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.6\">πŸ—Έ</td>"
193-
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.0\">πŸ—Έ</td>"
194-
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.1\">πŸ—Έ</td>"
195-
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.2\">πŸ—Έ</td>"
196-
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.3\">πŸ—Έ</td>"
197-
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.4\">πŸ—Έ</td>"
198-
# echo " <td class=\"ext_mods_${MOD_LOWER}_8.0\">πŸ—Έ</td>"
199-
# echo " <td class=\"ext_mods_${MOD_LOWER}_8.1\">πŸ—Έ</td>"
200-
# echo " <td class=\"ext_mods_${MOD_LOWER}_8.2\">πŸ—Έ</td>"
188+
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.2\">βœ“</td>"
189+
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.3\">βœ“</td>"
190+
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.4\">βœ“</td>"
191+
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.5\">βœ“</td>"
192+
# echo " <td class=\"ext_mods_${MOD_LOWER}_5.6\">βœ“</td>"
193+
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.0\">βœ“</td>"
194+
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.1\">βœ“</td>"
195+
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.2\">βœ“</td>"
196+
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.3\">βœ“</td>"
197+
# echo " <td class=\"ext_mods_${MOD_LOWER}_7.4\">βœ“</td>"
198+
# echo " <td class=\"ext_mods_${MOD_LOWER}_8.0\">βœ“</td>"
199+
# echo " <td class=\"ext_mods_${MOD_LOWER}_8.1\">βœ“</td>"
200+
# echo " <td class=\"ext_mods_${MOD_LOWER}_8.2\">βœ“</td>"
201201
# echo " </tr>"
202202
#done < <(echo "${MODS_IMAGE}")
203203
#echo "<table>"

0 commit comments

Comments
Β (0)