====== AgenDAV ======
[[https://github.com/agendav/agendav|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 [[services:radicale|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.
===== Installation =====
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:
podman compose pull
podman compose up
===== Reverse Proxy Configuration =====
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.