Anchorr
Discord bot for media requests via Jellyseerr with Jellyfin notifications
- Self-Hosted
- Jellyfin
- Media Server
- Discord

Overview
Anchorr is a powerful Discord bot designed to streamline media management for self-hosted media server users. It enables seamless media requests through Jellyseerr and delivers real-time notifications when new content lands in your Jellyfin library.
The bot integrates with TMDB and OMDb APIs to provide rich media information, including posters, ratings, synopses, and IMDb links. Users can search for movies and TV shows with autocomplete support, make requests with a single click, and receive personalized notifications when their requested content becomes available.
Anchorr also features a web dashboard for easy configuration, Docker deployment support, and comprehensive permission management through Discord role-based allowlist and blocklist systems.
Technologies
- Node.js
- Express.js
- Discord.js v14
- TMDB API
- OMDb API
- Jellyseerr API
- Jellyfin API
- WebSocket
- JWT Auth
- Docker
- Winston Logger
Key Features
- Media search with autocomplete via /search command
- Trending content browsing with /trending command
- One-click media requests with duplicate detection
- Real-time Jellyfin notifications via WebSocket
- Web dashboard for easy configuration
- Role-based permissions with allowlist/blocklist
- Docker & Docker Compose deployment ready
- Private PM notifications when content is ready
Approach & Architecture
The architecture follows a modular design pattern with separate concerns for API integrations, Discord command handling, and real-time notifications. The core application (app.js) orchestrates Express routes, Discord slash commands, and manages the WebSocket connection to Jellyfin for live updates.
External APIs are abstracted into dedicated modules (tmdb.js, jellyseerr.js, jellyfin.js, omdb.js) with built-in caching using node-cache to minimize API calls and improve response times. The bot implements rate limiting to respect Discord's API limits and provides comprehensive logging with Winston for debugging and monitoring.
For user experience, I focused on rich Discord embeds with movie posters, ratings, and interactive buttons for seamless request flows. The ephemeral mode option ensures responses are only visible to the command user, keeping channels clean while still providing all necessary information.
Screenshots



