mirror of
https://github.com/gutmensch/docker-dmarc-report.git
synced 2025-12-18 02:06:23 +00:00
docker-dmarc-report 
This image is intended to combine a dmarc report parser (see https://github.com/techsneeze/dmarcts-report-parser by TechSneeze.com and John Bieling) with a report viewer (see https://github.com/techsneeze/dmarcts-report-viewer/ by the same people) into a runnable docker image / microservice.
It fetches dmarc report mails regularly from an IMAP server, stores them into a MySQL DB and visualizes them via Webserver/PHP module.
Howto
- Create a _dmarc.example.com TXT DNS record for your domain, containg an IMAP postbox, e.g.
17:18 $ dig TXT _dmarc.schumann.link +short
"v=DMARC1\; p=quarantine\; fo=1\; rua=mailto:dmarc@schumann.link\; ruf=mailto:dmarc@schumann.link\; adkim=s\; aspf=s\;"
- Create a MySQL Database and a user for this service
- Run this docker image with below mentioned env vars
- Access port 80 on the container (or 443) or put it behind a reverse proxy to view reports
docker pull gutmensch/dmarc-report
docker run -e ... -ti gutmensch/dmarc-report
Versions for last build latest
dmarcts report viewer: 2019-01-04
dmarcts report parser: 2019-01-04
Sample docker compose / Environment variables
The variables should be self-explanatory. Make sure to create the DB and IMAP folders before the cron job runs!
dmarc-report:
image: "gutmensch/dmarc-report:latest"
hostname: dmarc-report
container_name: dmarc-report
environment:
- "REPORT_DB_HOST=mysql"
- "REPORT_DB_NAME=dmarc_report"
- "REPORT_DB_USER=dmarc_report"
- "REPORT_DB_PASS=foobar"
- "PARSER_IMAP_SERVER_WITH_PORT=mail:143"
- "PARSER_IMAP_USER=foobar@example.com
- "PARSER_IMAP_PASS=foobar"
- "PARSER_IMAP_READ_FOLDER=Inbox"
- "PARSER_IMAP_MOVE_FOLDER=processed"
Optional extended configuration
Use SSL instead of default TLS. Set both to 0 to turn off encryption. (not recommended)
- "PARSER_IMAP_SSL=1"
- "PARSER_IMAP_TLS=0"
Description
Languages
Dockerfile
53.1%
Shell
35.5%
PHP
11.4%