aboutsummaryrefslogtreecommitdiffstats
path: root/services/radicale/sbin
diff options
context:
space:
mode:
authorThomas Vanbesien <tvanbesi@proton.me>2026-02-12 21:24:22 +0100
committerThomas Vanbesien <tvanbesi@proton.me>2026-02-13 01:57:39 +0100
commit3561b6d86c329272b1825adaf3ca49c9aff76119 (patch)
treefb8bd4148a7ddca115878b96326a6d6c96c6776f /services/radicale/sbin
parent6c22a6e48e8ff49a69434eca7a7b78158576cb7b (diff)
downloadnet_services-3561b6d86c329272b1825adaf3ca49c9aff76119.tar.gz
net_services-3561b6d86c329272b1825adaf3ca49c9aff76119.zip
Refactor
- Remove cgit files; pull cgit image from Docker Hub instead of building locally - Tidy up file hierarchy - Minor fixes and edits
Diffstat (limited to 'services/radicale/sbin')
-rwxr-xr-xservices/radicale/sbin/cmd.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/services/radicale/sbin/cmd.sh b/services/radicale/sbin/cmd.sh
new file mode 100755
index 0000000..4d09e75
--- /dev/null
+++ b/services/radicale/sbin/cmd.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+set -eu
+
+conf=/etc/radicale/conf.ini
+
+if [ ! -d /data/collections/.git ]; then
+ # Initialize git repository (for storage)
+ echo "Starting server..."
+ /venv/bin/radicale --config "$conf" --logging-level error &
+ radicale_pid=$!
+ echo "Waiting for server to start..."
+ until curl -sf http://127.0.0.1:5232; do sleep 1; done
+ echo "Server started"
+
+ cd /data/collections
+ git init --initial-branch=radicale
+ git config user.name radicale
+ git config user.email radicale@domain.tld
+ cat <<EOF >.gitignore
+.Radicale.cache
+.Radicale.lock
+.Radicale.tmp-*
+EOF
+ git add -A && (git diff --cached --quiet || git commit -m "Initialization commit")
+
+ echo "Restarting server..."
+ kill "$radicale_pid"
+ wait "$radicale_pid"
+else
+ echo "Initialization skipped"
+fi
+
+exec /venv/bin/radicale --config "$conf"