top | item 34727223

Sabre/dav: open-source CardDAV, CalDAV and WebDAV server

190 points| kretaceous | 3 years ago |sabre.io | reply

42 comments

order
[+] Ralo|3 years ago|reply
I was looking for a way to host my calendar and contacts. I looked into Owncloud and tested it but found to be way too much for what I needed. It has it's own ecosystem with an online store. I just need to backup my data.

I found sabre to be perfect. Its barebones as you need it to be. I use DAVx5 on android and add it as an account then changed my calendar/contact's default to that. So now my PC can push notifications to my phone and vise versa using thunderbird.

I enjoyed it so much that I use it to sync data to/from my phone 247. I have my music folder symlinked to sabre and using FolderSync it tries to copy the music anytime I'm connected to wifi. So, if I download a song I know that all my music will be auto copied to my phone.

Same goes for my camera. All my photos are auto copied over to my server. This is huge because my server is setup to run auto backups. It's basically icloud but entirely in my control.

Maybe there's a modern version of my setup, but this has been so great and ultra lightweight and works anywhere.

[+] treve|3 years ago|reply
Really nice to hear that people still have love for this project! Heart warming after all these years. I no longer maintain the project but the people that have taken over have done a great job keeping everything modern (even though the website has become a bit stale).

Really nice to have a tiny bit of legacy, the new open source projects I've been working on have never really quite picked up in the same way.

[+] netsharc|3 years ago|reply
I have photos backup with FolderSync but just using Samba (since the NAS will be accessed by Windows clients anyway), is WebDAV necessary?

Oh, you said wifi and I read "home wifi", So I guess the WebDAV is exposed to the Internet and the phone can upload from any (wifi) connection in the world? That's more clever than my setup!

[+] solarkraft|3 years ago|reply
The modern version is probably Syncthing and EteSync, but if you entirely self-host the benefits are marginal and they come with their own problems.
[+] alganet|3 years ago|reply
sabre/dav is amazing

I worked on a company that had multiple issues with mounted folders using smb across a wide variety of desktop clients (that was around 2012).

Customers would name their files with weird characters, would use OS X folder colors and expect them to stick, etc. We needed to support all of that.

One day we tested replacing smb with webdav mounts powered by a thin layer based off sabre/dav. It just worked out of the box. All of our issues were gone. It's client support is the best I've seen.

It also allowed us to create virtual files, setup caching and a lot of other goodies that seemed impossible with smb.

[+] hahamaster|3 years ago|reply
How did you handle authentication, permissions and security?
[+] captn3m0|3 years ago|reply
I used the sabre core libraries to create a slack-backed CardDAV server for a hackathon. Was super-fun to get it working, and the demo was quite powerful - you scan a QR code to OAuth via Slack, and download a iOS mobileconfig that adds the CardDAV profile to your iPhone.

Unfortunately, Android not supporting CardDAV made it a half-way solution, so it wasn't as seamless as you'd like. It was super fun to build using sabre, but it was limited by the CardDAV decisions. You can't make a read-only CardDAV server that easily, for eg - the client will optimistically make local changes, and assume that server is just temporarily down when it returns a non-2xx code.

I might still polish it and release it, since it was a super-cool tool, if only for iOS users.

[+] eddieroger|3 years ago|reply
Please do! I have had a similar idea for a while and would love to see and contribute to what others are doing.
[+] tannhaeuser|3 years ago|reply
Haven't heard about WebDAV and related HTTP extensions here for some time. I guess static web space management through the webdav protocol is below the average HNer who rather wants "web apps" for reasons of financial wellbeing ;) Interestingly, the history of versioning of static web "resources" through webdav (Delta/V [1]) is strongly connected to subversion (svn), which as a SCM has long made way for git, but kindof lives on in mod_dav_svn.

[1]: https://www.rfc-editor.org/rfc/rfc3253

[+] nivethan|3 years ago|reply
I've recently gotten into it and I hope it makes a come back. It's pretty cool. I'm currently working to get a sqlite fuse system set up and use with webdav. It'd be very entertaining to simply PUT a file on nginx and have that turn into an insert into a database :)
[+] DrSAR|3 years ago|reply
I was attempting to simplify the multi-version php setup I have in my small-scale server setup and noticed sabre needs PHP 5.4 and apparently doesn't run with php7 [1]. I wonder how much interest there is to upgrade that dependency at sabre. My un-informed opinion was that it's a good idea to move with your php setups.

[1] https://github.com/sabre-io/Baikal/issues/764

[+] stonewall|3 years ago|reply
That may be true for the older version of sabre/dav that Baikal seems to depend on, but the current version of upstream works just fine with PHP 7.

I'm currently running sabre/dav with PHP 8.0 with no issues, and previously ran it with PHP 7.4.

[+] stonogo|3 years ago|reply
The page has OwnCloud's logo on there, but OwnCloud recently introduced a ground-up rewrite, resulting in a single-binary deployment (written in Go). Does anyone know if Sabre/dav's PHP is still in the cards at OwnCloud?

For CardDAV/CalDAV I'd be interested in a comparison to Radicale...

[+] n3storm|3 years ago|reply
Really Owncloud become Pydio? I was pissed of about that decission cause I already had some (little) php code for plugins and multi-tenant Pydio setups and with Go rewrote it broke everything for me.
[+] brnt|3 years ago|reply
Has Ownclouds infinite scale project been mainlined? It has now fully replaced the old PHP codebase?

Love to hear some experiences with it.

[+] vorpalhex|3 years ago|reply
Oh that is excellent to hear. I tried OwnCloud years back and found performance too poor with their LAMP stack.
[+] brongondwana|3 years ago|reply
Cyrusimap has support for all three of these baked in as well, and we really don't make as much of a big deal of it as we should.

(and of course: JMAP Calendars/Contacts/Files(eventually) will replace all that, we hope!)

[+] n3storm|3 years ago|reply
More than 10 years Fruux customer here.
[+] bartvk|3 years ago|reply
Very interesting, I didn't know about them. It seems that they have a basic free plan, for a single user with two devices. So maybe one laptop and one iPhone, and you can move your calendar and contacts out of Google.
[+] qalter|3 years ago|reply
I tried hosting it on my server but couldn’t manage. Would anyone have a step by step process?
[+] stonewall|3 years ago|reply
I get the impression that sabre/dav markets itself more as a platform on which one can build their own CalDAV/CardDAV applications.

I run it standalone, because I wanted a CalDAV system that could integrate with my local FreeIPA domain via LDAP. The only other project that met this requirement was davical [1], but it seemed much less active.

I ended up writing my own FreeIPA/LDAP authentication and principal backends [2] for sabre/dav. I believe they have a PDO backend built in, if you want to store your users in a database.

Basically, you composer install sabre/dav and wire all the components together in server.php. You'll also want to redirect the /.well-known/{caldav,carddav} URLs with a rewrite rule in your webserver. Most of this is described in their documentation [3].

If you're looking for turn-key solution with an administration GUI, you probably want Baikal [4], which is based on sabre/dav.

[1] https://www.davical.org/

[2] https://github.com/sacredheartsc/sabredav-freeipa

[3] https://sabre.io/dav/gettingstarted/

[4] https://sabre.io/baikal/

[+] jansommer|3 years ago|reply
I wonder if the name 'Sabre' is a reference to The Office. Made me think of this song: https://m.youtube.com/watch?v=iCEohYELD30
[+] treve|3 years ago|reply
Hi, I'm the OG author. When I was a teenager the Sabretooth tiger was my favourite animal. The project also preceeds that office episode by a few years (I think I started in 2005), so it was a bit funny to see that episode.
[+] dschuetz|3 years ago|reply
Why are they using Owncloud? Is sabre supposed to be more stable than Nextcloud, or what's the deal?
[+] atoav|3 years ago|reply
Nextcloud is a cloud with file sharing and all kinds of features including a calendar that can be synced via webdav. Sabre is just a calendar/webdav server without all the filesharing cloud stuff.
[+] hinata08|3 years ago|reply
i thought it was a service to remember about the next plane and/or train tickets you booked, just after reading the title.

Sabre is also the name of a company that offers airlines and travel websites a backend to book tickets https://en.wikipedia.org/wiki/Sabre_(travel_reservation_syst...

[+] pkulak|3 years ago|reply
Don't forget the Sabre Pyramid, one of the most influential tech innovations of the last two decades.