Radicale
(To be updated later)
Syncing the calendar over the internet the open source way. To be used on an Android, for example.
Requirements
- Radicale
- DAVDroid which is now DAVx5
- A calendar client such as Simple Calendar
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.