61 lines
1.3 KiB
Markdown
61 lines
1.3 KiB
Markdown
|
# Incron
|
||
|
|
||
|
A 'cron' daemon that watches the filesystem for changes and performs actions. This is used to auto-apply config for Caddy and Unbound.
|
||
|
|
||
|
This is here mainly to facilitate auto-reloads of Caddy/Unbound during setup and over time. This is especially helpful if using acme.sh for Let's Encrypt certificates as they are regularly updated and once updated need a restart of the Caddy service. This config takes care of that situation as well as updated DNS records in Unbound.
|
||
|
|
||
|
## Inspiration / Sources
|
||
|
|
||
|
- [https://www.cyberciti.biz/faq/linux-inotify-examples-to-replicate-directories/](https://www.cyberciti.biz/faq/linux-inotify-examples-to-replicate-directories/)
|
||
|
|
||
|
## Install
|
||
|
|
||
|
``` bash
|
||
|
|
||
|
apt update
|
||
|
apt install incron
|
||
|
systemctl enable incron
|
||
|
systemctl start incron
|
||
|
|
||
|
```
|
||
|
|
||
|
## Configure
|
||
|
|
||
|
### Unbound
|
||
|
|
||
|
``` bash
|
||
|
|
||
|
cat > /etc/incron.d/unbound.conf <<EOF
|
||
|
/etc/unbound/local_zone IN_CREATE,IN_ATTRIB,IN_MODIFY,IN_DELETE unbound-control reload
|
||
|
EOF
|
||
|
|
||
|
```
|
||
|
|
||
|
### Caddy
|
||
|
|
||
|
``` bash
|
||
|
|
||
|
cat > /etc/incron.d/caddy.conf <<EOF
|
||
|
/etc/caddy/services IN_CREATE,IN_ATTRIB,IN_MODIFY,IN_DELETE killall -USR1 caddy
|
||
|
EOF
|
||
|
|
||
|
```
|
||
|
|
||
|
### Acme.sh Certificate Updates
|
||
|
|
||
|
``` bash
|
||
|
|
||
|
cat > /etc/incron.d/acme-sh.conf <<EOF
|
||
|
/var/acme.sh/domain.tld IN_CREATE,IN_ATTRIB,IN_MODIFY,IN_DELETE killall -USR1 caddy
|
||
|
EOF
|
||
|
|
||
|
```
|
||
|
|
||
|
### Post Configure
|
||
|
|
||
|
``` bash
|
||
|
|
||
|
systemctl restart incron
|
||
|
|
||
|
```
|