DayFront

DayFront

Docker app from MaplePotion's Repository

Overview

DayFront is the open-source CalDAV frontend for calendars and tasks. Connect it to an existing standards-compliant CalDAV server and keep ownership of your data. DayFront has no built-in user login; expose it only through a trusted network or authenticating reverse proxy.

DayFront logo

DayFront

The open-source CalDAV frontend.

Own your day. Own your data.

DayFront month view with CalDAV calendars, events, and tasks

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.

Features

  • 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
  • Series and single-occurrence recurrence editing
  • Dated and undated CalDAV tasks
  • Recurring tasks, subtasks, priorities, and completion workflows
  • Light and dark themes
  • Docker, Compose, and Unraid deployment support

CalDAV implementations vary in optional features and edge-case behavior. Compatibility reports and fixes for different servers are welcome.

Security boundary

DayFront stores CalDAV credentials only on its backend. It does not currently provide its own user authentication. Keep it on a trusted network or place it behind an authenticating HTTPS reverse proxy before exposing it externally. See the security guide.

Local development

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 dev

Edit 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 verify

Container deployment

The stable image is available for AMD64 and ARM64 hosts:

docker pull ghcr.io/erik-a-smith/dayfront:latest

Alternatively, copy config.example.yaml to config.yaml, configure the CalDAV connection, and build locally:

docker compose up -d --build dayfront

See the deployment guide for Docker, Compose, Unraid, timezone, health-check, and reverse-proxy configuration.

License

DayFront is available under the MIT License.

Media gallery

Install DayFront on Unraid in a few clicks.

Find DayFront in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for DayFront Review the template variables and paths Click Install

Requirements

An accessible CalDAV server. Enter its URL and credentials in the required template fields. Advanced settings and external calendar subscriptions can optionally be added in /mnt/user/appdata/dayfront/config.yaml.

Categories

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/erik-a-smith/dayfront:latest
Last Updated2026-08-03
First Seen2026-08-03

Runtime arguments

Web UI
http://[IP]:[PORT:8080]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--security-opt no-new-privileges=true

Template configuration

Web UI PortPorttcp

DayFront HTTP port. Put this behind HTTPS and authentication when exposed outside a trusted LAN.

Target
8080
Default
8080
Value
8080
CalDAV Server URLVariable

Full HTTP or HTTPS URL of the CalDAV server. This environment value overrides caldav.url in config.yaml.

Target
DAYFRONT_CALDAV_URL
CalDAV UsernameVariable

Username used to authenticate with the CalDAV server. This environment value overrides caldav.username in config.yaml.

Target
DAYFRONT_CALDAV_USERNAME
CalDAV PasswordVariable

Password or application token used to authenticate with the CalDAV server. Stored in the local Unraid Docker template and hidden in the form. This environment value overrides caldav.password in config.yaml.

Target
DAYFRONT_CALDAV_PASSWORD
Container TimezoneVariable

System timezone used for container logs and runtime behavior, for example UTC or America/Toronto.

Target
TZ
Default
UTC
Value
UTC
Calendar Display TimezoneVariable

Timezone used to display and interpret calendar values. Use local for each browser's timezone, UTC, or an IANA name such as America/Toronto.

Target
DAYFRONT_CALENDAR_TIMEZONE
Default
local
Value
local
Trust Reverse ProxyVariable

Set true only when DayFront is directly behind a trusted proxy that overwrites forwarded headers.

Target
DAYFRONT_SERVER_TRUST_PROXY
Default
false
Value
false
Advanced Configuration DirectoryPathro

Optional directory containing config.yaml for advanced settings and external calendar subscriptions. Environment fields above take precedence. Mounted read-only because DayFront never modifies it.

Target
/config
Default
/mnt/user/appdata/dayfront
Value
/mnt/user/appdata/dayfront