diff --git a/.github/workflows/params-httpd.yml b/.github/workflows/params-httpd.yml
new file mode 100644
index 00000000..56c7c3d0
--- /dev/null
+++ b/.github/workflows/params-httpd.yml
@@ -0,0 +1,59 @@
+---
+
+# -------------------------------------------------------------------------------------------------
+# Job Name
+# -------------------------------------------------------------------------------------------------
+name: params
+
+
+# -------------------------------------------------------------------------------------------------
+# Custom Variables
+# -------------------------------------------------------------------------------------------------
+env:
+ # Note: Older PHP versions use an older version of phpPgMyAdmin, which does not work with later
+ # PgSQL server versions. That's why we need to tell those combinations to use an old PgSQL server
+ MATRIX: >-
+ [
+ {"HTTPD_SERVER": "apache-2.2", "HTTPD_FLAVOUR": "alpine"},
+ {"HTTPD_SERVER": "apache-2.2", "HTTPD_FLAVOUR": "debian"},
+
+ {"HTTPD_SERVER": "apache-2.4", "HTTPD_FLAVOUR": "alpine"},
+ {"HTTPD_SERVER": "apache-2.4", "HTTPD_FLAVOUR": "debian"},
+
+ {"HTTPD_SERVER": "nginx-stable", "HTTPD_FLAVOUR": "alpine"},
+ {"HTTPD_SERVER": "nginx-stable", "HTTPD_FLAVOUR": "debian"},
+
+ {"HTTPD_SERVER": "nginx-mainline", "HTTPD_FLAVOUR": "alpine"},
+ {"HTTPD_SERVER": "nginx-mainline", "HTTPD_FLAVOUR": "debian"}
+ ]
+
+
+# -------------------------------------------------------------------------------------------------
+# When to run
+# -------------------------------------------------------------------------------------------------
+on:
+ workflow_call:
+ outputs:
+ matrix:
+ description: "The determined version matrix"
+ value: ${{ jobs.params.outputs.matrix }}
+
+jobs:
+ params:
+ runs-on: ubuntu-latest
+
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+
+ steps:
+ - name: "[Set-Output] Matrix"
+ id: set-matrix
+ run: |
+ echo "::set-output name=matrix::$( echo '${{ env.MATRIX }}' | jq -M -c )"
+
+ - name: "[DEBUG] Show settings'"
+ run: |
+ echo 'Matrix'
+ echo '--------------------'
+ echo '${{ steps.set-matrix.outputs.matrix }}'
+ echo
diff --git a/.github/workflows/params-version-memcd.yml b/.github/workflows/params-memcd.yml
similarity index 100%
rename from .github/workflows/params-version-memcd.yml
rename to .github/workflows/params-memcd.yml
diff --git a/.github/workflows/params-version-mongo.yml b/.github/workflows/params-mongo.yml
similarity index 100%
rename from .github/workflows/params-version-mongo.yml
rename to .github/workflows/params-mongo.yml
diff --git a/.github/workflows/params-version-mysql.yml b/.github/workflows/params-mysql.yml
similarity index 100%
rename from .github/workflows/params-version-mysql.yml
rename to .github/workflows/params-mysql.yml
diff --git a/.github/workflows/params-version-pgsql.yml b/.github/workflows/params-pgsql.yml
similarity index 100%
rename from .github/workflows/params-version-pgsql.yml
rename to .github/workflows/params-pgsql.yml
diff --git a/.github/workflows/params-version-redis.yml b/.github/workflows/params-redis.yml
similarity index 100%
rename from .github/workflows/params-version-redis.yml
rename to .github/workflows/params-redis.yml
diff --git a/.github/workflows/test-httpd.yml b/.github/workflows/test-httpd.yml
new file mode 100644
index 00000000..c0dbfef6
--- /dev/null
+++ b/.github/workflows/test-httpd.yml
@@ -0,0 +1,53 @@
+---
+
+# -------------------------------------------------------------------------------------------------
+# Job Name
+# -------------------------------------------------------------------------------------------------
+name: Httpd
+
+
+# -------------------------------------------------------------------------------------------------
+# When to run
+# -------------------------------------------------------------------------------------------------
+on:
+ # Runs on Pull Requests
+ pull_request:
+
+ # Runs on master Branch and Tags
+ push:
+ branches:
+ - master
+ tags:
+ - '[0-9]+.[0-9]+*'
+
+
+jobs:
+ # -----------------------------------------------------------------------------------------------
+ # (1/3) Determine parameter settings
+ # -----------------------------------------------------------------------------------------------
+ params:
+ uses: ./.github/workflows/params-httpd.yml
+
+
+ # -----------------------------------------------------------------------------------------------
+ # (2/3) Test with default settings
+ # -----------------------------------------------------------------------------------------------
+ default:
+ needs: [params]
+ uses: ./.github/workflows/zzz-reuse-tests.yml
+ with:
+ matrix: ${{ needs.params.outputs.matrix }}
+ custom_config: false
+ operating_system: ubuntu-latest
+
+
+ # -----------------------------------------------------------------------------------------------
+ # (3/3) Test with customizedt settings
+ # -----------------------------------------------------------------------------------------------
+ custom:
+ needs: [params]
+ uses: ./.github/workflows/zzz-reuse-tests.yml
+ with:
+ matrix: ${{ needs.params.outputs.matrix }}
+ custom_config: true
+ operating_system: ubuntu-latest
diff --git a/.github/workflows/test-version-memcd.yml b/.github/workflows/test-memcd.yml
similarity index 96%
rename from .github/workflows/test-version-memcd.yml
rename to .github/workflows/test-memcd.yml
index 5832ab52..5d073957 100644
--- a/.github/workflows/test-version-memcd.yml
+++ b/.github/workflows/test-memcd.yml
@@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
- uses: ./.github/workflows/params-version-memcd.yml
+ uses: ./.github/workflows/params-memcd.yml
# -----------------------------------------------------------------------------------------------
diff --git a/.github/workflows/test-version-mongo.yml b/.github/workflows/test-mongo.yml
similarity index 96%
rename from .github/workflows/test-version-mongo.yml
rename to .github/workflows/test-mongo.yml
index 96369aa5..cb44752e 100644
--- a/.github/workflows/test-version-mongo.yml
+++ b/.github/workflows/test-mongo.yml
@@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
- uses: ./.github/workflows/params-version-mongo.yml
+ uses: ./.github/workflows/params-mongo.yml
# -----------------------------------------------------------------------------------------------
diff --git a/.github/workflows/test-version-mysql.yml b/.github/workflows/test-mysql.yml
similarity index 96%
rename from .github/workflows/test-version-mysql.yml
rename to .github/workflows/test-mysql.yml
index 79b805ea..4c12e10e 100644
--- a/.github/workflows/test-version-mysql.yml
+++ b/.github/workflows/test-mysql.yml
@@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
- uses: ./.github/workflows/params-version-mysql.yml
+ uses: ./.github/workflows/params-mysql.yml
# -----------------------------------------------------------------------------------------------
diff --git a/.github/workflows/test-version-pgsql.yml b/.github/workflows/test-pgsql.yml
similarity index 96%
rename from .github/workflows/test-version-pgsql.yml
rename to .github/workflows/test-pgsql.yml
index e0726820..1f4cc9eb 100644
--- a/.github/workflows/test-version-pgsql.yml
+++ b/.github/workflows/test-pgsql.yml
@@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
- uses: ./.github/workflows/params-version-pgsql.yml
+ uses: ./.github/workflows/params-pgsql.yml
# -----------------------------------------------------------------------------------------------
diff --git a/.github/workflows/test-php.yml b/.github/workflows/test-php.yml
index 105fc661..59558f37 100644
--- a/.github/workflows/test-php.yml
+++ b/.github/workflows/test-php.yml
@@ -40,6 +40,7 @@ jobs:
custom_config: false
operating_system: ubuntu-latest
+
# -----------------------------------------------------------------------------------------------
# (3/3) Test with customizedt settings
# -----------------------------------------------------------------------------------------------
diff --git a/.github/workflows/test-version-redis.yml b/.github/workflows/test-redis.yml
similarity index 96%
rename from .github/workflows/test-version-redis.yml
rename to .github/workflows/test-redis.yml
index 76f1488d..d6a63bfb 100644
--- a/.github/workflows/test-version-redis.yml
+++ b/.github/workflows/test-redis.yml
@@ -26,7 +26,7 @@ jobs:
# (1/3) Determine parameter settings
# -----------------------------------------------------------------------------------------------
params:
- uses: ./.github/workflows/params-version-redis.yml
+ uses: ./.github/workflows/params-redis.yml
# -----------------------------------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a049c284..11c21540 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,12 +14,14 @@ The goal of this release is to reduce the overall size of Docker images and brin
#### Added
- Added CakePHP integration tests for PHP 8+
+- Added `.env` variable `HTTPD_FLAVOUR` to decide between `Debian` or `Alpine` for HTTP server
#### Changed
- Changed default PostgreSQL server from `12.4` to `14-alpine` (breaking change)
- Changed default Redis server from `6.0` to `6.2-alpine`
- Changed default Memcached server from `1.6` to `1.6-alpine`
- Changed default MongoDB server from `4.4` to `5.0`
+- Changed default HTTPD server flavour from `Debian` to `Alpine`
- Use tiny Alpine version of Bind container
#### Removed
diff --git a/README.md b/README.md
index d04e2860..59589582 100644
--- a/README.md
+++ b/README.md
@@ -27,11 +27,12 @@
[](https://github.com/cytopia/devilbox/actions?workflow=Docs)
[](https://github.com/cytopia/devilbox/actions/workflows/test-php.yml)
-[](https://github.com/cytopia/devilbox/actions/workflows/test-version-mysql.yml)
-[](https://github.com/cytopia/devilbox/actions/workflows/test-version-memcd.yml)
-[](https://github.com/cytopia/devilbox/actions/workflows/test-version-mongo.yml)
-[](https://github.com/cytopia/devilbox/actions/workflows/test-version-pgsql.yml)
-[](https://github.com/cytopia/devilbox/actions/workflows/test-version-redis.yml)
+[](https://github.com/cytopia/devilbox/actions/workflows/test-httpd.yml)
+[](https://github.com/cytopia/devilbox/actions/workflows/test-mysql.yml)
+[](https://github.com/cytopia/devilbox/actions/workflows/test-memcd.yml)
+[](https://github.com/cytopia/devilbox/actions/workflows/test-mongo.yml)
+[](https://github.com/cytopia/devilbox/actions/workflows/test-pgsql.yml)
+[](https://github.com/cytopia/devilbox/actions/workflows/test-redis.yml)

diff --git a/docker-compose.yml b/docker-compose.yml
index dc96837b..511a544d 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -220,7 +220,7 @@ services:
# Web Server
# ------------------------------------------------------------
httpd:
- image: devilbox/${HTTPD_SERVER}:0.43
+ image: devilbox/${HTTPD_SERVER}:${HTTPD_FLAVOUR:-alpine}-0.47
hostname: httpd
environment:
diff --git a/env-example b/env-example
index 86cd2128..6d2b420a 100644
--- a/env-example
+++ b/env-example
@@ -273,6 +273,12 @@ PHP_SERVER=8.1
###
### 1.2 Choose HTTPD Server Image
###
+### Choose between 'debian' or 'alpine' flavour and then select the version
+###
+### Note: apache-2.2 has no arm64 support on 'alpine' flavour
+###
+HTTPD_FLAVOUR=alpine
+
#HTTPD_SERVER=apache-2.2
#HTTPD_SERVER=apache-2.4
HTTPD_SERVER=nginx-stable