From 6f41880b6fd5a5d07f46866489685bb339db53c6 Mon Sep 17 00:00:00 2001 From: Toms Sokolovs <50104066+tsokolovs@users.noreply.github.com> Date: Wed, 16 Sep 2026 16:23:09 +0300 Subject: [PATCH] Add recipe for mailtrap/mailtrap-local (#2052) --- mailtrap/mailtrap-local/1.0/manifest.json | 26 ++++++++++++++++++++ mailtrap/mailtrap-local/1.0/post-install.txt | 22 +++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 mailtrap/mailtrap-local/1.0/manifest.json create mode 100644 mailtrap/mailtrap-local/1.0/post-install.txt diff --git a/mailtrap/mailtrap-local/1.0/manifest.json b/mailtrap/mailtrap-local/1.0/manifest.json new file mode 100644 index 00000000..449bfb4c --- /dev/null +++ b/mailtrap/mailtrap-local/1.0/manifest.json @@ -0,0 +1,26 @@ +{ + "docker-compose": { + "docker-compose.override.yml": { + "services": [ + "mailtrap-local:", + " image: mailtrap/mailtrap-local", + " # The Symfony CLI detects a mail catcher by container-internal port, and it", + " # recognizes only 1025 for SMTP together with 1080 or 8025 for the web UI.", + " # Mailtrap Local defaults to 3535 and 3550 and binds loopback only, so the", + " # listeners move here and the non-loopback bind is allowed explicitly.", + " command:", + " - --unsafe-non-loopback", + " - --smtp-listen=0.0.0.0:1025", + " - --http-listen=0.0.0.0:8025", + " - --db=/var/lib/mailtrap-local/db.sqlite3", + " ports:", + " - \"1025\"", + " - \"8025\"", + " labels:", + " # The service is not called \"mailer\", so the prefix is set explicitly to", + " # keep the MAILER_* variables Symfony Mailer expects.", + " com.symfony.server.service-prefix: 'mailer'" + ] + } + } +} diff --git a/mailtrap/mailtrap-local/1.0/post-install.txt b/mailtrap/mailtrap-local/1.0/post-install.txt new file mode 100644 index 00000000..e272470f --- /dev/null +++ b/mailtrap/mailtrap-local/1.0/post-install.txt @@ -0,0 +1,22 @@ + * A mailtrap-local service was added to your Docker Compose configuration. + Start it with docker compose up -d. + + * With the Symfony CLI there is nothing else to do. MAILER_DSN is exposed for + you, and symfony open:local:webmail opens the web UI. + + * Without the Symfony CLI, ask Docker for the published ports. Docker assigns them + at random, in the same way as the symfony/mailer catcher service: + + docker compose port mailtrap-local 1025 # SMTP, for MAILER_DSN + docker compose port mailtrap-local 8025 # web UI + + To pin them instead, replace the two entries under ports: with + "3535:1025" and "3550:8025". Those are Mailtrap Local's own defaults. + + * The symfony/mailer recipe adds its own catcher service, called mailer. + When both services run, both claim the MAILER_ prefix: one becomes + MAILER_DSN and the other becomes MAILER_1_DSN. This is decided when the + containers are created. Keep the one catcher you want, so that MAILER_DSN + always points where you expect. + + * Read the documentation at https://github.com/mailtrap/mailtrap-local