52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
mailhog:
|
|
image: mailhog/mailhog:latest
|
|
ports:
|
|
- "1025:1025" # SMTP port
|
|
- "8025:8025" # UI/API port
|
|
environment:
|
|
- MH_HOSTNAME=mailhog.docker.local
|
|
- MH_SMTP_BIND_ADDR=0.0.0.0:1025
|
|
- MH_UI_BIND_ADDR=0.0.0.0:8025
|
|
- MH_API_BIND_ADDR=0.0.0.0:8025
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8025/api/v1/status"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
# Optional: MongoDB for persistent storage
|
|
mongodb:
|
|
image: mongo:latest
|
|
ports:
|
|
- "27017:27017"
|
|
environment:
|
|
- MONGO_INITDB_DATABASE=mailhog
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
- ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
|
|
restart: unless-stopped
|
|
|
|
# Optional: Application that uses MailHog
|
|
app:
|
|
build: .
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=development
|
|
- SMTP_HOST=mailhog
|
|
- SMTP_PORT=1025
|
|
- MAILHOG_URL=http://mailhog:8025
|
|
depends_on:
|
|
- mailhog
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
command: npm run dev
|
|
|
|
volumes:
|
|
mongodb_data: |