Skip to content
Pocket Homelab
Get the appComing soon to the App Store

Pocket Calendar

v0.7.1 · Self-hosted · MIT

One calendar for the household, on your server.

Pocket Calendar has day, week, month, year and agenda views, recurring events done properly and quick add in plain words. It shares calendars with the people on your server, finds a time when everyone is free, syncs with iPhone, Mac, Android and Thunderbird over CalDAV, and shows what your other Pocket apps have planned.

  • Included in Pocket Box
  • Sign in with Pocket Core
  • Works with CalDAV and iCloud and Google Calendar and Nextcloud
The agenda on an iPhone: today's tasks, a standup, a one-to-one, a coffee invitation waiting for an answer and the binsThe agenda on an iPhone: today's tasks, a standup, a one-to-one, a coffee invitation waiting for an answer and the bins

Week

Your week, and everything around it.

Work, personal and family calendars in their own colours, a calendar someone shared with you, and along the top the tasks, car service and birthdays that come from your other Pocket apps.

A week in Pocket Calendar with standups, a design review, lunch, a dentist visit, swimming lessons and tasks along the topA week in Pocket Calendar with standups, a design review, lunch, a dentist visit, swimming lessons and tasks along the top

Quick add

Type it the way you say it.

Write an event in plain words and see what was understood before you press Enter: the day and time, the place, the calendar and who is invited.

  • Drag to create, move and resize, with undo
  • Repeats from every weekday to the second Tuesday of the month
  • Time zones per event, and daylight saving done right
Quick add turning a typed dinner into an event on Sunday at 19:30 at a trattoria, in the Family calendar, with a guestQuick add turning a typed dinner into an event on Sunday at 19:30 at a trattoria, in the Family calendar, with a guest

People

Find a time that suits everyone.

Pick the people you want to meet and see their busy times next to yours, with the hours when everyone is free marked green. Nobody sees more than free or busy.

  • Share a calendar with a person or everyone: free/busy, read, write or manage
  • Invitations between people on the box, with RSVP
  • Private events stay Busy for the people you share with
The people view: your week next to two household members' busy times, with free hours for everyone shaded greenThe people view: your week next to two household members' busy times, with free hours for everyone shaded green

Events

Made for the phone, too.

On a phone the three-day and agenda views fit the screen, and an event opens as a sheet with its video call, guests and their answers, notes and reminders.

  • Reminders pushed from the server, and a morning agenda
  • Video-call links found in invitations
A sprint retro open on an iPhone with a Join video call button, three guests and a reminder ten minutes beforeA sprint retro open on an iPhone with a Join video call button, three guests and a reminder ten minutes before

And the rest of it

  • Every calendar you have

    A CalDAV server for iPhone, Mac, Android and Thunderbird, two-way accounts for iCloud, Google, Nextcloud and Fastmail, and any .ics or webcal subscription.

  • From your other apps

    Dated tasks from Pocket Tasks, trips, car service, invoice due dates and birthdays from Pocket Contacts appear on their day, and tasks can be ticked off here.

  • Search and shortcuts

    Search across titles, places, notes and guests, keyboard shortcuts, and Recently deleted for 30 days.

  • Strictly per person

    Nobody, admins included, sees a calendar that was not shared with them.

Install

One container, one volume.

Run the image, open it and create the first account. Put it behind HTTPS and set SECURE_COOKIES=true, then add the CalDAV address to your phone.

On a Pocket Box it is already installed and linked to Pocket Core, so your other Pocket apps show up with nothing to configure.

Every setting in the README →

docker run -d --name pocket-calendar -p 8080:8080 -v ./data:/data \
  -e BASE_URL=https://calendar.example.com -e TZ=Europe/Berlin \
  ghcr.io/abjelosevic88/pocket-homelab-calendar:latest