in the following folder:
/opt/mailcow-dockerized/mailcow-dockerized/data/conf/postfix/

In the main.cf I have the following entries:

smtpd_tls_cert_file = /etc/ssl/mail/cert.pem
smtpd_tls_key_file = /etc/ssl/mail/key.pem
tls_server_sni_maps = hash:/opt/postfix/conf/sni.map

There is no /etc/ssl/mail folder on my system
There is no /opt/postfix/ folder on my system.

My mailcow is running just fine.

How does this work?
Thanks

Mailcow uses Docker volumes to make local folders available inside containers.

All your configuration is in /opt/mailcow-dockerized (if you followed the default installation instructions). In docker-compose.yml, e.g. the following volume is set for Postfix:
./data/assets/ssl:/etc/ssl/mail/:ro,z

GitHub Icon mailcow-dockerized/docker-compose.yml at e691d2c78216c2628d9a08abe6f6f63c45802f87 · mailcow/mailcow-dockerized

This means /etc/ssl/mail inside the container is mapped to ./data/assets/ssl in your mailcow folder, set to read-only.

The same goes for the other folder you mentioned.

    Have something to say?

    Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

    accolon
    First I don’t have a .data folder . Mine is just called data.

    I would like to note that mailcow is installed on a arch linux machine.
    It is working just fine and I installed it per the instructions.

    Here is the tree of my /opt folders:

    [demo@mail opt]$ ls -la
    total 20
    drwxr-xr-x  5 root root 4096 May 13 09:13 .
    drwxr-xr-x 18 root root 4096 Apr 21 03:13 ..
    drwx--x--x  4 root root 4096 May  7 10:56 containerd
    drwxr-xr-x  3 root root 4096 May  7 10:49 mailcow-dockerized
    drwxr-xr-x  5 root root 4096 May 13 09:13 sublime_text
    
    [demo@mail mailcow-dockerized]$ ls -la
    total 12
    drwxr-xr-x 3 root root 4096 May  7 10:49 .
    drwxr-xr-x 5 root root 4096 May 13 09:13 ..
    drwxr-xr-x 7 root root 4096 May 31 10:02 mailcow-dockerized
    
    [demo@mail mailcow-dockerized]$ cd mailcow-dockerized/
    [demo@mail mailcow-dockerized]$ ls -la
    total 196
    drwxr-xr-x 7 root root  4096 May 31 10:02 .
    drwxr-xr-x 3 root root  4096 May  7 10:49 ..
    -rw-r--r-- 1 root root  3223 May  7 10:49 CODE_OF_CONDUCT.md
    -rw-r--r-- 1 root root  1003 May  7 10:49 CONTRIBUTING.md
    -rwxr-xr-x 1 root root   174 May  7 10:49 create_cold_standby.sh
    drwxr-xr-x 7 root root  4096 May  7 10:49 data
    -rw-r--r-- 1 root root 22564 May 31 10:01 docker-compose.yml
    -rw-r--r-- 1 root root   414 May  7 10:49 .editorconfig
    lrwxrwxrwx 1 root root    12 May  7 10:49 .env -> mailcow.conf
    -rwxr-xr-x 1 root root 18578 May  7 10:49 generate_config.sh
    drwxr-xr-x 8 root root  4096 May 31 10:01 .git
    drwxr-xr-x 4 root root  4096 May  7 10:49 .github
    -rw-r--r-- 1 root root  1774 May  7 10:49 .gitignore
    drwxr-xr-x 3 root root  4096 May 31 10:01 helper-scripts
    -rw-r--r-- 1 root root 35141 May  7 10:49 LICENSE
    -rw------- 1 root root  8467 May 31 10:02 mailcow.conf
    -rwxr-xr-x 1 root root   126 May 22 09:40 netfilter.sh
    -rw-r--r-- 1 root root  1908 May  7 10:49 README.md
    -rw-r--r-- 1 root root  1737 May  7 10:49 SECURITY.md
    drwxr-xr-x 2 root root  4096 May 31 09:59 update_diffs
    -rwxr-xr-x 1 root root 44366 May 26 14:18 update.sh
    
    [demo@mail mailcow-dockerized]$ cd data
    [demo@mail data]$ ls -la
    total 28
    drwxr-xr-x  7 root root 4096 May  7 10:49 .
    drwxr-xr-x  7 root root 4096 May 31 10:02 ..
    drwxr-xr-x  8 root root 4096 May  7 10:53 assets
    drwxr-xr-x 11 root root 4096 May  7 10:49 conf
    drwxr-xr-x 16 root root 4096 May  7 10:49 Dockerfiles
    drwxr-xr-x  8 root root 4096 May  7 10:49 hooks
    drwxr-xr-x 12 root root 4096 May  7 11:00 web
    
    [demo@mail data]$ cd assets
    [demo@mail assets]$ ls -la
    total 32
    drwxr-xr-x 8 root root 4096 May  7 10:53 .
    drwxr-xr-x 7 root root 4096 May  7 10:49 ..
    drwxr-xr-x 2 root root 4096 May  7 10:49 mysql
    drwxr-xr-x 2 root root 4096 May  7 10:49 nextcloud
    drwxr-xr-x 2 root root 4096 May  7 10:49 passwd
    drwxr-xr-x 4 root root 4096 Jun 16 12:14 ssl
    drwxr-xr-x 2 root root 4096 May  7 10:49 ssl-example
    drwxr-xr-x 2 root root 4096 May  7 10:49 templates
    
    [demo@mail assets]$ cd ssl
    [demo@mail ssl]$ ls -la
    total 32
    drwxr-xr-x 4 root root 4096 Jun 16 12:14 .
    drwxr-xr-x 8 root root 4096 May  7 10:53 ..
    drwxr-xr-x 2 root root 4096 May  7 11:04 acme
    -rw-r--r-- 1 root root 5946 Jun 16 12:14 cert.pem
    -rw-r--r-- 1 root root  424 May  7 10:53 dhparams.pem
    -rw------- 1 root root 3272 Jun 16 12:14 key.pem
    drwxr-xr-x 2 root root 4096 May  7 11:05 mail.dccathome.com
    

    It’s ./data, not .data.

    . represents the current directory.

    No offense, but I don’t understand why people without even basic knowledge of Linux and command line try to run a public mail server on a distribution like Arch…

      accolon No offense taken but in Linux there is a difference between .data and data and Data and DATA
      That comment does not help me or answers my question.
      As you can see from my output I don’t have the etc folder anywhere.

        maybl8 No offense taken but in Linux there is a difference between .data and data and Data and DATA

        He didn’t write .data, he wrote ./data, which is a small but important difference. The full path to the folder you’re looking for is /opt/mailcow-dockerized/data/assets/ssl.

          mlcwuser whatever from the directory listings above I don’t have etc dir anywhere under the /opt folders. Not that I can find anyway.

            maybl8 because /etc/ssl/mail/ is the path in the container to which /opt/mailcow-dockerized/data/assets/ssl will be mapped.

              mlcwuser So maybe I need to ask the question. How do I see the path in the container?
              Is that the correct question? Because I don’t see etc/ssl/mail

                maybl8
                docker exec -t -i mailcowdockerized-postfix-mailcow-1 /bin/bash
                ls /etc/ssl/mail

                You should then see exatcley the same files as in /opt/mailcow-dockerized/data/assets/ssl on your local file system.

                I am going to do some more research. That command line was what I was looking for. That helps
                My /opt does not get me to the same place. I get 2 different folder lists when I do a ls or ls -la in each of those places.
                Thanks for your help . I will take it from here.

                No one is typing