66 lines
1.1 KiB
Markdown
66 lines
1.1 KiB
Markdown
# Radicale
|
|
|
|
A simple CalDAV and CardDAV server.
|
|
|
|
View the [*synix* NixOS module on Forgejo](https://git.sid.ovh/sid/synix/tree/master/modules/nixos/radicale).
|
|
|
|
## References
|
|
|
|
- [Documentation](https://radicale.org/v3.html#documentation-1)
|
|
- [Wiki](https://github.com/Kozea/Radicale/wiki)
|
|
- [GitHub](https://github.com/Kozea/Radicale)
|
|
|
|
## Sops
|
|
|
|
Provide every user's SHA512 hashed password to your host's `secrets.yaml`:
|
|
|
|
> Replace `abc123` with your actual secrets
|
|
|
|
```yaml
|
|
radicale:
|
|
user1: abc123
|
|
user2: abc123
|
|
# ...
|
|
```
|
|
|
|
Generate hashed passwords with:
|
|
|
|
```sh
|
|
nix-shell -p openssl --run 'openssl passwd -6 <password>'
|
|
```
|
|
|
|
## Setup
|
|
|
|
Set a CNAME record for your Radicale subdomain (`dav` by default) pointing to your domain.
|
|
|
|
Add two SRV records:
|
|
|
|
Calendar:
|
|
- type: `SRV`
|
|
- name: `_caldavs._tcp`
|
|
- priority: `0`
|
|
- weight: `1`
|
|
- port: `443`
|
|
- target: `dav.domain.tld.`
|
|
|
|
Contacts:
|
|
- name: `_carddavs._tcp`
|
|
> rest as above
|
|
|
|
## Config
|
|
|
|
```nix
|
|
{ inputs, ... }:
|
|
|
|
{
|
|
imports = [ inputs.synix.nixosModules.radicale ];
|
|
|
|
services.radicale = {
|
|
enable = true;
|
|
users = [
|
|
"user1"
|
|
"user2"
|
|
];
|
|
};
|
|
}
|
|
```
|