Skip to content

Radicale

Radicale is the calendar backend in My Own Suite. It is focused, lightweight, and easy to keep private while still syncing across devices through standard CalDAV clients.

Managing your calendar

Homepage shows your events, but it does not create or edit them. Radicale is a CalDAV server, so event management happens in a calendar client.

Connect your phone

  • iPhone (native Calendar app):
    • Go to Settings -> Apps -> Calendar -> Calendar Accounts -> Add Account -> Add Other Account -> Add CalDAV Account.
    • Server: https://radicale.<your-domain>
    • Username/password: your Radicale credentials.
  • Android:
    • Install DAVx5 for CalDAV sync.
    • Add your Radicale account in DAVx5 using your server URL and credentials.
    • Open your preferred calendar app to create and edit events.

Connect desktop clients

  • Most CalDAV clients work, including Thunderbird and Apple Calendar.
  • Use server URL https://radicale.<your-domain> with your Radicale credentials.

If auto-discovery fails

Use the direct calendar collection URL:

  • https://radicale.<your-domain>/<username>/default-calendar/

Why Radicale was chosen

A calendar holds some of the most personal details of your life, from doctor appointments and family activities to work meetings and travel plans. With Radicale, this sensitive information stays entirely under your control, instead of being stored on servers owned by Google, Apple, or Microsoft.

Radicale was chosen because it replaces only the cloud storage and sync layer, not your calendar app. That means you can keep using the same familiar calendar on your phone or computer, but your data is stored safely on your own server. You get the same user experience, without giving your private schedule to big tech companies.

Built on open CalDAV standards, Radicale works with most calendar clients and operating systems. It focuses on doing one thing well: providing a secure, lightweight synchronization server that respects your privacy and keeps your digital independence intact.

For users migrating away from large cloud providers, Radicale makes the transition seamless: your calendar stays where it belongs, in your hands.

Technical reference

Environment variables

  • RADICALE_ADMIN_USERNAME: Required bootstrap admin username.
  • RADICALE_ADMIN_PASSWORD: Required bootstrap admin password.
  • RADICALE_BASIC_AUTH_B64: Base64 value of username:password used by Caddy internal iCal bridge.
  • RADICALE_ICAL_TOKEN: Shared token used in internal iCal bridge URL path.

Volumes and persistence

  • Required volume mount: /data
  • This stores users, collections, and calendars.

Dependencies and integrations

  • Homepage calendar widget integration uses an internal Caddy bridge endpoint.
  • Caddy injects Radicale Basic Auth header server-to-server.
  • Homepage fetches iCal through RADICALE_ICAL_URL (backend only).

Security model

  • Public endpoint (radicale.${DOMAIN}) remains authenticated.
  • Homepage must use internal URL:
    • http://caddy/internal/radicale-ical/<RADICALE_ICAL_TOKEN>
  • Do not expose /internal/radicale-ical/* on public domains.
  • Do not disable Radicale authentication for convenience.
  • Rotate RADICALE_ICAL_TOKEN and RADICALE_BASIC_AUTH_B64 if leaked.

Customizations in this project

  • Custom entrypoint enforces htpasswd auth and auto-creates admin user.
  • Entry-point auto-creates default calendar:
    • /<RADICALE_ADMIN_USERNAME>/default-calendar/
  • Entry-point seeds one launch-day event for first-run widget validation.