Self Hosted Calendar Server With Radicale

Everyone of us need a Calendar, to organise time, not forget meetings, birthdays, dates, interviews, parties, etc. Out there in the world there are a lot of application that can help to solve that, and even a lot of service that can do it for you, for free, and synchronise it with all your environments/devices, one over all Google Calendar.

But sometimes for business need, for privacy or just for fun, you may want to set up your own calendar server.

I have already my server, with mail(IMAPS and SMPTS) and few websites, so i thought that could have been cool have a calendar server there as well.

So i started my search with 'apt-cache search caldav server' i found that there are quite a lot of options, and even some software that offer a complete productivity suite, but i needed only one simple software that could speak caldav, in a way that i could integrate my desktop and phone calendar. One really good option was to use cyrus caldav, because i already use cyrus as mail server, but in debian wheezy (my server OS) is not there, so i dropped back to choose between two more lightweight solution: radicale and davical

Checking how much dependencies each of this two tool needed i chosen radicale, that it's a simple python based caldav server, the devical is instead, written in php, it needed postgresql(at least by default) and few other tens of packages.

going ahead with radicale i just installed it with apt and configured for my needs, that were: have a caldav server running in ssl and with some authentication method.

radicale support ssl almost out of box, you just need to find it in the config file '/etc/radicale/config' and enable it, this is the snippet:

# SSL flag, enable HTTPS protocol
ssl = True
# SSL certificate path
certificate = /etc/ssl/certs/my_cert.crt
# SSL private key
key = /etc/ssl/private/my_cert.key

For the authentication has been a bit more tricky, i wanted to connect it to my IMAP server, and radicale has a quite easy setting for do that, but as usual not for the version in wheezy, that was a bit annoying, but with some work in the apt repository settings, i could import the jessie package in wheezy without break all the updates and so on.

You may wonder why i didn't do that for cyrus instead, the main point is that i didn't want to break any working service, and do a cross version upgrade of a so small package has been quite safe and easy.

So at the end the configuration of imap was just to find the authentication part in the '/etc/radicale/config' and enable it, as snippets:

enable imap auth:

# Authentication method
# Value: None | htpasswd | IMAP | LDAP | PAM | courier | http | remote_user | custom
type = IMAP

configure the IMAP server:

# IMAP Configuration
imap_hostname = localhost
imap_port = 993
imap_ssl = True

done this i just created a new calendar opening the specific urls as the radicale documentation explain.

i added the calendar in Thunderbird, and used Caldav Sync Free Beta in my android phone.

that's it, now i have my private, secure, shared between devices, CALENDAR.


First Week Librem 5
Tags: librem5

Rust lib error management, multiple enum approach
Tags: rust

Setup Gitlab runner for run ci tests locally
Tags: self_hosting

Check What You Run
Tags: sh

Self Hosting Feed Reader Server
Tags: self_hosting




Object Query
URL Freezer