-
Notifications
You must be signed in to change notification settings - Fork 442
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
26 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -578,14 +578,30 @@ authentication over HTTP. | |
This tutorial describes how to keep track of all changes to calendars and | ||
address books with **git** (or any other version control system). | ||
|
||
The repository must be initialized by running `git init` in the file | ||
system folder. Internal files of Radicale can be excluded by creating the | ||
file `.gitignore` with the following content: | ||
The repository must be initialized in the collection base directory | ||
of the user running `radicale` daemon. | ||
|
||
```gitignore | ||
```bash | ||
## assuming "radicale" user is starting "radicale" service | ||
# change to user "radicale" | ||
su -l -s /bin/bash radicale | ||
|
||
# change to collection base directory, assumed /var/lib/radicale/collections | ||
cd /var/lib/radicale/collections | ||
|
||
# initialize git repository | ||
git init | ||
|
||
# set user and e-mail, here minimum example | ||
git config user.name "$USER" | ||
git config user.email "$USER@$HOSTNAME" | ||
|
||
# define ignore of cache/lock/tmp files | ||
cat <<'END' >.gitignore | ||
.Radicale.cache | ||
.Radicale.lock | ||
.Radicale.tmp-* | ||
END | ||
``` | ||
|
||
The configuration option `hook` in the `storage` section must be set to | ||
|
@@ -598,16 +614,16 @@ git add -A && (git diff --cached --quiet || git commit -m "Changes by \"%(user)s | |
The command gets executed after every change to the storage and commits | ||
the changes into the **git** repository. | ||
|
||
For the hook to not cause errors either **git** user details need to be set and match the owner of the collections directory or the repository needs to be marked as safe. | ||
|
||
When using the systemd unit file from the [Running as a service](#running-as-a-service) section this **cannot** be done via a `.gitconfig` file in the users home directory, as Radicale won't have read permissions! | ||
Log of `git` can be investigated using | ||
|
||
In `/var/lib/radicale/collections/.git` run: | ||
```bash | ||
git config user.name "radicale" | ||
git config user.email "[email protected]" | ||
su -l -s /bin/bash radicale | ||
cd /var/lib/radicale/collections | ||
git log | ||
``` | ||
|
||
In case of error messages in log, check SELinux status and related audit log and file/directory permissions. | ||
|
||
## Documentation | ||
|
||
### Configuration | ||
|