mailserver: add broken sogo

This commit is contained in:
Ruben Hensen
2026-03-15 10:58:50 +01:00
parent 9581f1bb3e
commit c8055467d6
21 changed files with 601 additions and 44 deletions
@@ -19,4 +19,55 @@
ansible.builtin.service:
name: "{{ stalwart_service_name }}"
state: "{{ stalwart_service_state }}"
enabled: "{{ stalwart_service_enabled }}"
enabled: "{{ stalwart_service_enabled }}"
- name: Flush handlers to ensure Stalwart is running
ansible.builtin.meta: flush_handlers
- name: Wait for Stalwart API
ansible.builtin.wait_for:
port: 8080
host: 127.0.0.1
delay: 2
timeout: 30
- name: Read TLS certificate
ansible.builtin.slurp:
src: "{{ stalwart_tls_cert }}"
register: tls_cert_content
- name: Read TLS private key
ansible.builtin.slurp:
src: "{{ stalwart_tls_key }}"
register: tls_key_content
- name: Push TLS certificate to Stalwart
ansible.builtin.uri:
url: "http://127.0.0.1:8080/api/settings"
method: POST
user: "{{ stalwart_fallback_admin_login }}"
password: "{{ stalwart_fallback_admin_password }}"
force_basic_auth: true
body_format: json
body:
- type: "insert"
assert_empty: false
values:
- - "certificate.default.cert"
- "{{ tls_cert_content.content | b64decode }}"
- - "certificate.default.private-key"
- "{{ tls_key_content.content | b64decode }}"
- - "certificate.default.default"
- "true"
- - "server.tls.certificate"
- "default"
status_code: [200, 204]
- name: Reload Stalwart to apply certificate
ansible.builtin.uri:
url: "http://127.0.0.1:8080/api/reload"
method: GET
user: "{{ stalwart_fallback_admin_login }}"
password: "{{ stalwart_fallback_admin_password }}"
force_basic_auth: true
status_code: [200, 204]
@@ -21,6 +21,37 @@
group: "{{ stalwart_system_group }}"
mode: "0755"
- name: Create Stalwart database user
become: true
become_user: postgres
community.postgresql.postgresql_user:
name: "{{ stalwart_db_user }}"
password: "{{ stalwart_db_password }}"
when: stalwart_directory_type == "sql"
- name: Create Stalwart database
become: true
become_user: postgres
community.postgresql.postgresql_db:
name: "{{ stalwart_db_name }}"
owner: "{{ stalwart_db_user }}"
when: stalwart_directory_type == "sql"
- name: Deploy database schema
ansible.builtin.copy:
src: schema.sql
dest: /tmp/stalwart-schema.sql
mode: "0644"
when: stalwart_directory_type == "sql"
- name: Apply database schema
become: true
become_user: postgres
ansible.builtin.command:
cmd: psql -d {{ stalwart_db_name }} -f /tmp/stalwart-schema.sql
changed_when: false
when: stalwart_directory_type == "sql"
- name: Check if already installed
ansible.builtin.stat:
path: "{{ stalwart_executable_path }}"