feat: add CalDAV synchronization with automatic sync
- Add CaldavService with tsdav/ical.js for CalDAV server communication - Add CaldavController, CaldavRepository, and caldav routes - Add client-side CaldavConfigService with sync(), config CRUD - Add CalDAV settings UI with config load/save in settings screen - Sync on login, auto-login (AuthGuard), periodic timer (calendar), and sync button - Push single events to CalDAV on server-side create/update/delete - Push all events to CalDAV after chat event confirmation - Refactor ChatService to use EventService instead of direct EventRepository - Rename CalDav/calDav to Caldav/caldav for consistent naming - Add Radicale Docker setup for local CalDAV testing - Update PlantUML diagrams and CLAUDE.md with CalDAV architecture
This commit is contained in:
25
apps/server/docker/radicale/docker-compose.yml
Normal file
25
apps/server/docker/radicale/docker-compose.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
name: Radicale
|
||||
services:
|
||||
radicale:
|
||||
image: ghcr.io/kozea/radicale:stable
|
||||
ports:
|
||||
- 5232:5232
|
||||
volumes:
|
||||
- config:/etc/radicale
|
||||
- data:/var/lib/radicale
|
||||
|
||||
volumes:
|
||||
config:
|
||||
name: radicale-config
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
o: bind
|
||||
device: ./config
|
||||
data:
|
||||
name: radicale-data
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
o: bind
|
||||
device: ./data
|
||||
Reference in New Issue
Block a user