selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Calino logo

Self-host Calino

v0.41.0

Local-first CalDAV calendar for the web

BetaOpen SourceMIT
Updated5 days ago
LanguageTypescript
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
344
RAM
128 MB
Port
8080 (HTTP web interface)
Docker
ghcr.io/ivan-malinovski/calino
Install with Docker
Calino desktop calendar viewMobile month viewMobile task viewDesktop tasks viewDesktop journal view with markdown supportCommand palette with natural language event creation

What is Calino?

Calino is a lightweight, browser-based calendar client for CalDAV and JMAP servers like Nextcloud, Baikal, Radicale, Stalwart, iCloud, and Fastmail. It runs as a static single-page application with no backend — all calendar data, credentials, and settings stay in the browser's localStorage and IndexedDB. You get multiple calendar views (month, week, day, agenda, year), natural-language event creation, recurring tasks and journals, CardDAV contacts, full-text search, color-coded categories, desktop notifications, PWA installation for offline use, and optional settings sync across devices via a hidden CalDAV calendar. Self-hosting works via Docker (multi-arch images on GHCR), Docker Compose, or any static host. A master-password setup wizard lets administrators preconfigure CalDAV accounts and webcal subscriptions for users. The project is MIT-licensed and under active development.

Should you self-host Calino?

Calino scores 48/100 on selfhost.directory (how scoring works) and ranks #17 of 30 in Calendar & Contacts. It has 344 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.41.0, came out on 22 October 2026. New versions land roughly every 3 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Radicale (69/100, 5 154 stars). It scores higher overall, so compare the two before you pick. See Calino vs Radicale side by side.

Features

  • CalDAV Sync

Calino README

How to install Calino

Install Calino with Docker

Docker
Environment variables
VITE_SITE_URL, CALINO_ENABLE_SW, CALINO_GITHUB_REPO, CALINO_CONTACT_EMAIL, CALINO_SELF_HOSTED (all build-time)

docker run -d -p 8080:8080 ghcr.io/ivan-malinovski/calino:latest

Pre-built multi-arch images (amd64 + arm64) on GHCR. :latest and :main point to latest stable release. Pin version tag without leading v (e.g., :0.30.0) for fixed image.

How to configure Calino

  • CALINO_CONTACT_EMAILcalendar@malinov.skiContact email shown in app footer

    Contact email shown in app footer

    values: Email address

  • CALINO_ENABLE_SWfalseEnable service worker for offline support. Requires Service-Worker-Allowed header from reverse proxy.

    Enable service worker for offline support. Requires Service-Worker-Allowed header from reverse proxy.

    values: true, false

  • CALINO_GITHUB_REPOivan-malinovski/CalinoGitHub repo slug shown in app footer / about links

    GitHub repo slug shown in app footer / about links

    values: GitHub repo slug (user/repo)

  • CALINO_PROXY_ALLOWED_ORIGINSComma-separated Calino origins allowed to use the self-hosted CORS proxy. Empty = allow any origin.

    Comma-separated Calino origins allowed to use the self-hosted CORS proxy. Empty = allow any origin.

    values: Comma-separated URLs

  • CALINO_PROXY_ALLOWED_TARGETSComma-separated CalDAV host(s) allowed as proxy targets. Empty = allow any public HTTPS target.

    Comma-separated CalDAV host(s) allowed as proxy targets. Empty = allow any public HTTPS target.

    values: Comma-separated hostnames

  • CALINO_SELF_HOSTEDtrue (Docker), false (manual)Mark a manual static build as self-hosted. Permits direct browser connections to plain-HTTP DAV servers; use only on trusted network or VPN. Docker builds enable this by default.

    Mark a manual static build as self-hosted. Permits direct browser connections to plain-HTTP DAV servers; use only on trusted network or VPN. Docker builds enable this by default.

    values: true, false

  • VITE_SITE_URLhttps://calino.ioPublic URL where Calino is served. Used for SEO meta tags, Open Graph cards, canonical link, and structured-data JSON-LD block. Must NOT include a trailing slash.

    Public URL where Calino is served. Used for SEO meta tags, Open Graph cards, canonical link, and structured-data JSON-LD block. Must NOT include a trailing slash.

    values: Any valid URL without trailing slash

Calino releases & version history

More in Calendar & Contacts

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…