Files
server_cloud_ladkau_de/ansible/roles/mail/tasks/main.yml
T
ml 7c690be891 Fix Dovecot passwd-file format and document mbox mail import
- passwd.j2: append '::::::' so entries have full 8-field passwd format.
  Without this Dovecot's userdb lookup fails ('user is missing userdb
  info') even though passdb auth succeeds, causing login to return 401.
- main.yml: fix passwd file mode from 0640 to 0644 so Dovecot can read it.
- Add runbook-mail-import.md: full procedure for migrating mbox-format mail
  (old Dovecot server with ~/mail/ flat files) to Maildir++ including the
  conversion script that handles fetchmail >From envelope lines.
- runbook-configuration.md: reference new runbook in the mail import section.
2026-07-01 06:58:25 +02:00

77 lines
1.6 KiB
YAML

---
- name: Create mail data directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: root
group: root
mode: "0755"
loop:
- "{{ mail_data_dir }}"
tags: mail
- name: Create Roundcube database directory (postgres UID 999)
ansible.builtin.file:
path: "{{ mail_data_dir }}/db"
state: directory
owner: "999"
group: "999"
mode: "0700"
tags: mail
- name: Create Dovecot maildir (vmail UID 5000)
ansible.builtin.file:
path: "{{ mail_data_dir }}/maildir"
state: directory
owner: "5000"
group: "5000"
mode: "0755"
tags: mail
- name: Deploy Dovecot config
ansible.builtin.template:
src: dovecot.conf.j2
dest: "{{ mail_data_dir }}/dovecot.conf"
owner: root
group: root
mode: "0644"
notify: Restart mail
tags: mail
- name: Deploy Dovecot passwd file
ansible.builtin.template:
src: passwd.j2
dest: "{{ mail_data_dir }}/passwd"
owner: root
group: root
mode: "0644"
notify: Restart mail
tags: mail
- name: Deploy fetchmail config
ansible.builtin.template:
src: fetchmailrc.j2
dest: "{{ mail_data_dir }}/fetchmailrc"
owner: root
group: root
mode: "0600"
notify: Restart mail
tags: mail
- name: Deploy Docker Compose file
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ mail_data_dir }}/docker-compose.yml"
owner: root
group: root
mode: "0644"
notify: Restart mail
tags: mail
- name: Start mail stack
community.docker.docker_compose_v2:
project_src: "{{ mail_data_dir }}"
state: present
pull: missing
tags: mail