Skip to content

Radicale

A simple CalDAV and CardDAV server.

View the synix NixOS module on Forgejo.

References

Sops

Provide every user's SHA512 hashed password to your host's secrets.yaml:

Replace abc123 with your actual secrets

radicale:
    user1: abc123
    user2: abc123
    # ...

Generate hashed passwords with:

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

{ inputs, ... }:

{
  imports = [ inputs.synix.nixosModules.radicale ];

  services.radicale = {
    enable = true;
    users = [
      "user1"
      "user2"
    ];
  };
}