You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+73-36Lines changed: 73 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Davis
6
6
[![Latest release][release_badge]][release_link]
7
7
[![Sponsor me][sponsor_badge]][sponsor_link]
8
8
9
-
A simple, fully translatable and full-featured DAV server, admin interface and frontend based on `sabre/dav`, built with [Symfony 7](https://symfony.com/) and [Bootstrap 5](https://getbootstrap.com/), initially inspired by [Baïkal](https://github.com/sabre-io/Baikal) (_see dependencies table below for more detail_)
9
+
A modern, simple, feature-packed, fully translatable DAV server, admin interface and frontend based on `sabre/dav`, built with [Symfony 7](https://symfony.com/) and [Bootstrap 5](https://getbootstrap.com/), initially inspired by [Baïkal](https://github.com/sabre-io/Baikal) (_see dependencies table below for more detail_)
10
10
11
11
### Web admin dashboard
12
12
@@ -18,6 +18,12 @@ Supports **Basic authentication**, as well as **IMAP** and **LDAP** (_via extern
18
18
19
19
The underlying server implementation supports (*non-exhaustive list*) CalDAV, CardDAV, WebDAV, calendar sharing, scheduling, mail notifications, and server-side subscriptions (*depending on the capabilities of the client*).
20
20
21
+
### Additional features ✨
22
+
23
+
- Subscriptions (to be added via the client, such as the macOS calendar, for instance)
24
+
- Public calendars, available to anyone with the link
25
+
- Automatic birthday calendar, updated on the fly when birthdates change in your contacts
26
+
21
27
### Deployment
22
28
23
29
Easily containerisable (_`Dockerfile` and sample `docker-compose` configuration file provided_).
@@ -61,17 +67,17 @@ Dependencies
61
67
62
68
1. Retrieve the dependencies:
63
69
64
-
```
65
-
composer install
66
-
```
70
+
```
71
+
composer install
72
+
```
67
73
68
74
2. At least put the correct credentials to your database (driver and url) in your `.env.local` file so you can easily create the necessary tables.
69
75
70
76
3. Run the migrations to create all the necessary tables:
71
77
72
-
```
73
-
bin/console doctrine:migrations:migrate
74
-
```
78
+
```
79
+
bin/console doctrine:migrations:migrate
80
+
```
75
81
76
82
**Davis** can also be used with a pre-existing MySQL database (_for instance, one previously managed by Baïkal_). See the paragraph "Migrating from Baikal" for more info.
77
83
@@ -87,14 +93,14 @@ Create your own `.env.local` file to change the necessary variables, if you plan
87
93
>
88
94
> If your installation is behind a web server like Apache or Nginx, you can setup the env vars directly in your Apache or Nginx configuration (see below). Skip this part in this case.
89
95
90
-
a. The database driver and url (_you should already have it configured since you created the database previously_)
96
+
**a. The database driver and url** (_you should already have it configured since you created the database previously_)
> You can bypass auth entirely if you use a third party authorization provider such as Authelia. In that case, set the `ADMIN_AUTH_BYPASS` env var to `true` (case-sensitive, this is actually the string `true`, not a boolean) to allow full access to the dashboard. This does not change the behaviour of the DAV server.
107
113
108
-
c. The auth Realm and method for HTTP auth
114
+
**c. The auth Realm and method for HTTP auth**
109
115
110
116
```shell
111
117
AUTH_REALM=SabreDAV
112
118
AUTH_METHOD=Basic # can be "Basic", "IMAP" or "LDAP"
113
119
```
114
120
> See [the following paragraph](#specific-environment-variables-for-imap-and-ldap-authentication-methods) for more information if you choose either IMAP or LDAP.
115
121
116
-
d. The global flags to enable CalDAV, CardDAV and WebDAV. You can also disable the option to have calendars public
122
+
**d. The global flags to enable CalDAV, CardDAV and WebDAV**. You can also disable the option to have calendars public
> By default, `PUBLIC_CALENDARS_ENABLED` is true. That doesn't mean that all calendars are public by default — it just means that you have an option, upon calendar creation, to set the calendar public (but it's not public by default).
129
135
130
136
131
-
e. The email address that your invites are going to be sent from
137
+
**e. The email address that your invites are going to be sent from**
You must specify a relative duration, as specified in [the RFC 5545 spec](https://www.rfc-editor.org/rfc/rfc5545.html#section-3.3.6)
146
+
147
+
```shell
148
+
BIRTHDAY_REMINDER_OFFSET=PT9H
149
+
```
150
+
151
+
If you don't want a reminder for birthday events, set it to the `false` value (lowercase):
152
+
153
+
```shell
154
+
BIRTHDAY_REMINDER_OFFSET=false
155
+
```
156
+
157
+
> [!NOTE]
158
+
>
159
+
> By default, if the env var is not set or empty, we use `PT9H` (9am on the date of the birthday).
160
+
161
+
**g. The paths for the WebDAV installation**
162
+
163
+
> [!TIP]
164
+
>
139
165
> I recommend that you use absolute directories so you know exactly where your files reside.
140
166
141
167
```shell
@@ -152,15 +178,15 @@ WEBDAV_HOMES_DIR=
152
178
>
153
179
> By default, home directories are disabled totally (the env var is set to an empty string). If needed, it is recommended to use a folder that is **NOT** a child of the public dir, such as `/webdav/homes` for instance, so that users cannot access other users' homes.
154
180
155
-
g. The log file path
181
+
**h. The log file path**
156
182
157
183
You can use an absolute file path here, and you can use Symfony's `%kernel.logs_dir%` and `%kernel.environment%` placeholders if needed (as in the default value). Setting it to `/dev/null` will disable logging altogether.
@@ -262,7 +286,7 @@ The administration interface is available at `/dashboard`. You need to login to
262
286
263
287
The main endpoint for CalDAV, WebDAV or CardDAV is at `/dav`.
264
288
265
-
> [!NOTE]
289
+
> [!TIP]
266
290
>
267
291
> For shared hosting, the `symfony/apache-pack` is included and provides a standard `.htaccess` file in the public directory so redirections should work out of the box.
0 commit comments