|
2 | 2 |
|
3 | 3 | A self-hostable fork of [`christianselig/apollo-backend`](https://github.com/christianselig/apollo-backend), the archived Go service that powered push notifications, inbox checks, and subreddit/user watchers for the original [Apollo for Reddit](https://apolloapp.io/) iOS app. |
4 | 4 |
|
5 | | -This fork is meant to be run together with **[JeffreyCA/Apollo-ImprovedCustomApi](https://github.com/JeffreyCA/Apollo-ImprovedCustomApi)** — the iOS tweak that lets sideloaded Apollo builds use the user's own Reddit OAuth credentials. The tweak's **Settings > Custom API > Notification Backend** URL field points at an instance of this fork; with that wired up, push notifications and watchers come back to life for sideloads that have a real APNs entitlement. |
| 5 | +<p align="center"> |
| 6 | + <img src="images/IMG_4294.jpg" width="270" |
| 7 | + alt="Private message push notification from a self-hosted Apollo backend on the iOS lock screen"> |
| 8 | + |
| 9 | + <img src="images/IMG_4295.jpg" width="270" |
| 10 | + alt="Post reply push notification from a self-hosted Apollo backend on the iOS lock screen"> |
| 11 | +</p> |
| 12 | + |
| 13 | +<p align="center"><em>Reddit push notifications, back on a sideloaded Apollo — delivered entirely by your own server.</em></p> |
| 14 | + |
| 15 | +This fork is meant to be run together with **[Apollo-Reborn/Apollo-Reborn](https://github.com/Apollo-Reborn/Apollo-Reborn)** — the iOS tweak that lets sideloaded Apollo builds use the user's own Reddit OAuth credentials. The tweak's **Settings > Custom API > Notification Backend** URL field points at an instance of this fork; with that wired up, push notifications and watchers come back to life for sideloads that have a real APNs entitlement. |
6 | 16 |
|
7 | 17 | Single-tenant by design: one deployment serves one sideloaded Apollo build (one bundle ID, one Apple Developer team), and can be shared with a small group of friends running the same build. |
8 | 18 |
|
| 19 | +> [!TIP] |
| 20 | +> **New to self-hosting this?** Start with the **[step-by-step Getting Started guide](GETTING_STARTED.md)** — it walks you all the way from installing Docker and creating an APNs key to a test push landing on your phone (and optionally exposing the backend to the internet). This README is the technical reference; that guide is the on-ramp. |
| 21 | +
|
9 | 22 | ## Before you start |
10 | 23 |
|
11 | 24 | Three hard prerequisites — none of these are negotiable, and skipping any of them produces failure modes that look like backend bugs but aren't: |
@@ -37,7 +50,7 @@ The result: the backend boots end-to-end with only Postgres, Redis, an APNs auth |
37 | 50 | Requires Docker + an APNs auth key (`.p8`) from a paid Apple Developer account. |
38 | 51 |
|
39 | 52 | ```bash |
40 | | -git clone https://github.com/<you>/apollo-backend |
| 53 | +git clone https://github.com/Apollo-Reborn/apollo-backend |
41 | 54 | cd apollo-backend |
42 | 55 |
|
43 | 56 | # 1. Drop your APNs key |
@@ -101,6 +114,11 @@ In the tweak (Apollo on-device): **Settings > Custom API > Notification Backend* |
101 | 114 |
|
102 | 115 | Tap **Test Connection** to verify the tweak can reach `GET /v1/health`. |
103 | 116 |
|
| 117 | +<p align="center"> |
| 118 | + <img src="images/IMG_4296.jpg" width="300" |
| 119 | + alt="Apollo Settings > Custom API > Notification Backend, showing the Backend URL and Registration Token fields and the Test Connection button"> |
| 120 | +</p> |
| 121 | + |
104 | 122 | Make sure the **Reddit API Key**, **Redirect URI**, and **User Agent** in the tweak's main Custom API screen are filled in for the bundle ID you signed with — Reddit's API rules want a UA shaped like `ios:com.you.Leto:v1.0 (by /u/yourname)`. The tweak attempts to inject these into registration bodies; if injection fails, the backend falls back to the matching `REDDIT_*` env vars (see above). Either path works. |
105 | 123 |
|
106 | 124 | Installed-app Reddit credentials are accepted — just leave the **Reddit API Secret** field blank in the tweak. |
|
0 commit comments