Notifications
OpenTask supports two notification channels. Both are optional.
Web Push
Works on all platforms including iOS Safari. Notifications are sent directly from your server — no third-party relay.
Setup
Generate VAPID keys:
bashnpx web-push generate-vapid-keysAdd the keys to your environment:
yaml# docker-compose.yml environment: VAPID_PUBLIC_KEY: <your-public-key> VAPID_PRIVATE_KEY: <your-private-key> VAPID_EMAIL: mailto:you@example.comRestart OpenTask. Users can enable notifications from Settings.
iOS Native Push (APNs)
Real push notifications with interactive snooze actions on iPhone and Apple Watch. Requires the iOS companion app and an Apple Developer Program membership ($99/year).
Setup
- Create an APNs key in the Apple Developer portal
- Download the
.p8key file to your server - Add the configuration to your environment:yaml
environment: APNS_KEY_ID: <key-id> APNS_TEAM_ID: <team-id> APNS_KEY_PATH: /path/to/AuthKey.p8 APNS_BUNDLE_ID: io.mcnitt.opentask - Build and install the iOS companion app (see iOS App)
Notification Actions
From the lock screen or notification banner:
- Done — Mark the task complete
- +1hr — Snooze to the next rounded hour
- All +1hr — Bulk snooze all overdue tasks
Long-press a notification for an interactive snooze grid with preset times, hour increments, and decrements.
Apple Watch handles notification actions directly on the wrist — no iPhone interaction needed.
