mailcow / mailcow-ansiblerole

The official ansible role to setup mailcow using Ansible
GNU General Public License v3.0
76 stars 51 forks source link

add the mailcow__docker_compose_override_file role parameter #42

Open hmb opened 1 year ago

hmb commented 1 year ago

For big mail databases we needed to move the mailstore onto some external volume, while keeping the other docker volumes on fast NVME. Here a docker-compose.override.yml file comes in handy, to specify that the vmail volume is an external one.

In order to deploy a (any) customized docker-compose.override.yml file, we added a parameter mailcow__docker_compose_override_file to specify an external file to the mailcow.mailcow role. If the parameter is set, the file will be copied as docker-compose.override.yml into the mailcow__install_path.

If the parameter is not given, the role behaves just as before. Of course the override file can be used to implement any desired customization. To use the parameter something like {{playbook_dir}} comes in handy, e.g.:

mailcow__docker_compose_override_file: "{{playbook_dir}}/files/my.docker-compose.override.yml"

We hope, that you will find this useful and will accept the pull request.

thwint commented 9 months ago

I like the idea, but I think a template is much more flexible than a static yaml file copied to the target system.

hmb commented 9 months ago

I agree, good idea - I'll change it to a template and test it again.