baikal-docker icon indicating copy to clipboard operation
baikal-docker copied to clipboard

Cannot sync cal/contacts on MacOS

Open muzzah opened this issue 11 months ago • 5 comments

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

Screenshot 2025-01-16 at 7 30 37 AM

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.

muzzah avatar Jan 16 '25 06:01 muzzah

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. :/

muzzah avatar Jan 16 '25 07:01 muzzah

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.

ckulka avatar Jan 20 '25 14:01 ckulka

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.

Htbaa avatar Feb 19 '25 08:02 Htbaa

This issue looks inactive, I will close it in 7 days.

github-actions[bot] avatar Apr 21 '25 02:04 github-actions[bot]

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

ckulka avatar Apr 24 '25 18:04 ckulka

This issue looks inactive, I will close it in 7 days.

github-actions[bot] avatar Jun 24 '25 03:06 github-actions[bot]

Closing this issue due to inactivity.

github-actions[bot] avatar Jul 01 '25 03:07 github-actions[bot]