Mailu: Radicale for CalDAV and CardDAV

Created on 20 Sep 2016  路  9Comments  路  Source: Mailu/Mailu

Calendar and contacts are pretty much the only missing pieces in freeposte.io, IMHO. We can use Radicale to bring in CalDAV for calendars and CardDAV for contacts.

We could even integrate contacts into Roundcube via the carddav plugin.


P.S. looks like Radicale 2 is just around the corner.

Most helpful comment

Just added Radicale, I will now configure Roundcube and Rainloop.

All 9 comments

One of the initial design choices was nos to overload the mail server with groupware features. Yet contact management is a must-have I agree, and some standard way to manage them would be nicer than the Roundcube sqlite structure.

I never used any contact or calendar plugin for Roundcube, I will try sometime soon and see if it is not too much of a burden.

Regarding authentication, can Radicale authenticate users against the Dovecot socket juste like Postfix does? That would be nice and would simplify management a lot.

It seems like Radicale does not have any plugin to authenticate against the Dovecot socket (https://github.com/Kozea/Radicale/pull/200), but it does support IMAP authentication.

Next question would be: how should this be exposed over HTTP? Should we use a subpath like /dav?

It seems like Radicale does not have any plugin to authenticate against the Dovecot socket (Kozea/Radicale#200), but it does support IMAP authentication.

Ah bummer. At least it does support IMAP auth.

Next question would be: how should this be exposed over HTTP? Should we use a subpath like /dav?

/dev sounds good to me!

I will tag a new stable in the next couple of days. I see no reason why we could not include radicale afterwards, maybe disabled in a default setup.

Agreed, and I think it's a good idea to disable radicale by default in the beginning, and see how everyone reacts. If most people turn out to be liking and enabling it, then we can switch it on by default, otherwise not.

Just added Radicale, I will now configure Roundcube and Rainloop.

Roundcube is working properly, Rainloop is more of a concern. I will probably add partial support until someone is able to configure Rainloop properly.

Thank you for your great work with the whole project! I'm very happy to see radicale being integrated here. I just had a try on this one. It is clear that this is not a ready feature, yet. But maybe my feedback/error message helps a bit:

Logging in over https://MYDOMAIN/webdav with valid credentials fails. The docker logs of the radicale container, throws this error:

GET request at /webdav received
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 86, in run
self.finish_response()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 129, in finish_response
self.finish_content()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 248, in finish_content
self.send_headers()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 270, in send_headers
self.send_preamble()
File "/usr/lib/python2.7/wsgiref/handlers.py", line 194, in send_preamble
'Date: %sr\n' % format_date_time(time.time())
File "/usr/lib/python2.7/socket.py", line 328, in write
self.flush()
File "/usr/lib/python2.7/socket.py", line 307, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

Sorry, for the noise. The error described in the issue before randomly appeared, but I was also using the wrong url: https://MYDOMAIN/webdav. Once I started using the correct url (stated in the radicale documentation) - https://MYDOMAIN/webdav/USER@MYDOMAIN - it works well.

It would be good to have a single entry point without the USER@DOMAIN part, but, I guess, this should be fixed upstream - in radicale - rather than here.

Was this page helpful?
0 / 5 - 0 ratings