Cannot sync cal/contacts on MacOS
I have the nginx docker image running on a home server with nginx infront acting as a proxy. I can login to the admin panel through the web and have one user in the instance that I can login when visiting the dav.php url. However for the life of me I cannot get MacOS to sync the contact/calendar.
MacOs 15.2 with 0.10.1 of the docker image running
Image of the config screen
Here are the request coming in to the proxy
{
"msec": "1737009024.883",
"connection": "2766",
"connection_requests": "1",
"pid": "41",
"request_id": "6718ce08ee4515c2b9da2f1d600ed2f4",
"request_length": "436",
"remote_addr": "10.8.0.9",
"remote_user": "",
"remote_port": "56610",
"time_local": "16/Jan/2025:06:30:24 +0000",
"time_iso8601": "2025-01-16T06:30:24+00:00",
"request": "PROPFIND /dav.php/addressbooks/caldav/default/ HTTP/2.0",
"request_uri": "/dav.php/addressbooks/caldav/default/",
"args": "",
"status": "401",
"body_bytes_sent": "429",
"bytes_sent": "915",
"http_referer": "",
"http_user_agent": "macOS/15.2 (24C101) AddressBookCore/2695.300.1.1.2",
"http_x_forwarded_for": "",
"http_host": "caldav.internal.lol",
"server_name": "caldav.internal.lol",
"request_time": "0.065",
"upstream": "172.18.0.9:80",
"upstream_connect_time": "0.002",
"upstream_header_time": "0.065",
"upstream_response_time": "0.065",
"upstream_response_length": "441",
"upstream_cache_status": "",
"ssl_protocol": "TLSv1.3",
"ssl_cipher": "TLS_AES_128_GCM_SHA256",
"scheme": "https",
"request_method": "PROPFIND",
"server_protocol": "HTTP/2.0",
"pipe": ".",
"gzip_ratio": "",
"http_cf_ray": "",
}
{
"msec": "1737009025.072",
"connection": "2766",
"connection_requests": "2",
"pid": "41",
"request_id": "f4fbbda4bd6ea46c4a09db95ad334c7c",
"request_length": "258",
"remote_addr": "10.8.0.9",
"remote_user": "caldav",
"remote_port": "56610",
"time_local": "16/Jan/2025:06:30:25 +0000",
"time_iso8601": "2025-01-16T06:30:25+00:00",
"request": "PROPFIND /dav.php/addressbooks/caldav/default/ HTTP/2.0",
"request_uri": "/dav.php/addressbooks/caldav/default/",
"args": "",
"status": "207",
"body_bytes_sent": "550",
"bytes_sent": "990",
"http_referer": "",
"http_user_agent": "macOS/15.2 (24C101) AddressBookCore/2695.300.1.1.2",
"http_x_forwarded_for": "",
"http_host": "caldav.internal.lol",
"server_name": "caldav.internal.lol",
"request_time": "0.011",
"upstream": "172.18.0.9:80",
"upstream_connect_time": "0.000",
"upstream_header_time": "0.011",
"upstream_response_time": "0.011",
"upstream_response_length": "562",
"upstream_cache_status": "",
"ssl_protocol": "TLSv1.3",
"ssl_cipher": "TLS_AES_128_GCM_SHA256",
"scheme": "https",
"request_method": "PROPFIND",
"server_protocol": "HTTP/2.0",
"pipe": ".",
"gzip_ratio": "",
"http_cf_ray": "",
}
{
"msec": "1737009025.665",
"connection": "2769",
"connection_requests": "1",
"pid": "41",
"request_id": "d06657527f4c165b7d709cef1237ff3a",
"request_length": "205",
"remote_addr": "10.8.0.9",
"remote_user": "",
"remote_port": "56611",
"time_local": "16/Jan/2025:06:30:25 +0000",
"time_iso8601": "2025-01-16T06:30:25+00:00",
"request": "OPTIONS /dav.php/principals/caldav/ HTTP/2.0",
"request_uri": "/dav.php/principals/caldav/",
"args": "",
"status": "401",
"body_bytes_sent": "419",
"bytes_sent": "711",
"http_referer": "",
"http_user_agent": "macOS/15.2 (24C101) AddressBookCore/2695.300.1.1.2",
"http_x_forwarded_for": "",
"http_host": "caldav.internal.lol",
"server_name": "caldav.internal.lol",
"request_time": "0.020",
"upstream": "172.18.0.9:80",
"upstream_connect_time": "0.002",
"upstream_header_time": "0.020",
"upstream_response_time": "0.020",
"upstream_response_length": "431",
"upstream_cache_status": "",
"ssl_protocol": "TLSv1.3",
"ssl_cipher": "TLS_AES_128_GCM_SHA256",
"scheme": "https",
"request_method": "OPTIONS",
"server_protocol": "HTTP/2.0",
"pipe": ".",
"gzip_ratio": "",
"http_cf_ray": "",
}
{
"msec": "1737009025.907",
"connection": "2769",
"connection_requests": "2",
"pid": "41",
"request_id": "f0725ac234f4053b4d6f1d80ecc86e31",
"request_length": "65",
"remote_addr": "10.8.0.9",
"remote_user": "caldav",
"remote_port": "56611",
"time_local": "16/Jan/2025:06:30:25 +0000",
"time_iso8601": "2025-01-16T06:30:25+00:00",
"request": "OPTIONS /dav.php/principals/caldav/ HTTP/2.0",
"request_uri": "/dav.php/principals/caldav/",
"args": "",
"status": "200",
"body_bytes_sent": "0",
"bytes_sent": "512",
"http_referer": "",
"http_user_agent": "macOS/15.2 (24C101) AddressBookCore/2695.300.1.1.2",
"http_x_forwarded_for": "",
"http_host": "caldav.internal.lol",
"server_name": "caldav.internal.lol",
"request_time": "0.010",
"upstream": "172.18.0.9:80",
"upstream_connect_time": "0.000",
"upstream_header_time": "0.010",
"upstream_response_time": "0.010",
"upstream_response_length": "0",
"upstream_cache_status": "",
"ssl_protocol": "TLSv1.3",
"ssl_cipher": "TLS_AES_128_GCM_SHA256",
"scheme": "https",
"request_method": "OPTIONS",
"server_protocol": "HTTP/2.0",
"pipe": ".",
"gzip_ratio": "",
"http_cf_ray": "",
}
Different status codes being returned. I know the password is correct for the caldav user because I can login on the dav.php url with that user/password combo. This config was working but stopped working all of a sudden after a container restart. Tried creating a test user but still the same problem.
I was able to add the calendar account using the value /dav.php/principals/caldav for the server path. However I still cannot add the contacts account. Weird thing is it works fine on my iPhone. :/
Hi @muzzah, curious why it worked until the container restart.
Was it just a restart or did the container also get recreated? Could you also share your container setup (including volume mounts)?
And even more peculiar, that it works with iOS but not macOS. That's why I'd also search and mention this in an issue over at https://github.com/sabre-io/Baikal , since that would mean it's something to do with the PHP code, not your container setup.
I think I'm experiencing the same issue. Running the nginx Docker image behind nginx proxy manager. Based it on the example compose files. I'm on macOS 14.7.1 and CalDAV works for me, but CardDAV not even though Contacts doesn't complain when adding contacts. I get the same status codes. iPhone works fine.
I tried the Apache image as well but the result is the same.
Edit: changing authentication type to basic seems to make it work. Although I do not get to see a list of available address books, it only takes the first/default one.
This issue looks inactive, I will close it in 7 days.
Then I really think it's something with the PHP code, given iOS works.
The repository for the code base might have one already, at least there are a couple iOS related ones: https://github.com/sabre-io/Baikal/issues?q=is:issue%20state:open%20ios
This issue looks inactive, I will close it in 7 days.
Closing this issue due to inactivity.