gutmensch / docker-dmarc-report

211 stars 23 forks source link

Is it possible to use the existing MariaDB package on a Synology DiskStation instead of the MariaDB docker container? #24

Closed hoorna closed 1 year ago

hoorna commented 1 year ago

I am trying to run a docker-dmarc-report container on my Synology DiskStation. On this NAS I have a MariaDB instance already running with a mysqld10.socket file. Is it possible to connect to this database system from the dmarc-report container (with the mentioned socket name)? I tried to but with no luck.

gutmensch commented 1 year ago

Heyho, that’s a very good question but unfortunately not too easy to answer. You would need to check if the perl module DBD::mysql for the parser and the php 8.1 pdo mysql module for the viewer accept sockets. If yes, then the functions in both apps might still not be ready to get a socket as input. It might be a lot easier to just change your syno mysql to add a listen address on the default instance or install another instance via app store.

hoorna commented 1 year ago

Thanks for your reply and your suggestions. Unfortunately it is not possible to change the listen (or add an extra) address on the syno in a easy manner. Installing another MariaDB instance on the syno is also impossible.

I think my creative idea ends here. Thanks again for your support.

tannyl commented 1 year ago

@hoorna why do you need to connect via the socket file?

It is easy to connect to the MariaDB package on a DiskStation while running dmarc-report on said NAS as a Docker container.

To make it work you simply just create an Docker network with a fixed gateway IP address. And of course connect the dmarc-report container to this network. image

And then note what what port the DB is set to use image

and then connect to this IP and port from inside the dmarc-report container. image

You can also connect to the Mail server package on the NAS this way.

gutmensch commented 1 year ago

Good pointers, thank you @tannyl !

hoorna commented 1 year ago

@tannyl, Thank you very much for your tips in the right direction. Your pictures have helped also a lot with solving the issue.

Somehow I thought it was necessary to connect to a MariaDB 10 socket file. With the help of your tips, that turns out not to be necessary at all. After some glitches, I finally got docker-dmarc-report working on my Synology NAS.

After I implemented your tips, there were two issues I ran into. The first was that docker-dmarc-report was able to connect to the MariaDB 10 package but access to the dmarc database was denied. I had manually created the dmarc database in MariaDB 10 using the phpMyAdmin package. During that creation I had (unknowingly) restricted access to the database to only localhost (ie the NAS itself). After in phpMyAdmin I had given the IP address permission to the docker-dmarc-report network the connection to the dmarc database worked immediately and two tables were automatically created in the dmarc database.

Then I ran into the following problem. I have my own domain name and I have an account with Google for that domain name. Now I had created a dmarc mailbox on that account, specifically for the dmarc emails. However, I was unable to connect docker-dmarc-report to this mailbox. In the end I succeeded by setting the environment variable PARSER_IMAP_TLS to 0 and the variable PARSER_IMAP_SSL to 1. In addition in my Google account (menu item Security) I had to give permission to less secure apps to connect to my account.

Now docker-dmarc-report works fine and can view its web page. :-) @tannyl thanks again for your outstanding tips and help!