AgenDAV is a CalDAV web client which features an AJAX interface to allow users to manage their own calendars and shared ones. It can connect to your Radicale server and let you interact and show your calendars from a web page.
Unfortunately i didn't managed to make it work with Authelia authentication so i gave up. Also, it might not work as sub-path, and i didn't want to spin up an additional subdomain just for this. The project overall seems abandoned since a few years, anyway.
I didn't want to create a dedicated user, since i already have one for Radicale.
So create the following docker-compose.yml:
version: "2" services: agendav: image: ghcr.io/nagimov/agendav-docker:latest container_name: agendav environment: - AGENDAV_SERVER_NAME=127.0.0.1 - AGENDAV_TITLE=Agend - AGENDAV_FOOTER=Hosted by me - AGENDAV_ENC_KEY=xxxxxxxxx - AGENDAV_CALDAV_SERVER=https://radicale.mydomain.com/%u - AGENDAV_CALDAV_PUBLIC_URL=https://radicale.mydomain.com - AGENDAV_TIMEZONE=UTC - AGENDAV_LANG=en - AGENDAV_LOG_DIR=/tmp/ ports: - "8099:8080"
Pick an available port. then: <code bash> podman compose pull podman compose up
As for NGINX, this is my best attempt:
location = /agendav { return 301 https://$host/agendav/; } location /agendav/ { # The trailing / is important! proxy_pass http://127.0.0.1:8099/; # The / is important! proxy_set_header Connection $http_connection; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header Authorization ""; }
but it didn't ever really worked.