{"repo":"jonesphillip/paje","free":true,"listed":false,"github":"https://github.com/jonesphillip/paje","clone":"git clone https://github.com/jonesphillip/paje.git","description":"Self-hosted push notifications for iOS, powered by Cloudflare Workers.","language":"Swift","stars":38,"topics":[],"license":"Apache-2.0","category":"self-hosted-apps","readme_excerpt":"Paje Self-hosted push notifications for iOS, powered by Cloudflare Workers. What is Paje? Paje is a self-hosted push notification service. Deploy a Cloudflare Worker as your server, build the iOS app with your own Apple Developer account, and send notifications with a single HTTP request. - Fully self-hosted — your server, your APNs credentials, your data - Simple HTTP API — curl -d '{\"body\":\"Hello\"}' https://your-server.workers.dev/my-topic - Dashboard — see subscriptions, messages, and delivery stats - Rich notifications — images, action buttons, click URLs Architecture Component Purpose ----------- --------- Worker HTTP routing, auth, serves dashboard, publish API TopicDO Per-topic Durable Object — stores devices and messages in SQLite, sends APNs push, broadcasts updates over WebSocket iOS App Subscribe to topics, receive push notifications, view message history Prerequisites - Node.js 18+ - Cloudflare account (free plan works) - Apple Developer account ($99/yr — required for APNs) - Xcode 15+ Setup 1. Clone and install 2. Create APNs key 1. Go to Apple Developer Keys 2. Create a new key with Apple Push Notifications service (APNs) enabled 3. Download the .p8 file and note the Key ID 4. Note your Team ID from Membership Details 3. Configure secrets 4. Deploy Your server is live at https://paje. .workers.dev . 5. Build the iOS app 1. Open ios/Paje/Paje.xcodeproj in Xcode 2. Update the Bundle Identifier to match APP BUNDLE ID 3. Select your development team 4. Build and run","default_branch":null,"files":null,"tree":[],"storefront":"/r/jonesphillip","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jonesphillip/paje/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}