Linux

Where Does SOGo Store Config and Data?

Where SOGo keeps its main config file, what the GNUstep plist format demands, and where user data actually lives.

Last updated

SOGo keeps server behavior in one file, /etc/sogo/sogo.conf, written as a GNUstep serialized property list. System and domain defaults live there in nested dictionaries. Per-user preferences and all appointments, contacts, and tasks live in the SQL database instead.

The format punishes sloppiness: everything wraps in a root dictionary, C-style comments work, and one missing semicolon stops the service. Docker images mount this differently, often initializing from /srv, but the packaged installs all point at /etc/sogo. Keep the conf file and a database dump together for a restorable backup.

Where SOGo stores this, by platform

Linux
/etc/sogo/sogo.conf

GNUstep plist holding system and domain defaults that cascade to users. Validate edits with plparse before restarting. User content sits in the SQL database, not here, so pair every conf backup with a database dump. Docker setups may initialize from /srv instead.

Frequently asked questions

how do I change SOGo settings

Edit /etc/sogo/sogo.conf with a text editor and restart the service. The file is a GNUstep property list wrapped in one root dictionary, so every value ends with a semicolon. Run plparse against it when SOGo refuses to start over a syntax slip.

where are SOGo calendars and contacts stored

In the database: Postgres, MySQL, or Oracle holds appointments, contacts, tasks, and per-user preferences. The config file holds system and domain defaults that cascade downward. Back up the database for user data and the conf file for server behavior.

does SOGo encrypt stored credentials

Set the two secret parameters in sogo.conf to enable AES-GCM encryption of sensitive database fields. Without them, SOGo stores that data in plain text by default. This matters most for deployments other admins can inspect.

Notice an outdated path? Let us know.