Send private push notifications to your iOS devices locally.
GitHub RepoImpressions182

Send private push notifications to your iOS devices locally.

@githubprojectsPost Author

Project Description

View on 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 -X POST "https://your-bark-server/your-device-key" \
         -d 'title="Hello"&body="World from my server!"'
    

Check out the full setup and configuration details on the GitHub repository.

Final Thoughts

Bark-Server solves a specific problem elegantly. It's not for building mass-market notification systems for an app, but it's perfect for developer-centric alerts, home lab monitoring, or personal automation. It removes the middleman and gives you direct, private control over your phone's notifications from your own code. If you've ever wanted a dead-simple way to ping your phone from your scripts, this tool is worth an hour of your time to set up.


@githubprojects

Back to Projects
Project ID: b5eec868-6c44-4889-b65b-7c550757fff4Last updated: December 31, 2025 at 04:27 PM