[Radicale](https://radicale.org/v3.html) is a small but powerful CalDAV (calendars, to-do lists) and CardDAV (contacts) server. The Docker configuration is based off of the work in [docker-radicale](https://github.com/tomsquest/docker-radicale).
## Quick start
1. All of the necessary files to start a Radicale server are in this repo. Begin by editing the following lines in the docker-compose.yaml file to reflect your hostname and the email address you want to use for Let's Encrypt.
Make sure you also have a domain DNS A record pointed to your server's public IP for the hostname you gave to traefik. To set up your own DNS server, see our [bind9 repo](https://gitea.moeny.ai/moeny/bind9).
2. Rename `config/users.sample` to `users` and edit the usernames and passwords it contains. Ensure that each line contains a username and bcrypt-hashed password, separated by a colon (:).
3. Once ready, run `docker-compose up -d` to start the server.
4. You should then be able to access Radicale at the URL you set up with traefik earlier. The usernames and passwords to log in are the ones added to the `users` file. Use the non-hashed password.
## Using Radicale
### MacOS Calendar App
1. Open the MacOS Calendar app
2. In the top menu, click Calendar > Add Account
3. In the pop-up window, select Other CalDAV Account and click Continue
4. In the next screen:
```
Account Type: Manual
Username: Your Radicale username
Password: Your Radicale password
Server Address: The domain or IP where Radicale is running, e.g., radicale.moeny.ai
Refer to the [Supported Clients](https://radicale.org/v3.html#supported-clients) section of the Radicale documentation.
### What's next?
Once your client of choice is set up, your Radicale calendars will automatically sync between client and server. You can create collections in the web interface, as well as view those created in the client you are using. If your events don't show up, refresh the client (⌘R on macOS or open the calendars tab and swipe down on the list of events on iOS).