# Overseerr Webhook Proxy A lightweight Spring Boot proxy that receives [Overseerr](https://overseerr.dev/) / [Jellyseerr](https://github.com/Fallenbagel/jellyseerr) webhook notifications and forwards them to **multiple Discord servers**, with per-notification-type routing. ## How it works ``` Overseerr ──POST /webhook──► Proxy ──► Discord Server A (Admins) ──► Discord Server B (General) ──► Discord Server C (Film fans) ``` Each Discord embed is colour-coded by notification type and includes the media title, requester name, and media type. --- ## Quick start ### 1. Clone & configure ```bash git clone https://github.com/yourname/overseerr-webhook-proxy cd overseerr-webhook-proxy mkdir config cp src/main/resources/application.yml config/application.yml ``` Edit `config/application.yml` and replace the placeholder webhook URLs with your real Discord webhook URLs. ### 2. Run with Docker Compose ```bash docker compose up -d ``` ### 3. Configure Overseerr In Overseerr → **Settings → Notifications → Webhook**: | Field | Value | |-------|-------| | Webhook URL | `http://:8080/webhook` | | JSON payload | *(leave as default)* | Click **Test** to send a test notification and verify it arrives in Discord. --- ## Configuration reference (`application.yml`) ```yaml proxy: routes: MEDIA_APPROVED: - https://discord.com/api/webhooks/ID1/TOKEN1 # admins - https://discord.com/api/webhooks/ID2/TOKEN2 # general MEDIA_AVAILABLE: - https://discord.com/api/webhooks/ID2/TOKEN2 # general only MEDIA_FAILED: - https://discord.com/api/webhooks/ID1/TOKEN1 # admins only default: # catch-all - https://discord.com/api/webhooks/ID1/TOKEN1 ``` ### Supported notification types | Type | Description | |------|-------------| | `MEDIA_PENDING` | New request submitted | | `MEDIA_APPROVED` | Request approved | | `MEDIA_DECLINED` | Request declined | | `MEDIA_AVAILABLE` | Media is now available | | `MEDIA_FAILED` | Download/processing failed | | `TEST_NOTIFICATION` | Test from Overseerr settings | | `default` | Catches any type not listed above | --- ## Building without Docker Requirements: Java 21, Maven 3.9+ ```bash mvn package -DskipTests java -jar target/overseerr-webhook-proxy-1.0.0.jar \ --spring.config.additional-location=file:./config/application.yml ``` --- ## Endpoints | Method | Path | Description | |--------|------|-------------| | `POST` | `/webhook` | Receives Overseerr notifications | | `GET` | `/health` | Simple liveness check | | `GET` | `/actuator/health` | Spring Boot Actuator health |