1# Davis {#module-services-davis}
2
3[Davis](https://github.com/tchapi/davis/) is a caldav and carrddav server. It
4has a simple, fully translatable admin interface for sabre/dav based on Symfony
55 and Bootstrap 5, initially inspired by Baïkal.
6
7## Basic Usage {#module-services-davis-basic-usage}
8
9At first, an application secret is needed, this can be generated with:
10```ShellSession
11$ cat /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 48 | head -n 1
12```
13
14After that, `davis` can be deployed like this:
15```
16{
17 services.davis = {
18 enable = true;
19 hostname = "davis.example.com";
20 mail = {
21 dsn = "smtp://username@example.com:25";
22 inviteFromAddress = "davis@example.com";
23 };
24 adminLogin = "admin";
25 adminPasswordFile = "/run/secrets/davis-admin-password";
26 appSecretFile = "/run/secrets/davis-app-secret";
27 nginx = {};
28 };
29}
30```
31
32This deploys Davis using a sqlite database running out of `/var/lib/davis`.