Try describing what you need:

Keeper.sh logo

Keeper.sh

★ 1.4k

A self-hosted alternative to Google Calendar

GNU Affero General Public License v3.0Open Core — Some Features Paid3 Containers — 3 containers — light hosting footprintDocker · Compose · SourceNeeds Postgres5+ active committers (12mo)

About

Keeper.sh is a self-hostable calendar synchronization system designed for people who need to keep several calendars aligned across providers. It can ingest events from Google Calendar, Outlook,...

Community Ratings

No ratings yet

Features

  • Google Calendar integration
  • Outlook integration
  • iCloud integration
  • Fastmail integration
  • CalDAV integration
  • ICS/iCal link ingestion
  • Incremental syncing
  • Privacy controls for event fields
  • REST API with API tokens
  • MCP server for AI agents

Details

Last Updated
Oct 29, 2026
Created
Dec 23, 2025
Install Methods
dockerdocker-composesource
Requirements
Bun v1.3.11+DockerDocker ComposePostgreSQLRedisCaddy reverse proxy
Authentication
oauth
API
REST
Backup & Export
database-dump
Runtime / Stack
Docker
Privacy & Independence
Cloud: Optional
Deployment

Deployment: Docker Compose ✓3 Containers — light hosting footprintRuns as 3 containers

Run Keeper.sh yourself

Pick how much you want to manage.

Is this your project? Sponsor a listing

Run Keeper.sh with Docker Compose

Compose file from the Keeper.sh project repository.

3 services · database: postgres · infra: postgres, redis, caddy

no resource limits declared

needs persistent storage (6 volumes)

compose.yaml · @ b71321b · scanned Jun 13, 2026

name: keeper

services:
  postgres:
    image: postgres:17
    container_name: keeper-postgres
    environment:
      POSTGRES_USER: ${DATABASE_USER:-postgres}
      POSTGRES_PASSWORD: ${DATABASE_PASSWORD:-postgres}
      POSTGRES_DB: ${DATABASE_NAME:-postgres}
    ports:
      - 5432:5432
    volumes:
      - keeper-postgres-data:/var/lib/postgresql/data
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    container_name: keeper-redis
    ports:
      - 6379:6379
    volumes:
      - keeper-redis-data:/data
    restart: unless-stopped

  caddy:
    image: caddy:2-alpine
    container_name: keeper-caddy
    ports:
      - "443:443"
      - "443:443/udp"
      - "80:80"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./.pki/root.crt:/data/caddy/pki/authorities/local/root.crt:ro
      - ./.pki/root.key:/data/caddy/pki/authorities/local/root.key:ro
      - keeper-caddy-config:/config
    restart: unless-stopped

volumes:
  keeper-postgres-data:
  keeper-redis-data:
  keeper-caddy-config:

This file may be out of date. Check the Keeper.sh website for current setup steps.

Track your self-hosted stack

Bookmark software to try, rate tools you've used, and keep your collection in one place.

Metadata extracted from README on Sep 13, 2026

Related Software

Zimbra Collaboration logo

Zimbra Collaboration

Email, calendar, collaboration server with Web interface and lots of integrations.
Groupware SuitesEmail SolutionsCalendar and Contacts+2
Details
DAViCal logo

DAViCal

112
Server for calendar sharing (CalDAV) that uses a PostgreSQL database as a data store.
Calendar and ContactsGroupware SuitesSelf Hosting Solutions+1
Details
Manage My Damn Life logo

Manage My Damn Life

644
Manage my Damn Life (MMDL) is a self-hosted frontend for managing CalDAV tasks and calendars.
Calendar and ContactsCopyleft LicenseTask Management+2
Details
calrs logo

calrs

332
calrs is a self-hostable scheduling platform for booking meetings from public links while syncing availability with CalDAV calendars.
Scheduling and BookingsCalendar and ContactsSelf Hosting Solutions
Single Container
Details
Cal.diy logo

Cal.diy

49.5k
Cal.diy is a community-driven, open-source scheduling platform for self-hosting personal scheduling infrastructure.
Calendar and ContactsSelf Hosting SolutionsScheduling and Bookings
5 Containers
Details
Radicale logo

Radicale

5.2k
Radicale is a CalDAV and CardDAV server for calendars, to-do lists, and contacts.
Calendar and ContactsCopyleft LicenseSelf Hosting Solutions
Details
epicyon logo

epicyon

38
ActivityPub server, designed for simplicity and accessibility. Includes calendar, news and sharing economy features to empower your federated community.
Social NetworksCalendar and ContactsSocial Media+1
Details
Nextcloud logo

Nextcloud

37.3k
Nextcloud Server is a self-hosted platform for storing, syncing, sharing, and collaborating on files, contacts, calendars, and other data.
File SynchronizationGroupware SuitesCopyleft License+4
4 ContainersOpen CoreFully FOSS
Details
Meetable logo

Meetable

172
Meetable is a minimal website for aggregating and discovering events, with event pages, tags, iCal feeds, and RSVP support.
Polls and EventsSelf Hosting SolutionsCalendar and Contacts+2
Details
Davis logo

Davis

762
A fully translatable DAV server with a web admin dashboard and frontend for calendars, contacts, and file access.
Calendar and ContactsGroupware SuitesSelf Hosting Solutions+2
3 Containers
Details
Xandikos logo

Xandikos

613
Xandikos is a lightweight CardDAV/CalDAV server that stores data in a Git repository.
Calendar and ContactsCopyleft LicenseSelf Hosting Solutions+1
Single ContainerFully FOSS
Details
Easy!Appointments logo

Easy!Appointments

4.5k
Easy!Appointments is a self-hosted appointment scheduler for booking customers with businesses through a web interface.
Scheduling and BookingsCopyleft LicenseSelf Hosting Solutions+2
Details