Home Explore Blog Models CI



nixpkgs

nixos/modules/services/web-apps/davis.md
0d6907030e336d29c079e6ea47b27ba855d374aed309b07b00000003000003ca
# Davis {#module-services-davis}

[Davis](https://github.com/tchapi/davis/) is a caldav and carrddav server. It
has a simple, fully translatable admin interface for sabre/dav based on Symfony
5 and Bootstrap 5, initially inspired by Baïkal.

## Basic Usage {#module-services-davis-basic-usage}

At first, an application secret is needed, this can be generated with:
```ShellSession
$ cat /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 48 | head -n 1
```

After that, `davis` can be deployed like this:
```
{
  services.davis = {
    enable = true;
    hostname = "davis.example.com";
    mail = {
      dsn = "smtp://username@example.com:25";
      inviteFromAddress = "davis@example.com";
    };
    adminLogin = "admin";
    adminPasswordFile = "/run/secrets/davis-admin-password";
    appSecretFile = "/run/secrets/davis-app-secret";
  };
}
```

This deploys Davis using a sqlite database running out of `/var/lib/davis`.

Logs can be found in `/var/lib/davis/var/log/`.

Chunks
c3107f93 (1st chunk of `nixos/modules/services/web-apps/davis.md`)
Title: Davis: CalDAV/CardDAV Server Deployment
Summary
Davis is a CalDAV and CardDAV server featuring a simple, translatable admin interface built with Symfony 5 and Bootstrap 5. To deploy Davis, an application secret needs to be generated. The service can then be configured with various parameters including hostname, mail settings, administrator login details, and file paths for the admin password and application secret. By default, Davis uses a SQLite database located at `/var/lib/davis`, where logs can also be found.