This guide provides a full Ansible playbook to deploy SOGo on Debian 10+, Ubuntu LTS, and RHEL 9+ compatible hosts.
Note: SOGo does not provide an official Docker image. This playbook installs from packages. Third-party Docker images exist but should be verified for security before production use.
- name: Deploy SOGo
hosts: sogo
become: true
vars:
sogo_db_host: localhost
sogo_db_name: sogo
sogo_db_user: sogo
sogo_db_password: generate-secure-password
tasks:
- name: Install SOGo dependencies on Debian/Ubuntu
apt:
name:
- sogo
- memcached
- mariadb-server
- python3-pymysql
state: present
update_cache: true
when: ansible_os_family == "Debian"
- name: Install SOGo dependencies on RHEL family
dnf:
name:
- sogo
- memcached
- mariadb-server
- python3-PyMySQL
state: present
when: ansible_os_family == "RedHat"
- name: Enable and start services
service:
name: "{{ item }}"
state: started
enabled: true
loop:
- memcached
- mariadb
- sogo
- name: Create SOGo database
mysql_db:
name: "{{ sogo_db_name }}"
state: present
- name: Create SOGo database user
mysql_user:
name: "{{ sogo_db_user }}"
password: "{{ sogo_db_password }}"
priv: "{{ sogo_db_name }}.*:ALL"
state: present
- name: Configure SOGo database connection
lineinfile:
path: /etc/sogo/sogo.conf
regexp: "^SOGoProfileURL"
line: "SOGoProfileURL = \"mysql://{{ sogo_db_user }}:{{ sogo_db_password }}@{{ sogo_db_host }}:3306/{{ sogo_db_name }}/sogo_profile\";"
sabaitech/sogo, croessner/sogo) but verify security before production use.Any questions?
Feel free to contact us. Find all contact information on our contact page.