Skip to content

Latest commit

 

History

History
139 lines (92 loc) · 2.68 KB

caldav.md

File metadata and controls

139 lines (92 loc) · 2.68 KB

CalDAV

Sync your calendar between an phone and a computer.

Software overview

This is what I use. Feel free to swap them out, especially the calendars are very much personal preference.

Server:

Android:

Linux:

Setup the software

Radicale

Install as described and run with python3 -m radicale --config "<path>/config" --storage-filesystem-folder=<path>/collections --debug.

config file:

[server]
hosts = <ip>:<port>
max_connections = 3
max_content_length = 100000000
timeout = 30
[auth]
type = htpasswd
htpasswd_filename = <path>/users
htpasswd_encryption = plain
delay = 10

users file:

<user>:<password>

Use the web interface to create a CalDAV collection.

DAVx⁵

Allow permissions, login to your user and activate sync for the created collection (local calendar).

Simple Calendar

In Settings: toggle CalDAV sync for the specified calendar.

Only events created in that calendar will be synced.

vdirsyncer

sudo pacman -S vdirsyncer

~/.vdirsyncer/config:

[general]
status_path = "~/.vdirsyncer/status/"

[pair main_cal]
a = "main_cal_local"
b = "main_cal_remote"
collections = ["from a", "from b"]

[storage main_cal_local]
type = "filesystem"
path = "~/.calendars/"
fileext = ".ics"

[storage main_cal_remote]
type = "caldav"
url = "<url>"
username = "<user>"
password = "<password>"

Initialize with vdirsyncer discover main_cal.

Update regularly (via cronjob) with vdirsyncer sync.

khal

sudo pacman -S khal

~/.config/khal/config:

[calendars]

[[main_cal_local]]
path = ~/.calendars/*
type = discover

[locale]
timeformat = %H:%M
dateformat = %d/%m/%Y
longdateformat = %d/%m/%Y
datetimeformat = %d/%m/%Y %H:%M
longdatetimeformat = %d/%m/%Y %H:%M

E.g. khal interative to check the calendar.

Adding a new calendar to all platforms

Radicle

Create the calendar through the Radicle web interface, with you existing user.

Alternatively this can be done through DAVx⁵.

vdirsyncer

If the server is already setup: vdirsyncer discover

DAVx⁵

Select your account -> CALDAV -> Options -> Refresh calendar list.

Now check any new calendars you want to sync.

Simple Calendar

Go into the settings -> Mangage synced calendars (under CALDAV).

And toggle those you want to add.