-
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.
Merge pull request #1631 from pbiering/improve-hook
Improve storage hook
- Loading branch information
Showing
4 changed files
with
68 additions
and
27 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,31 @@ 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 defined in [storage] -> filesystem_folder | ||
# assumed here /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 +615,23 @@ 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. | ||
Log of `git` can be investigated using | ||
|
||
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! | ||
|
||
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 problems, make sure you run radicale with ``--debug`` switch and | ||
inspect the log output. For more information, please visit | ||
[section on logging.]({{ site.baseurl }}/logging/) . | ||
|
||
Reason for problems can be | ||
- SELinux status -> check related audit log | ||
- problematic file/directory permissions | ||
- command is not fond or cannot be executed or argument problem | ||
|
||
## Documentation | ||
|
||
### Configuration | ||
|
@@ -1001,6 +1025,11 @@ Command that is run after changes to storage. Take a look at the | |
|
||
Default: | ||
|
||
Supported placeholders: | ||
- `%(user)`: logged-in user | ||
|
||
Command will be executed with base directory defined in `filesystem_folder` (see above) | ||
|
||
##### predefined_collections | ||
|
||
Create predefined user collections | ||
|
@@ -1528,7 +1557,7 @@ The ``radicale`` package offers the following modules. | |
|
||
`ìtem` | ||
: Internal representation of address book and calendar entries. Based on | ||
[VObject](https://eventable.github.io/vobject/). | ||
[VObject](https://github.com/py-vobject/vobject/). | ||
|
||
`log` | ||
: The logger for Radicale based on the default Python logging module. | ||
|
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
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
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