petits-scripts-persos/radicale_server.sh
2025-06-06 00:14:54 +02:00

43 lines
937 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
echo "vars"
user="emails"
venv="/home/$user/.cache/radicale-venv"
htpasswd="$venv/htpasswd"
#locale_ip_addr="$(ip -o -4 a show dev usb0 | grep -Po 'inet[[:space:]]+\K192.168.42.[0-9]{1,3}')"
locale_ip_addr="192.168.42.205"
port=5232
echo ip
sudo ip a add "$locale_ip_addr/32" dev usb0 || true
sudo -u "$user" bash <<EOF
set -euo pipefail
echo "Creating venv"
if [ ! -d "$venv" ] || [ -z "$(ls -A "$venv")" ] ; then
python -m venv "$venv"
. "$venv/bin/activate"
pip3 install radicale
fi
echo "populating htpasswd. Enter password :"
if [ ! -s "$htpasswd" ] ; then
htpasswd -c "$htpasswd" dav
fi
echo "activating venv"
. "$venv/bin/activate"
echo "runing on $locale_ip_addr:$port"
python3 -m radicale -H "$locale_ip_addr:$port" --storage-filesystem-folder=~/.contacts/bdays --auth-type=htpasswd --auth-htpasswd-encryption md5 --auth-htpasswd-filename "$htpasswd"
EOF
echo "OK. Terminated."