Send private push notifications to your iOS devices locally.
S

Send private push notifications to your iOS devices locally.

Send private push notifications to your iOS devices locally.

3,515 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Send Private Push Notifications from Your Own Server

Ever needed to get a quick notification on your phone—a server alert, a build completion ping, or just a custom reminder—but didn't want to sign up for a third-party service or deal with Apple's full APNs complexity? There's a clever open-source tool that lets you handle this privately, on your own terms.

It's called Bark-Server, and it's a self-hosted server for sending push notifications to iOS devices. Think of it as your personal, private bridge between any script or application on your computer and your iPhone's notification center.

What It Does

Bark-Server is a lightweight Go application that implements the Apple Push Notification service (APNs) provider protocol. In simpler terms, it's a server you run yourself that can send notifications directly to your iOS devices. You send a simple HTTP POST request (from a curl command, a script, a CI/CD pipeline, etc.) to your Bark-Server instance, and it securely delivers a push notification to your specified device.

Why It's Cool

The beauty of Bark-Server is in its simplicity and privacy. You're not routing your notifications through someone else's server. Everything stays on your own infrastructure. This is great for security-conscious developers or for sending alerts that contain sensitive information you wouldn't want to trust to a third party.

It's also incredibly easy to integrate. Because it just uses HTTP requests, you can trigger notifications from literally anywhere: a bash script monitoring logs, a Python automation, a webhook receiver, or even a cron job. The setup process handles the necessary APNs certificates for you, abstracting away a traditionally complex part of iOS push notifications.

How to Try It

Getting started is straightforward. You'll need a machine with Go installed to build and run the server, and an iOS device to receive the notifications.

  1. Clone and build the server:

    git clone https://github.com/Finb/bark-server.git
    cd bark-server
    go build
    
  2. Run the server. The repository README details configuration, but a basic run might look like this, specifying your paths to the necessary APNs certificate and key:

    ./bark-server --cert=/path/to/cert.pem --key=/path/to/key.pem
    
  3. Set up the iOS app. You'll need the companion "Bark" app from the App Store on your iPhone. When you open it, it will generate a unique endpoint URL for your device.

  4. Start sending. Use curl or any HTTP client to send a notification to your personal endpoint:

    curl

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Dec 30, 2025