Home · Volume 2 · Chapter 06

📖 Chapter 06 — Calendar & Contacts

The family calendar that everyone actually uses. Plus contacts that sync everywhere.

v0.1 · draft Vol 2 · Ch 06
~12 min

Learning Objectives

Why Nextcloud

Nextcloud is a self-hosted productivity platform. It does:

For a family, the killer feature is the calendar: a shared family calendar that everyone can read and write to, with events syncing to every phone automatically. No more "what's happening this weekend?" WhatsApp messages.

Install Nextcloud

From Volume 1, Chapter 08: Nextcloud is in the apps catalog. Install it with the standard TrueNAS app settings. Storage location: /mnt/tank/Apps/nextcloud. Database: the default SQLite is fine for a family of 4; PostgreSQL is better if you expect to use the file-sync features heavily.

Initial admin setup

  1. Open Nextcloud at http://<nas>:<port>.
  2. Create the admin user (separate from your TrueNAS admin).
  3. Set the data folder: /mnt/tank/Apps/nextcloud/data.
  4. Complete the setup wizard.

Create the family users

In Nextcloud, go to Users and create one account per family member. Use the same usernames as your TrueNAS users (consistency helps).

Set a reasonable quota (10-50 GB is plenty for calendar/contacts; if you're using the file sync too, more). The conversation's recommendation: 50 GB per user, more if you're using Nextcloud as your primary file sync.

Create the family calendar

Logged in as the admin (or any user), go to Calendar. Create a new calendar called Family. In the calendar settings:

Now, every family member can add events to the Family calendar. Everyone's events appear on everyone's phone. No more "did you book the plumber?"

Sub-calendars for separation

Beyond the family calendar, common sub-calendars:

Each user can subscribe to the calendars they want to see. Most families end up with: Family + Personal + Work/School. That's it. Don't over-engineer.

Create the shared contacts

Nextcloud's Contacts app lets you have multiple address books. Create:

When grandma calls, every family member's phone shows "Grandma" instead of a number. When the plumber calls back, the family has his number even if only one person originally called him.

Connecting devices: the protocols

Nextcloud's calendar and contacts use two open standards:

The benefit of open standards: every device that supports calendars or contacts supports CalDAV and CardDAV. You don't need to install a "Nextcloud app" on your phone — your phone's built-in calendar and contacts apps just work.

From iOS / iPadOS

  1. Settings → Calendar → Accounts → Add Account → Other → Add CalDAV Account.
  2. Server: https://<your-nas>/nextcloud/remote.php/dav (or whatever your Nextcloud URL is).
  3. Username and password: the Nextcloud user's credentials.
  4. Save. iOS will discover the calendars and contacts on the Nextcloud server.
  5. Open the Calendar app. The Family calendar should be visible. Enable it for sync.

From macOS

  1. System Settings → Internet Accounts → Add Account → Add Other Account → CalDAV Account.
  2. Same URL, username, password.
  3. Choose which calendars and contacts to sync.

From Android

Android's built-in calendar/contacts apps support CalDAV/CardDAV but not directly. The recommended path:

  1. Install DAVx⁵ (paid app, ~$5) or OpenSync (free).
  2. Configure the CalDAV/CardDAV account pointing at your Nextcloud URL.
  3. DAVx⁵ syncs to the system calendar and contacts apps.

Yes, this is a third-party app. The alternative is to use Nextcloud's own mobile app for calendar, but the system integration isn't as smooth as native.

From Windows

  1. Use Thunderbird with the Lightning calendar add-on and the CardBook contacts add-on. Both support CalDAV and CardDAV natively.
  2. Or use the Windows 11 Mail and Calendar app, which has limited CalDAV support.

Most families don't bother with Windows calendar sync; the desktop is usually a work machine with its own calendar system.

Migrating from Google Calendar / Contacts

Calendar

  1. On a computer, open Google Calendar in a browser.
  2. For each calendar you want to migrate: Settings → Export. You get a .ics file.
  3. In Nextcloud, open Calendar → Import. Select the .ics file. Events import with their original dates, times, and (if you set them) colors.
  4. Repeat for each Google calendar.
  5. On phones, switch from Google Calendar to the CalDAV calendar (so new events go to Nextcloud, not Google).

Contacts

  1. On a computer, open Google Contacts in a browser.
  2. Export → "Export as vCard" or similar. You get a .vcf file.
  3. In Nextcloud, open Contacts → Import. Select the .vcf file. Contacts import with their original photos and notes.
  4. On phones, switch from Google Contacts to the CardDAV contacts (so new contacts go to Nextcloud).

Same as with Immich: do the migration on a weekend, give it a month to make sure everything synced, then disable the Google integration on your phone.

The "TK can always see the family calendar" pattern

By default, calendars you create are private. To make the family calendar shared, you explicitly share it. Two patterns:

Pattern A: One shared family calendar, each user has personal

Each family member subscribes to the Family calendar (read-write) and has their own personal calendar (private). The Family calendar is for events everyone needs to know about. Personal is for everything else.

Best for: small families with one or two shared calendars' worth of events per week.

Pattern B: Multiple shared calendars

Family, Kids, School, Work, Trips — separate calendars, each shared with whoever needs them. More granular, more flexibility, more complexity. Best for: families with complex schedules (multiple kids in different schools, frequent travel, complex work patterns).

For most families, Pattern A is plenty. Pattern B is for when A isn't enough.

The fail mode: contacts not syncing

The single most common issue with Nextcloud contacts: edits made on the phone don't appear on the server, or vice versa. Causes:

The fix is always one of these. The conversation's recommendation: if contacts aren't syncing, check which account the phone is using first.

Engineering Note

The shared family calendar is one of the highest-leverage things the NAS does. It's a small app. It doesn't take much storage. It doesn't need much CPU. But it removes a category of friction from family life that is constant: "what's happening?" "When is the dentist appointment?" "Is TK picking up the kids or am I?" Every family that has one wishes they'd had one earlier. Every family that doesn't have one has the WhatsApp "wait, when is X?" thread that never goes away.

The setup is 30 minutes. The payoff is years.

Summary

Nextcloud is the family calendar and contacts platform. CalDAV and CardDAV are open standards that work with every device. One shared family calendar, one personal calendar per user, one shared contacts book, one personal contacts book per user. Migrate from Google Calendar/Contacts on a weekend. The setup is small; the payoff is years of "the family actually knows what's happening."

Checklist

Looking Ahead

Chapter 07 is the last chapter of Volume 2. It covers extending the NAS to friends: how to safely give non-family members access to specific shares, time-limited sharing, the patterns that keep the family system secure while being generous.

Ch 06 · v0.1 · drafted from the original ChatGPT conversation, July 2026