(To be updated later)

Syncing the calendar over the internet the open source way. To be used on an Android, for example.

Requirements

Running locally

I have managed to run radicale, create a calendar, import events using Davx5, edit the calendar and import it on a local network.

Radicale Settings

After installing Radicale, a matter of running this command

python3 -m pip install --upgrade radicale

Create two folders (wherever you want, just remember the location), one for the radicale users and the other for the radicale configuration file.

Run this command to get bcrypt,

python3 -m pip install --upgrade radicale[bcrypt]

Go to the radicale users directory you created, and add a username and password like this

htpasswd -B -c userX user1

You will be prompted to set a password. The above command will create a user and a password in a file called userX.

After that, add the following to your configuration file. You will need to know

  • your ip address
  • the path to your user (the path to the userX file above)

If you leave the ip address as the default setting 0.0.0.0:5323, you will not be able to access it from other computers, so change it to 192.168.x.y (whatever ifconfig says)

[server]
# Bind all addresses
hosts = your.ip.address.x:5232 

[auth]
type = htpasswd
htpasswd_filename = /path/to/your/user
htpasswd_encryption = bcrypt
[storage]
filesystem_folder = ~/.var/lib/radicale/collections

Now you can start Radicale, giving the path to your configuration file

python3 -m radicale --config "/path/to/radicale/configuration/file"

More Radicale configuration options can be found here.

DAVx5 Settings

Install it from F-Droid, then press the + sign, choose Login with URL and user name, and follow the instructions.

Simple Calendar Settings

Go on Settings > CALDAV, and turn the switch on. The calendar events can now show on your calendar, and you can add and delete events.

Running remotely

This is what I am currently working on once I put my hands on a server.