mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-16 03:15:23 +02:00
feat: add MailCatcher NG template
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
27
blueprints/mailcatcher-ng/docker-compose.yml
Normal file
27
blueprints/mailcatcher-ng/docker-compose.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
services:
|
||||
mailcatcher-ng:
|
||||
# Only the "latest" tag is published, so the image is pinned by digest
|
||||
# (v2.3.9 of the image, MailCatcher NG 1.6.8).
|
||||
image: stpaquet/alpinemailcatcher:latest@sha256:499c0eabca5e82b23d030706ba9d5b8b27bba5a5f34a43154ee5e68b07cba52c
|
||||
restart: unless-stopped
|
||||
# Same as the image default CMD, plus --persistence so caught mail
|
||||
# survives container restarts (stored in the named volume below).
|
||||
command: sh -c "mailcatcher --foreground --smtp-port=1025 --http-port=1080 --ip=0.0.0.0 --messages-limit=$$MAIL_LIMIT --persistence --no-quit"
|
||||
environment:
|
||||
- MAIL_LIMIT=${MAIL_LIMIT}
|
||||
expose:
|
||||
# SMTP: reachable from other services in the same Dokploy network
|
||||
# at mailcatcher-ng:1025 (intentionally not published on the host).
|
||||
- 1025
|
||||
# Web UI (routed through the domain below)
|
||||
- 1080
|
||||
volumes:
|
||||
- mailcatcher-data:/home/mailcatcher/.mailcatcher
|
||||
healthcheck:
|
||||
test: ['CMD', 'wget', '-q', '--spider', 'http://127.0.0.1:1080']
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
volumes:
|
||||
mailcatcher-data:
|
||||
10
blueprints/mailcatcher-ng/mailcatcher-ng.svg
Normal file
10
blueprints/mailcatcher-ng/mailcatcher-ng.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg class="logo-icon" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="logoGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#0d9488;stop-opacity:1"></stop>
|
||||
<stop offset="100%" style="stop-color:#0f766e;stop-opacity:1"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M 20 30 L 50 55 L 80 30 L 80 75 Q 80 80 75 80 L 25 80 Q 20 80 20 75 Z" fill="url(#logoGradient)"></path>
|
||||
<path d="M 20 30 L 50 55 L 80 30" stroke="white" stroke-width="2" fill="none"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 558 B |
17
blueprints/mailcatcher-ng/meta.json
Normal file
17
blueprints/mailcatcher-ng/meta.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"id": "mailcatcher-ng",
|
||||
"name": "MailCatcher NG",
|
||||
"version": "1.6.8",
|
||||
"description": "MailCatcher NG runs a super simple SMTP server which catches any message sent to it to display in a web interface. Point your app's SMTP settings at mailcatcher-ng:1025 and inspect every captured email in the browser.",
|
||||
"logo": "mailcatcher-ng.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/spaquet/mailcatcher",
|
||||
"website": "https://spaquet.github.io/mailcatcher/",
|
||||
"docs": "https://spaquet.github.io/docker-alpine-mailcatcher/"
|
||||
},
|
||||
"tags": [
|
||||
"email",
|
||||
"smtp",
|
||||
"development"
|
||||
]
|
||||
}
|
||||
13
blueprints/mailcatcher-ng/template.toml
Normal file
13
blueprints/mailcatcher-ng/template.toml
Normal file
@@ -0,0 +1,13 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
|
||||
[config]
|
||||
env = [
|
||||
"MAIL_LIMIT=50",
|
||||
]
|
||||
mounts = []
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "mailcatcher-ng"
|
||||
port = 1_080
|
||||
host = "${main_domain}"
|
||||
Reference in New Issue
Block a user