From a963861416f6b948974b2a06c16daca7617c8605 Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Thu, 12 Feb 2026 22:37:56 +0100 Subject: [PATCH 01/10] Add a mailpit service in each compose file --- compose/2.4.6/docker-compose.yml | 8 ++++++++ compose/2.4.7/docker-compose.yml | 8 ++++++++ compose/2.4.8/docker-compose.yml | 8 ++++++++ compose/2.4.9/docker-compose.yml | 8 ++++++++ 4 files changed, 32 insertions(+) diff --git a/compose/2.4.6/docker-compose.yml b/compose/2.4.6/docker-compose.yml index eb5df97..a5706ea 100644 --- a/compose/2.4.6/docker-compose.yml +++ b/compose/2.4.6/docker-compose.yml @@ -92,6 +92,14 @@ services: - magento command: redis-server --appendonly yes + mailpit: + image: axllent/mailpit:v1.29.0 + ports: + - "8025:8025" + - "1025:1025" + networks: + - magento + volumes: db_data: opensearch_data: diff --git a/compose/2.4.7/docker-compose.yml b/compose/2.4.7/docker-compose.yml index 5275ec5..809ee88 100644 --- a/compose/2.4.7/docker-compose.yml +++ b/compose/2.4.7/docker-compose.yml @@ -92,6 +92,14 @@ services: - magento command: redis-server --appendonly yes + mailpit: + image: axllent/mailpit:v1.29.0 + ports: + - "8025:8025" + - "1025:1025" + networks: + - magento + volumes: db_data: opensearch_data: diff --git a/compose/2.4.8/docker-compose.yml b/compose/2.4.8/docker-compose.yml index 2f83eaf..9913144 100644 --- a/compose/2.4.8/docker-compose.yml +++ b/compose/2.4.8/docker-compose.yml @@ -92,6 +92,14 @@ services: - magento command: valkey-server --appendonly yes + mailpit: + image: axllent/mailpit:v1.29.0 + ports: + - "8025:8025" + - "1025:1025" + networks: + - magento + volumes: db_data: opensearch_data: diff --git a/compose/2.4.9/docker-compose.yml b/compose/2.4.9/docker-compose.yml index 9369dfe..3fa2964 100644 --- a/compose/2.4.9/docker-compose.yml +++ b/compose/2.4.9/docker-compose.yml @@ -92,6 +92,14 @@ services: - magento command: valkey-server --appendonly yes + mailpit: + image: axllent/mailpit:v1.29.0 + ports: + - "8025:8025" + - "1025:1025" + networks: + - magento + volumes: db_data: opensearch_data: From 254cd4236a4fa0a5897bea1f7bcee2ff0ac918e3 Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 21:39:41 +0100 Subject: [PATCH 02/10] Add mailpit ports to devcontainer.json.sample --- devcontainer.json.sample | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/devcontainer.json.sample b/devcontainer.json.sample index a87dea4..dcf60b9 100644 --- a/devcontainer.json.sample +++ b/devcontainer.json.sample @@ -31,6 +31,12 @@ }, "6379": { "label": "Redis/Valkey" + }, + "8025": { + "label": "Mailpit UI" + }, + "1025": { + "label": "Mailpit SMTP" } }, "customizations": { From 1531cd5a9fb99b96727f8fab8338ef181277756f Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 22:35:22 +0100 Subject: [PATCH 03/10] Build a custom devcontainer with mailpit based on the mappia devcontainer images --- compose/2.4.6/docker-compose.yml | 6 +++++- compose/2.4.7/docker-compose.yml | 6 +++++- compose/2.4.8/docker-compose.yml | 6 +++++- compose/2.4.9/docker-compose.yml | 6 +++++- docker/php/Dockerfile | 9 +++++++++ 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 docker/php/Dockerfile diff --git a/compose/2.4.6/docker-compose.yml b/compose/2.4.6/docker-compose.yml index a5706ea..7efb578 100644 --- a/compose/2.4.6/docker-compose.yml +++ b/compose/2.4.6/docker-compose.yml @@ -1,6 +1,10 @@ services: php: - image: mappia/magento-php:devcontainer8.2 + build: + context: ../.. + dockerfile: magento2-devcontainer/docker/php/Dockerfile + args: + BASE_IMAGE: mappia/magento-php:devcontainer8.2 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/compose/2.4.7/docker-compose.yml b/compose/2.4.7/docker-compose.yml index 809ee88..2301f65 100644 --- a/compose/2.4.7/docker-compose.yml +++ b/compose/2.4.7/docker-compose.yml @@ -1,6 +1,10 @@ services: php: - image: mappia/magento-php:devcontainer8.3 + build: + context: ../.. + dockerfile: magento2-devcontainer/docker/php/Dockerfile + args: + BASE_IMAGE: mappia/magento-php:devcontainer8.3 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/compose/2.4.8/docker-compose.yml b/compose/2.4.8/docker-compose.yml index 9913144..6316a23 100644 --- a/compose/2.4.8/docker-compose.yml +++ b/compose/2.4.8/docker-compose.yml @@ -1,6 +1,10 @@ services: php: - image: mappia/magento-php:devcontainer8.4 + build: + context: ../.. + dockerfile: magento2-devcontainer/docker/php/Dockerfile + args: + BASE_IMAGE: mappia/magento-php:devcontainer8.4 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/compose/2.4.9/docker-compose.yml b/compose/2.4.9/docker-compose.yml index 3fa2964..f836a35 100644 --- a/compose/2.4.9/docker-compose.yml +++ b/compose/2.4.9/docker-compose.yml @@ -1,6 +1,10 @@ services: php: - image: mappia/magento-php:devcontainer8.4 + build: + context: ../.. + dockerfile: magento2-devcontainer/docker/php/Dockerfile + args: + BASE_IMAGE: mappia/magento-php:devcontainer8.4 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile new file mode 100644 index 0000000..46902e3 --- /dev/null +++ b/docker/php/Dockerfile @@ -0,0 +1,9 @@ +ARG BASE_IMAGE +FROM ${BASE_IMAGE} + +ARG TARGETARCH=amd64 + +RUN set -x && set -o pipefail \ + && curl -fsSL "https://github.com/axllent/mailpit/releases/download/v1.29.0/mailpit-linux-${TARGETARCH}.tar.gz" -o /tmp/mailpit.tar.gz \ + && tar -zx -C /usr/local/bin -f /tmp/mailpit.tar.gz mailpit \ + && rm /tmp/mailpit.tar.gz \ No newline at end of file From d6ab46e6150fab61f7307e7375e1e075700873cc Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 22:35:33 +0100 Subject: [PATCH 04/10] Add missing mailpit ports --- devcontainer.json.sample | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devcontainer.json.sample b/devcontainer.json.sample index dcf60b9..2b2b009 100644 --- a/devcontainer.json.sample +++ b/devcontainer.json.sample @@ -13,7 +13,9 @@ 3306, 9200, 5672, - 6379 + 6379, + 8025, + 1025 ], "initializeCommand": "[ -f .devcontainer/magento2-devcontainer/.gitignore ] || (git submodule update --init --recursive)", "portsAttributes": { From f544967ba7685adf95a8b83bd688d76304d6cfcf Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 22:35:48 +0100 Subject: [PATCH 05/10] Add mailpit.ini to php container --- docker-compose.shared.yml.sample | 1 + mailpit/mailpit.ini.sample | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 mailpit/mailpit.ini.sample diff --git a/docker-compose.shared.yml.sample b/docker-compose.shared.yml.sample index d0fdfa0..1810a53 100644 --- a/docker-compose.shared.yml.sample +++ b/docker-compose.shared.yml.sample @@ -2,6 +2,7 @@ services: php: volumes: - ../:/workspace:cached + - ./magento2-devcontainer/mailpit/mailpit.ini.sample:/usr/local/etc/php/conf.d/mailpit.ini:ro working_dir: /workspace nginx: diff --git a/mailpit/mailpit.ini.sample b/mailpit/mailpit.ini.sample new file mode 100644 index 0000000..08dfcae --- /dev/null +++ b/mailpit/mailpit.ini.sample @@ -0,0 +1,10 @@ +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; https://php.net/sendmail-path +sendmail_path="/usr/local/bin/mailpit sendmail -t --smtp-addr mailpit:1025" + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; Use mixed LF and CRLF line separators to keep compatibility with some +; RFC 2822 non conformant MTA. +mail.mixed_lf_and_crlf = Off \ No newline at end of file From 12d7efb79557857c7780d5ead14a85eae8110f61 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Tue, 7 Apr 2026 12:27:29 -0400 Subject: [PATCH 06/10] remove sample mailpit.ini --- mailpit/mailpit.ini.sample | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 mailpit/mailpit.ini.sample diff --git a/mailpit/mailpit.ini.sample b/mailpit/mailpit.ini.sample deleted file mode 100644 index 08dfcae..0000000 --- a/mailpit/mailpit.ini.sample +++ /dev/null @@ -1,10 +0,0 @@ -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; https://php.net/sendmail-path -sendmail_path="/usr/local/bin/mailpit sendmail -t --smtp-addr mailpit:1025" - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; Use mixed LF and CRLF line separators to keep compatibility with some -; RFC 2822 non conformant MTA. -mail.mixed_lf_and_crlf = Off \ No newline at end of file From f6cd6d64c9aefecbd36bee359227c685907e2f5d Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Tue, 7 Apr 2026 12:27:45 -0400 Subject: [PATCH 07/10] remove sample dockerfile --- docker/php/Dockerfile | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 docker/php/Dockerfile diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile deleted file mode 100644 index 46902e3..0000000 --- a/docker/php/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -ARG BASE_IMAGE -FROM ${BASE_IMAGE} - -ARG TARGETARCH=amd64 - -RUN set -x && set -o pipefail \ - && curl -fsSL "https://github.com/axllent/mailpit/releases/download/v1.29.0/mailpit-linux-${TARGETARCH}.tar.gz" -o /tmp/mailpit.tar.gz \ - && tar -zx -C /usr/local/bin -f /tmp/mailpit.tar.gz mailpit \ - && rm /tmp/mailpit.tar.gz \ No newline at end of file From 9fc2feb463e25c0e6ed0db7cb88540e08afd213a Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Tue, 7 Apr 2026 12:29:29 -0400 Subject: [PATCH 08/10] revert modifications to composer for custom image --- compose/2.4.6/docker-compose.yml | 6 +----- compose/2.4.7/docker-compose.yml | 6 +----- compose/2.4.8/docker-compose.yml | 6 +----- compose/2.4.9/docker-compose.yml | 6 +----- 4 files changed, 4 insertions(+), 20 deletions(-) diff --git a/compose/2.4.6/docker-compose.yml b/compose/2.4.6/docker-compose.yml index 7efb578..a5706ea 100644 --- a/compose/2.4.6/docker-compose.yml +++ b/compose/2.4.6/docker-compose.yml @@ -1,10 +1,6 @@ services: php: - build: - context: ../.. - dockerfile: magento2-devcontainer/docker/php/Dockerfile - args: - BASE_IMAGE: mappia/magento-php:devcontainer8.2 + image: mappia/magento-php:devcontainer8.2 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/compose/2.4.7/docker-compose.yml b/compose/2.4.7/docker-compose.yml index 2301f65..809ee88 100644 --- a/compose/2.4.7/docker-compose.yml +++ b/compose/2.4.7/docker-compose.yml @@ -1,10 +1,6 @@ services: php: - build: - context: ../.. - dockerfile: magento2-devcontainer/docker/php/Dockerfile - args: - BASE_IMAGE: mappia/magento-php:devcontainer8.3 + image: mappia/magento-php:devcontainer8.3 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/compose/2.4.8/docker-compose.yml b/compose/2.4.8/docker-compose.yml index 6316a23..9913144 100644 --- a/compose/2.4.8/docker-compose.yml +++ b/compose/2.4.8/docker-compose.yml @@ -1,10 +1,6 @@ services: php: - build: - context: ../.. - dockerfile: magento2-devcontainer/docker/php/Dockerfile - args: - BASE_IMAGE: mappia/magento-php:devcontainer8.4 + image: mappia/magento-php:devcontainer8.4 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch diff --git a/compose/2.4.9/docker-compose.yml b/compose/2.4.9/docker-compose.yml index f836a35..3fa2964 100644 --- a/compose/2.4.9/docker-compose.yml +++ b/compose/2.4.9/docker-compose.yml @@ -1,10 +1,6 @@ services: php: - build: - context: ../.. - dockerfile: magento2-devcontainer/docker/php/Dockerfile - args: - BASE_IMAGE: mappia/magento-php:devcontainer8.4 + image: mappia/magento-php:devcontainer8.4 environment: - PHP_IDE_CONFIG=serverName=magento - CONFIG__DEFAULT__CATALOG__SEARCH__OPENSEARCH_SERVER_HOSTNAME=opensearch From f71a3ed8cf0ae82ca442845e1f03be42cd697eed Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Tue, 7 Apr 2026 12:31:02 -0400 Subject: [PATCH 09/10] adjust forwardPorts for composer service name --- devcontainer.json.sample | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/devcontainer.json.sample b/devcontainer.json.sample index 2b2b009..4234cab 100644 --- a/devcontainer.json.sample +++ b/devcontainer.json.sample @@ -10,12 +10,11 @@ "service": "php", "forwardPorts": [ "nginx:8000", + "mailpit:8025", 3306, 9200, 5672, - 6379, - 8025, - 1025 + 6379 ], "initializeCommand": "[ -f .devcontainer/magento2-devcontainer/.gitignore ] || (git submodule update --init --recursive)", "portsAttributes": { @@ -34,11 +33,8 @@ "6379": { "label": "Redis/Valkey" }, - "8025": { - "label": "Mailpit UI" - }, - "1025": { - "label": "Mailpit SMTP" + "mailpit:8025": { + "label": "Mailpit" } }, "customizations": { From 533765e2e1492d14c0a7f7c73150140f04813a8a Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Tue, 7 Apr 2026 12:31:36 -0400 Subject: [PATCH 10/10] revert mount for mailpit ini --- docker-compose.shared.yml.sample | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.shared.yml.sample b/docker-compose.shared.yml.sample index 1810a53..d0fdfa0 100644 --- a/docker-compose.shared.yml.sample +++ b/docker-compose.shared.yml.sample @@ -2,7 +2,6 @@ services: php: volumes: - ../:/workspace:cached - - ./magento2-devcontainer/mailpit/mailpit.ini.sample:/usr/local/etc/php/conf.d/mailpit.ini:ro working_dir: /workspace nginx: