46 lines
1.1 KiB
YAML
46 lines
1.1 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
# Build and run the mailarchive daemon
|
|
mailarchive:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dev
|
|
container_name: mailarchive
|
|
ports:
|
|
- "8080:8080" # Web UI + REST API
|
|
- "2525:2525" # SMTP gateway
|
|
volumes:
|
|
- maildata:/var/lib/mailarchive
|
|
- maillogs:/var/log/mailarchive
|
|
- ./config/config.yml:/etc/mailarchive/config.yml:ro
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-sf", "http://localhost:8080/api/health"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
# Send a test mail to the SMTP gateway
|
|
mailtest:
|
|
image: alpine:latest
|
|
depends_on:
|
|
mailarchive:
|
|
condition: service_healthy
|
|
command: >
|
|
sh -c "
|
|
apk add --no-cache swaks &&
|
|
swaks
|
|
--to archive@example.com
|
|
--from sender@example.com
|
|
--server mailarchive:2525
|
|
--header 'Subject: Test Invoice 001'
|
|
--body 'Please find attached the invoice.' &&
|
|
echo 'Test mail sent!'
|
|
"
|
|
profiles: ["test"]
|
|
|
|
volumes:
|
|
maildata:
|
|
maillogs:
|