This dockerized stack is mainly utilizing the parsedmarc project.
- parsedmarc to parse DMARC reports
- OpenSearch to store data
- Grafana to visualize data
-
Create a mailbox as target for the DMARC reports
-
Configure your SPF, DKIM & DMARC DNS-records
-
DMARC:
TXT _dmarc.<DOMAIN>.<TLD>
Test Example:
v=DMARC1; p=none; rua=mailto:dmarc@oxl.at; ruf=mailto:dmarc@oxl.at; sp=none; adkim=s; aspf=s; fo=1;
Active Example:
v=DMARC1; p=quarantine; rua=mailto:dmarc@oxl.at; ruf=mailto:dmarc@oxl.at; sp=quarantine; adkim=s; aspf=s; fo=1;
-
-
Change the data owner UID inside the
Dockerfile_opensearch
anddocker-compose.yml
if needed -
Create the data directory and change its owner:
mkdir -p ./data/opensearch ./data/grafana chown ${OWNER}:${OWNER} ./data
-
Change options inside the
docker-compose.yml
as needed -
Configure settings inside the
parsedmarc.ini
as needed -
Start:
docker compose -f docker-compose.yml up
-
Check for error logs - you may have configuration issues
-
Access the web interface: http://localhost:3000 - the default login is
admin/admin
docker compose -f docker-compose.yml up --build --force-recreate --no-deps