Groupware (Calendars & Contacts)¶
The groupware add-on extends email with calendars and contacts (CalDAV/CardDAV) powered by SOGo — an optional package tier that runs beside the existing mail stack (Postfix/Dovecot). Email stays in Dovecot unchanged; groupware only adds calendars/contacts over open standards.
SOGo is the standard webmail¶
SOGo is enconf's only webmail interface (it replaces Roundcube — one engine, less maintenance). Two things to keep apart:
- Webmail (always on): Every mailbox signs in to SOGo at
webmail.<domain>,mail.<domain>, or the panel's /webmail — with the same credentials as for mail. No package permission is required. - Groupware tier (optional): Calendars, contacts and tasks (CalDAV/CardDAV) per mailbox, gated by the Groupware package permission (see below).
Automatic migration from Roundcube¶
- Fresh installs ship with SOGo from the start — Roundcube is no longer installed.
- Existing installs are migrated automatically and losslessly on update: every Dovecot mailbox is provisioned into SOGo, and personal contacts (address book) plus the sender display name are carried over. Only once all mailboxes are migrated does the server switch the webmail addresses to SOGo, take a backup of the Roundcube database, and remove Roundcube.
- Safe by construction: Roundcube is never removed while any mailbox is unmigrated or while the panel package still depends on it — the cutover completes itself on the next start. Email is left untouched in Dovecot.
What groupware provides¶
- Calendars (CalDAV) and address books (CardDAV) per mailbox
- Zero-touch setup in common clients (Thunderbird, eM Client, Apple) — no need to configure each account by hand
- Shared calendars/contacts for teams via SOGo's own sharing UI
- Runs per server (multiserver): each instance uses the local Dovecot + an isolated local database
Isolation & security
The groupware database is isolated per server (its own PostgreSQL user, REVOKE
CONNECT). Authentication is delegated to Dovecot — no extra password hashes are
duplicated.
Enabling¶
SOGo is installed and configured automatically on agent startup on every mail server (Dovecot required) — there is no manual server-side enable step, and no separate toggle for it in the admin area.
1. Package permission¶
In the package (Admin → Packages) enable the Groupware permission and optionally set Max. groupware accounts (0 = unlimited). Without it the customer never sees the Groupware menu item.
2. Per mailbox¶
In the customer area under Groupware, the customer enables calendars/contacts per mailbox and gets the Connect buttons (Apple profile, copyable CalDAV URL). That's the last step — SOGo itself is already running by this point.
Zero-touch discovery¶
For internally managed DNS the panel auto-creates the RFC 6764 records:
| Record | Purpose |
|---|---|
groupware.<domain> A |
Groupware host |
_caldavs._tcp SRV + TXT |
Calendar auto-discovery |
_carddavs._tcp SRV + TXT |
Contact auto-discovery |
Customers with external DNS see the required records plus a live check in the customer area (per-domain DNS check).
Apple devices get a signed .mobileconfig profile that sets up mail and
calendars/contacts in one step.
Measuring load¶
Under Admin → System, the per-service load panel shows a dedicated groupware bucket (CPU/RAM), so the extra load from SOGo is always visible.
Team sharing¶
Shared calendars and contacts are shared directly in SOGo's web UI (right-click a calendar/address book → Share → user + rights). This runs inside SOGo and needs no separate panel configuration.
Team Mailboxes (shared mail folders)¶
In addition to calendar/contact sharing via SOGo (see above), the panel supports
shared mailboxes — a team member reads/writes directly in another mailbox's
inbox, e.g. a shared support@domain.com. This runs on Dovecot's native ACL system
(IMAP) and is independent of SOGo/calendars.
Requirement
Team Mailboxes require Dovecot 2.4 (Debian 13). The permission is tied to the same Groupware package tier as calendars/contacts — there's no separate limit on the number of teams; the package's mailbox limit applies implicitly.
Setting it up¶
- Admin → Packages: enable the Groupware permission (if not already done — same prerequisite as calendars/contacts).
- Customer area → Groupware: in the Team Mailboxes section, click Create Team, give it a name, and pick an existing mailbox as the shared mailbox — its entire inbox is shared, not a single sub-folder.
- Use Add Member to grant another mailbox from the same subscription read only or full access rights.
For the customer: no client setup needed¶
Members log in with their own, normal IMAP credentials (Thunderbird, Apple Mail, Outlook — any client). The shared folder appears automatically in the folder tree, typically under its own namespace node ("Shared Folders" / "Other Users") — no second password, no separate account, no manual configuration.
Removing a member / deleting a team¶
Removing a member only revokes that one person's access grant — every other member keeps theirs. Deleting a team revokes every membership individually; the mailbox itself and its inbox are never touched — nothing gets deleted, only shared access is withdrawn.