The open-source CalDAV frontend.
Own your day. Own your data.
DayFront is a modern, self-hosted web interface for calendars and tasks stored on an existing CalDAV server.
DayFront uses standard CalDAV and WebDAV discovery and connects to standards-compliant CalDAV servers through the caldav configuration.
Status: DayFront 1.0 is stable and ready for self-hosted deployment. Compatibility reports for different CalDAV servers are welcome.
- Month, week, day, and agenda calendar views
- Multiple CalDAV calendars with visibility controls and colors
- Create, edit, and safely delete CalDAV calendars
- Toggleable, read-only external iCalendar (
.ics) subscriptions - Timed, all-day, multi-day, and recurring events
- Fast event search with optional fuzzy matching and keyboard navigation
- Multi-day selection that pre-fills event and task date ranges
- Series and single-occurrence recurrence editing
- Dated and undated CalDAV tasks
- Recurring tasks, subtasks, priorities, completion workflows, and a focused task sidebar
- Light and dark themes
- Docker, Compose, and Unraid deployment support
CalDAV implementations vary in optional features and edge-case behavior. DayFront writes explicit weekdays for weekly all-day recurrences and UTC metadata timestamps for reliable synchronization with Android clients and calendar widgets. Compatibility reports and fixes for different servers are welcome.
| Calendar | Calendar and tasks | Login |
|---|---|---|
|
|
|
| Calendar | Calendar and tasks | Login |
|---|---|---|
|
|
|
DayFront can use one administrator-configured CalDAV account (single-user, the default) or prompt each visitor to sign in with their own CalDAV credentials (caldav-login). Login sessions are encrypted, persistent, and inaccessible to frontend JavaScript. Use HTTPS before exposing either mode externally. See the security guide.
Requirements:
- Node.js 24 or newer
- pnpm 10.14.0
- An accessible CalDAV server
pnpm install --frozen-lockfile
cp config.example.yaml config.yaml
pnpm devEdit config.yaml with the CalDAV URL and credentials. The web application is available at http://localhost:5173 during development.
Run the complete local verification suite with:
pnpm verifyThe stable image is available for AMD64 and ARM64 hosts:
docker pull ghcr.io/erik-a-smith/dayfront:latestAlternatively, copy config.example.yaml to config.yaml, configure the CalDAV connection, and build locally:
docker compose up -d --build dayfrontSee the deployment guide for Docker, Compose, Unraid, timezone, health-check, and reverse-proxy configuration.
Using an HTTPS reverse proxy or tunnel? Set
DAYFRONT_SERVER_TRUST_PROXY=true. In Unraid, set Reverse Proxy / Tunnel Access totrue. Login through the proxy will otherwise be rejected because DayFront cannot recognize the browser's HTTPS origin. Enable this only for a trusted proxy that overwrites forwarded headers.
DayFront is available under the MIT License.




