N-Docs LogoN-Docs
System Administration

CalDAV Setup with Baikal

Complete guide to setting up Baikal CalDAV server with Apple Calendar and Fantastical on macOS

Overview

This guide explains how to connect Baikal 0.9.3 (self-installed, non-Docker) to Apple Calendar and Fantastical on macOS. It assumes you have Baikal running on a subdomain of your server with a valid SSL certificate.

Prerequisites

  • Baikal 0.9.3 installed and running
  • Valid SSL certificate configured
  • Subdomain properly configured (e.g., cal.yourdomain.com)
  • User accounts created in Baikal admin interface

Baikal Server Setup

Installation Verification

Before configuring clients, ensure Baikal is properly installed:

# Check Baikal installation
ls -la /var/www/baikal/

# Verify web server configuration
curl -I https://cal.yourdomain.com/dav.php

# Check SSL certificate
openssl s_client -connect cal.yourdomain.com:443 -servername cal.yourdomain.com

User Management

Apple Calendar Setup

Configuration Steps

Fantastical Setup

Configuration for Fantastical

Troubleshooting

Security Considerations

SSL/TLS Configuration

Advanced Configuration

Multiple Device Setup

Monitoring and Maintenance

Health Monitoring

# Monitor Baikal logs
tail -f /var/www/baikal/Specific/log/baikal.log

# Check web server status
systemctl status apache2
systemctl status nginx

# Monitor disk usage
df -h /var/www/baikal/

# Database maintenance (if using SQLite)
sqlite3 /var/www/baikal/Specific/db/db.sqlite "VACUUM;"

Backup Strategy

Summary

🍎 Apple Calendar

Use `/dav.php/principals/USERNAME/` as server path

Works with automatic calendar discovery and standard CalDAV protocol.

✨ Fantastical

Use `/dav.php/calendars/USERNAME/CALENDARNAME/` for specific calendars

Requires specific calendar paths or principal path for auto-discovery.

🔄 Sync Behavior

Changes aren't instant - configure appropriate refresh intervals

Set realistic expectations for sync timing and configure accordingly.

🔒 Security

Use SSL certificates and strong authentication

Implement proper security measures for production deployments.

Quick Reference

Server Paths

  • Apple Calendar: /dav.php/principals/USERNAME/
  • Fantastical: /dav.php/calendars/USERNAME/CALENDARNAME/
  • Generic CalDAV: /dav.php/principals/USERNAME/

Common Issues

  • Authentication: Verify username/password in Baikal admin
  • SSL: Ensure valid certificate or disable SSL for testing
  • Paths: Use exact usernames and calendar names from Baikal
  • Sync: Allow time for sync intervals, force refresh if needed

With these settings, Baikal 0.9.3 syncs reliably with both Apple Calendar and Fantastical, providing a robust self-hosted calendar solution.

Need Help?

If you encounter issues not covered here, check the Baikal documentation, web server logs, and consider testing with a simple CalDAV client first to isolate the problem.