Bark is a self-hosted push notification system for iOS devices that bridges HTTP requests to Apple's Push Notification service. It provides a complete pipeline for sending custom alerts from scripts, cron jobs, or CI pipelines directly to an iPhone, with the server component designed for Docker-based deployment on personal infrastructure.
The system distinguishes itself through automated notification handling capabilities. When a push arrives, Bark can automatically copy the notification body or a custom value to the iOS clipboard, open a specified URL when the user taps the notification, and archive received messages in a local history for later review. These actions are controlled through configurable payload parsing that extracts title, body, and optional parameters from incoming HTTP requests.
The project includes an iOS client app that receives and displays notifications, a notification service extension that processes payloads on the device before display, and a server component that translates HTTP GET or POST requests into APNs payloads. The entire stack is designed for self-hosting, giving users full control over their notification infrastructure without relying on third-party services.
Documentation covers server deployment via Docker, the HTTP API for sending notifications, and configuration of the iOS client's automated actions.