mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-10-12 05:35:16 +00:00
* Radicale: install the bcrypt and argon2 extras The update replaces pyproject.toml and the venv, so a bcrypt or argon2 module added by hand was gone afterwards and Radicale refused to start with htpasswd_encryption = bcrypt, argon2 or autodetect. The service now runs uv with --extra bcrypt --extra argon2, which upstream already defines. The update patches existing units and restarts the service. * Radicale: enable the extras only once the code defines them argon2 is an extra since v3.5.4 and uv refuses unknown extras, so patching before the release update broke older installs. Patch after it instead, and only when pyproject.toml defines the extra.
76 lines
1.7 KiB
Bash
76 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Copyright (c) 2021-2026 community-scripts ORG
|
|
# Author: Slaviša Arežina (tremor021)
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
# Source: https://radicale.org/ | Github: https://github.com/Kozea/Radicale
|
|
|
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
|
color
|
|
verb_ip6
|
|
catch_errors
|
|
setting_up_container
|
|
network_check
|
|
update_os
|
|
|
|
msg_info "Installing Dependencies"
|
|
$STD apt install -y apache2-utils
|
|
msg_ok "Installed Dependencies"
|
|
|
|
PYTHON_VERSION="3.13" setup_uv
|
|
fetch_and_deploy_gh_release "Radicale" "Kozea/Radicale" "tarball" "latest" "/opt/radicale"
|
|
|
|
msg_info "Setting up Radicale"
|
|
cd /opt/radicale
|
|
RNDPASS=$(random_password 13)
|
|
$STD htpasswd -c -b -5 /opt/radicale/users admin "$RNDPASS"
|
|
cat <<EOF >~/radicale.creds
|
|
Radicale Credentials
|
|
Admin User: admin
|
|
Admin Password: $RNDPASS
|
|
EOF
|
|
|
|
mkdir -p /etc/radicale
|
|
cat <<EOF >/etc/radicale/config
|
|
[server]
|
|
hosts = 0.0.0.0:5232
|
|
|
|
[auth]
|
|
type = htpasswd
|
|
htpasswd_filename = /opt/radicale/users
|
|
htpasswd_encryption = sha512
|
|
|
|
[storage]
|
|
type = multifilesystem
|
|
filesystem_folder = /var/lib/radicale/collections
|
|
|
|
[web]
|
|
type = internal
|
|
EOF
|
|
msg_ok "Set up Radicale"
|
|
|
|
msg_info "Creating Service"
|
|
cat <<EOF >/etc/systemd/system/radicale.service
|
|
[Unit]
|
|
Description=A simple CalDAV (calendar) and CardDAV (contact) server
|
|
After=network.target
|
|
Requires=network.target
|
|
|
|
[Service]
|
|
WorkingDirectory=/opt/radicale
|
|
ExecStart=/usr/local/bin/uv run --extra bcrypt --extra argon2 -m radicale --config /etc/radicale/config
|
|
Restart=on-failure
|
|
# User=radicale
|
|
# Deny other users access to the calendar data
|
|
# UMask=0027
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
systemctl enable -q --now radicale
|
|
msg_ok "Created Service"
|
|
|
|
motd_ssh
|
|
customize
|
|
cleanup_lxc
|