Files
ProxmoxVE/install/radicale-install.sh
T

76 lines
1.7 KiB
Bash
Raw Normal View History

2025-02-05 13:25:27 +01:00
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
2025-02-05 13:25:27 +01:00
# 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
2025-02-05 13:25:27 +01:00
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
2026-02-13 03:18:29 -05:00
$STD apt install -y apache2-utils
2025-02-05 13:25:27 +01:00
msg_ok "Installed Dependencies"
2026-02-13 03:18:29 -05:00
PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "Radicale" "Kozea/Radicale" "tarball" "latest" "/opt/radicale"
2025-02-05 13:25:27 +01:00
msg_info "Setting up Radicale"
2026-02-13 03:18:29 -05:00
cd /opt/radicale
2026-10-03 08:19:10 +02:00
RNDPASS=$(random_password 13)
2026-02-13 03:18:29 -05:00
$STD htpasswd -c -b -5 /opt/radicale/users admin "$RNDPASS"
cat <<EOF >~/radicale.creds
Radicale Credentials
Admin User: admin
Admin Password: $RNDPASS
EOF
2025-02-05 13:25:27 +01:00
2026-02-13 03:18:29 -05:00
mkdir -p /etc/radicale
cat <<EOF >/etc/radicale/config
[server]
hosts = 0.0.0.0:5232
2025-02-05 13:25:27 +01:00
2026-02-13 03:18:29 -05:00
[auth]
type = htpasswd
htpasswd_filename = /opt/radicale/users
htpasswd_encryption = sha512
2025-02-05 13:25:27 +01:00
2026-02-13 03:18:29 -05:00
[storage]
type = multifilesystem
filesystem_folder = /var/lib/radicale/collections
[web]
type = internal
EOF
msg_ok "Set up Radicale"
2025-02-05 13:25:27 +01:00
2026-02-13 03:18:29 -05:00
msg_info "Creating Service"
2025-02-05 13:25:27 +01:00
cat <<EOF >/etc/systemd/system/radicale.service
2026-02-13 03:18:29 -05:00
[Unit]
2025-02-05 13:25:27 +01:00
Description=A simple CalDAV (calendar) and CardDAV (contact) server
After=network.target
Requires=network.target
[Service]
2026-02-13 03:18:29 -05:00
WorkingDirectory=/opt/radicale
ExecStart=/usr/local/bin/uv run -m radicale --config /etc/radicale/config
2025-02-05 13:25:27 +01:00
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