From 1cfd281fbe6484506617f05836e085f99dd52c22 Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Thu, 12 Feb 2026 22:37:56 +0100 Subject: [PATCH 1/5] 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 7a0c989..decfd84 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 a0fe8af..8a542d6 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 ba35a07..8e93051 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 f8036e2..d4c625e 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 762351ec79b61feeb6ddb87b9c7fa936d8122959 Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 21:39:41 +0100 Subject: [PATCH 2/5] 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 2cf1f94..bc653f0 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 c198a1bad0542ffb9b01768d88e5e774023a10ad Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 22:35:22 +0100 Subject: [PATCH 3/5] 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 decfd84..49beb3b 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 8a542d6..85142d2 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 8e93051..4003462 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 d4c625e..f0ac615 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 02075760b5125455757b278c793b92ae79555d45 Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 22:35:33 +0100 Subject: [PATCH 4/5] 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 bc653f0..6100bc7 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 c91802447c189525809146249d3febade709b5f1 Mon Sep 17 00:00:00 2001 From: Thijs Jan Zijlstra Date: Tue, 17 Feb 2026 22:35:48 +0100 Subject: [PATCH 5/5] 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