# finb/bark

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/finb-bark).**

8,516 stars · 652 forks · Swift · MIT

## Links

- GitHub: https://github.com/Finb/Bark
- Homepage: https://bark.day.app
- awesome-repositories: https://awesome-repositories.com/repository/finb-bark.md

## Topics

`ios` `ios-app` `ios-swift` `mvvm` `mvvm-architecture` `push-notifications` `rxcocoa` `rxdatasources` `rxswift`

## Description

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.

## Tags

### Networking & Communication

- [iOS Push Notification Deliveries](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/notification-delivery-services/push-notification-providers/mobile-push-notification-deliveries/ios-push-notification-deliveries.md) — Sends custom messages to an iPhone via HTTP requests, with support for titles, bodies, and automated actions.
- [iOS Push Notification Clients](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/notification-delivery-services/push-notification-providers/web-push-notifications/web-push-notification-receivers/ios-push-notification-clients.md) — An iOS app that receives and displays custom push notifications from a self-hosted or third-party server.
- [APNs Bridge Services](https://awesome-repositories.com/f/networking-communication/http-service-frameworks/apns-bridge-services.md) — Translates standard HTTP POST or GET requests into Apple Push Notification service (APNs) payloads for delivery.
- [Self-Hosted](https://awesome-repositories.com/f/networking-communication/push-notification-servers/self-hosted.md) — Runs a push notification backend on Docker to send alerts to iOS devices without relying on third-party services.
- [Self-Hosted iOS](https://awesome-repositories.com/f/networking-communication/push-notification-servers/self-hosted-ios.md) — A server that receives HTTP requests and forwards them as push notifications to iOS devices, designed for self-hosting.
- [URL Launchers](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/notification-delivery-services/push-notification-providers/web-push-notifications/push-notification-listeners/url-launchers.md) — Opens a specified URL when the user taps a received push notification. ([source](https://cdn.jsdelivr.net/gh/finb/bark@master/README.md))
- [URL-Launching Notification Handlers](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/notification-delivery-services/push-notification-providers/web-push-notifications/web-push-notification-receivers/url-launching-notification-handlers.md) — Opens a specified web address when a user taps a received push notification on their iPhone.

### Part of an Awesome List

- [Push Notifications](https://awesome-repositories.com/f/awesome-lists/media/push-notifications.md) — Provides an HTTP API to send custom push notifications to iOS devices. ([source](https://cdn.jsdelivr.net/gh/finb/bark@master/README.md))
- [History Archivers](https://awesome-repositories.com/f/awesome-lists/media/push-notifications/history-archivers.md) — Ships a local history feature that archives received push notifications for later review. ([source](https://cdn.jsdelivr.net/gh/finb/bark@master/README.md))

### Development Tools & Productivity

- [Notification-Triggered](https://awesome-repositories.com/f/development-tools-productivity/clipboard-management/clipboard-content-transformers/automation-workflows/clipboard-automation/notification-triggered.md) — Automatically copies notification content to the iOS clipboard on receipt for quick reuse.
- [Notification-Triggered Clipboard Copies](https://awesome-repositories.com/f/development-tools-productivity/clipboard-management/clipboard-copying/notification-triggered-clipboard-copies.md) — Automatically copies notification content to the iOS clipboard on push receipt for quick reuse.
- [Push Notification HTTP APIs](https://awesome-repositories.com/f/development-tools-productivity/cron-scheduling/http-request/push-notification-http-apis.md) — Accepts notification delivery via simple GET or POST requests with query parameters or JSON body.

### DevOps & Infrastructure

- [Notification Service Extensions](https://awesome-repositories.com/f/devops-infrastructure/push-notification-services/apple-push-notification-integrations/notification-service-extensions.md) — Runs app code on the device to intercept and process incoming push payloads before display.
- [Script-Triggered Push Notifications](https://awesome-repositories.com/f/devops-infrastructure/push-notification-services/script-triggered-push-notifications.md) — Triggers notifications from scripts, cron jobs, or CI pipelines to deliver real-time alerts to a mobile device.
- [Self-Hosted Deployments](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-deployments.md) — Deploys the notification backend on user-owned infrastructure using Docker for full control. ([source](https://cdn.jsdelivr.net/gh/finb/bark@master/README.md))

### Programming Languages & Runtimes

- [Push Notification Payload Parsers](https://awesome-repositories.com/f/programming-languages-runtimes/type-annotations/request-parameter-parsing/push-notification-payload-parsers.md) — Parses incoming HTTP requests to extract title, body, and optional parameters for push notification delivery.

### Data & Databases

- [Local Persistence](https://awesome-repositories.com/f/data-databases/local-persistence.md) — Stores received notifications in a local database on the iOS device for later review.

### Mobile Development

- [URL-Launching Notification Dispatchers](https://awesome-repositories.com/f/mobile-development/push-notification-dispatchers/url-launching-notification-dispatchers.md) — Opens a specified URL in Safari or another app when the user taps the push notification.

### User Interface & Experience

- [Notification History Centers](https://awesome-repositories.com/f/user-interface-experience/notification-history-centers.md) — Stores received push notifications in a local history log for later review or retrieval.

### Web Development

- [Docker Deployments](https://awesome-repositories.com/f/web-development/self-hosted-file-servers/docker-deployments.md) — Packages the notification backend as a Docker container for one-command self-hosted deployment.
