mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-09-18 10:32:55 +02:00
mailserver: add broken sogo
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
---
|
||||
sogo_db_name: "sogo"
|
||||
sogo_db_user: "sogo"
|
||||
sogo_db_password: "{{ vault_sogo_db_password }}"
|
||||
|
||||
sogo_imap_server: "127.0.0.1"
|
||||
sogo_smtp_server: "127.0.0.1"
|
||||
sogo_mail_domain: "rubenhensen.nl"
|
||||
|
||||
sogo_time_zone: "Europe/Amsterdam"
|
||||
sogo_page_title: "Mail - rubenhensen.nl"
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: restart sogo
|
||||
ansible.builtin.systemd:
|
||||
name: sogo
|
||||
state: restarted
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
- 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
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
SOGoTimeZone = "{{ sogo_time_zone }}";
|
||||
SOGoPageTitle = "{{ sogo_page_title }}";
|
||||
SOGoLanguage = "English";
|
||||
|
||||
SOGoMailDomain = "{{ sogo_mail_domain }}";
|
||||
SOGoIMAPServer = "imaps://{{ sogo_imap_server }}:993/?tls=YES&tlsVerifyMode=none";
|
||||
SOGoSMTPServer = "smtp://{{ sogo_smtp_server }}:587/?tls=YES&tlsVerifyMode=none";
|
||||
SOGoSMTPAuthenticationType = "PLAIN";
|
||||
SOGoIMAPAclConformsToIMAPExt = YES;
|
||||
SOGoForceExternalLoginWithEmail = YES;
|
||||
|
||||
SOGoUserSources = (
|
||||
{
|
||||
type = sql;
|
||||
id = directory;
|
||||
viewURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/stalwart/sogo_users";
|
||||
canAuthenticate = YES;
|
||||
isAddressBook = NO;
|
||||
LoginFieldNames = ("mail");
|
||||
userPasswordAlgorithm = "sha512-crypt";
|
||||
}
|
||||
);
|
||||
|
||||
SOGoProfileURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_sessions_folder";
|
||||
OCSEMailAlarmsFolderURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_alarms_folder";
|
||||
OCSStoreURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_store";
|
||||
OCSAclURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_acl";
|
||||
OCSCacheFolderURL = "postgresql://{{ sogo_db_user }}:{{ sogo_db_password }}@127.0.0.1:5432/{{ sogo_db_name }}/sogo_cache_folder";
|
||||
|
||||
SOGoAppointmentSendEMailNotifications = YES;
|
||||
SOGoEnableEMailAlarms = YES;
|
||||
|
||||
SOGoMemcachedHost = "127.0.0.1";
|
||||
|
||||
SOGoCalendarDefaultRoles = (
|
||||
PublicViewer,
|
||||
ConfidentialDAccessor
|
||||
);
|
||||
|
||||
SOGoSuperUsernames = ("admin");
|
||||
SOGoFirstDayOfWeek = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user