-#!/bin/bash -l
+#!/bin/bash
-[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
+[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
+if [[ -e /b/errhandle/err ]]; then
+ source /b/errhandle/err
+else
+ set -eE -o pipefail
+ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+fi
+source /a/bin/bash_unpublished/source-state
+source /a/bin/distro-functions/src/package-manager-abstractions
# davdroid setup instructions at the bottom
# main docs:
d=/etc/systemd/system/radicale.service.d
mkdir -p $d
-sudo dd of=$d/override.conf <<EOF
+cat >$d/override.conf <<EOF
[Unit]
# this unit is configured to start and stop whenever openvpn-client@mail.service
# does
After=$vpn_ser@mail.service
[Install]
-RequiredBy=openvpn-client@mail.service
+RequiredBy=$vpn_ser@mail.service
EOF
-ser daemon-reload # not sure this is needed
+systemctl daemon-reload # not sure this is needed
pi-nostart radicale
+# use persistent uid/gid
+IFS=:; read -r _ _ uid _ < <(getent passwd radicale ); unset IFS
+IFS=:; read -r _ _ gid _ < <(getent group radicale ); unset IFS
+if [[ $uid != 609 ]]; then
+ systemctl stop radicale ||:
+ usermod -u 609 radicale
+ groupmod -g 609 radicale
+ usermod -g 609 radicale
+fi
+find /o/radicale /var/log/radicale -xdev -exec chown -h 609 {} +
+find /o/radicale -xdev -exec chgrp -h 609 {} +
+
+
# I moved /var/lib/radicale after it's initialization.
# I did a sudo -u radicale git init in the collections subfolder
# after it gets created, per the git docs.
-lnf -T /o/radicale /var/lib/radicale
+/a/exe/lnf -T /o/radicale /var/lib/radicale
# from https://www.williamjbowman.com/blog/2015/07/24/setting-up-webdav-caldav-and-carddav-servers/
setini hosts 10.8.0.4:5232 server
if [[ $HOSTNAME == $MAIL_HOST ]]; then
- sgo radicale
+ systemctl start radicale
+ systemctl enable radicale
fi
# disable power management feature, set to 240 min sync interval,
# davdroid from f-druid.
# login with url and user name
-# username ian,
-# url https://cal.iankelling.org
+# url https://cal.iankelling.org/ian
# username ian
-# pass, see password manager
+# pass, see password manager for radicale
#
# add account dialog:
#