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.comUser 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.