diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-06-03 17:12:58 +0200 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-06-03 17:48:25 +0200 |
| commit | ba3a7bc94421f93818f9196bd8a2c32eb7d9d940 (patch) | |
| tree | 952392f7cce20e3848caefbf98ec8316894cc1ca /services/radicale/fs/sbin/cmd.sh | |
| parent | 9d6c353c5ef82f862ad06ef84b13e65567997201 (diff) | |
| download | net_services-ba3a7bc94421f93818f9196bd8a2c32eb7d9d940.tar.gz net_services-ba3a7bc94421f93818f9196bd8a2c32eb7d9d940.zip | |
feat: better initialization script
Rename `tools/build` → `net_services`
`net_services` can be run from anywhere (previously it was not creating
the fs archives in the right place). It also creates the directories
specified in `.env`, generate a self-signed certificate if no
certificate is available, initialize the first Radicale user if missing,
and copy example configuration files if missing for cgit.
`generate_self_signed_cert` has been removed (its code is in
`net_services`)
Diffstat (limited to 'services/radicale/fs/sbin/cmd.sh')
| -rwxr-xr-x | services/radicale/fs/sbin/cmd.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/services/radicale/fs/sbin/cmd.sh b/services/radicale/fs/sbin/cmd.sh new file mode 100755 index 0000000..4d09e75 --- /dev/null +++ b/services/radicale/fs/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" |
