--- - name: Install PostgreSQL ansible.builtin.apt: name: - postgresql - postgresql-client - python3-psycopg2 state: present - name: Ensure PostgreSQL is running ansible.builtin.systemd: name: postgresql enabled: true state: started - name: Create SOGo database user become: true become_user: postgres community.postgresql.postgresql_user: name: "{{ sogo_db_user }}" password: "{{ sogo_db_password }}" - name: Create SOGo database become: true become_user: postgres community.postgresql.postgresql_db: name: "{{ sogo_db_name }}" owner: "{{ sogo_db_user }}" - name: Grant SOGo user read access to Stalwart accounts become: true become_user: postgres community.postgresql.postgresql_privs: database: "stalwart" roles: "{{ sogo_db_user }}" type: table objs: accounts,emails privs: SELECT - name: Download SOGo repository key ansible.builtin.shell: cmd: > wget -qO- "https://keys.openpgp.org/vks/v1/by-fingerprint/74FFC6D72B925A34B5D356BDF8A27B36A6E2EAE9" | gpg --dearmor > /etc/apt/trusted.gpg.d/sogo.gpg creates: /etc/apt/trusted.gpg.d/sogo.gpg - name: Add SOGo nightly repository ansible.builtin.apt_repository: repo: "deb https://packages.sogo.nu/nightly/5/ubuntu/ {{ ansible_facts['distribution_release'] }} {{ ansible_facts['distribution_release'] }}" filename: sogo state: present - name: Install SOGo and dependencies ansible.builtin.apt: name: - sogo - sogo-activesync - sope4.9-gdl1-postgresql state: present update_cache: true - name: Disable Apache (installed as SOGo dependency, Nginx is used instead) ansible.builtin.systemd: name: apache2 enabled: false state: stopped failed_when: false - name: Deploy SOGo configuration ansible.builtin.template: src: sogo.conf.j2 dest: /etc/sogo/sogo.conf owner: sogo group: sogo mode: "0640" notify: restart sogo - name: Enable and start SOGo ansible.builtin.systemd: name: sogo enabled: true state: started - name: Enable and start memcached ansible.builtin.systemd: name: memcached enabled: true state: started