Anchorr

Secure, self-hosted bridge for your media server.

Don't have an account? Register

Configuration

Discord Settings

First, you need to create a Discord application for the bot. Access Discord Developer Portal and log in. Create a new application, then:

  1. Go to "Bot" in the sidebar and click "Add Bot"
  2. In the "Bot" section, scroll down to "Privileged Gateway Intents" and enable SERVER MEMBERS INTENT (required for user mappings feature)
  3. Go to "OAuth2""URL Generator"
  4. Select scopes: bot and applications.commands
  5. Select permissions: Send Messages and Embed Links
  6. Copy the generated URL, open it in your browser, and authorize the bot on your Discord server
  7. Come back here and fill in the Discord Bot Token and Bot Client ID below, then select your server and notification channel from the dropdowns
The secret token of your bot from the Discord Developer Portal -> Bot -> Reset Token
The application's client ID from the Discord Developer Portal -> OAuth2 -> Client ID
Auto-Start: The bot will automatically start when you enter and save Discord credentials for the first time.
Select the Discord server where the bot will operate. Make sure you've added the bot to your server first.
Select the default Discord channel for Jellyfin notifications. You can override this per-library in Step 4. Choose a server above first.
Jellyseerr Settings
The full URL of your Jellyseerr instance.
Your API key from Jellyseerr settings
Media Database Settings
A TMDB API Key is required for searching and fetching movie/show details. Found in the API settings page of your TMDB account after you log in.
Optional, but recommended for richer data like ratings and directors. Create one on the API Key page of OMDb.
Jellyfin Notification Settings
The public URL of your Jellyfin server. Used for the "Watch Now" button.
API key for your Jellyfin server. Generate one in Jellyfin Dashboard → Administration → API Keys. Required for loading libraries and enhanced features.
Testing the endpoint successfully will automatically populate the Jellyfin Server ID field.
Used for redirecting to the correct path of your Jellyfin server media page when using the "Watch Now" button. You can find this in your Jellyfin URL when viewing the page of any movie or show from your library.
seconds (range: 1 second - 10 minutes)
Debounce function to determine how long to wait before sending notifications for multiple episodes/seasons, bundling them into a single notification message.
Map specific Jellyfin libraries to different Discord channels.
Click "Fetch Libraries" to load your libraries, then select a channel for each one.
Note: Unchecked libraries will not send any notifications.

Your Jellyfin Webhook URL

To receive notifications, add this URL to your Jellyfin Webhooks plugin settings:

Note: If you're running Anchorr in Docker, you may need to replace localhost with your server's IP address.

If you don't have the plugin installed, access the Plugins page in your Jellyfin Dashboard, search for Webhook, install it and restart the server.

After the reset, access your Webhook plugin settings and Add Discord Destination.

  1. Complete the Server Url with your Jellyfin server's base URL.
  2. Insert the previously specified URL in the Webhook Url field.
  3. Status must be Enabled.
  4. For Notification Type enable Item Added.
  5. For Item Type select your desired content you want to receive notifications for.
  6. Enable Send All Properties.
  7. Save.
User Mapping

Map Discord users to their Jellyseerr accounts. When a user makes a request from Discord, it will be associated with their Jellyseerr account instead of the API key owner.

Add New Mapping

Select a Discord server member
Select the corresponding Jellyseerr account
Role Permissions

Control who can use bot commands by configuring role-based permissions. If no roles are selected in the allowlist, everyone can use commands. If any role is added to the blocklist, members with that role will be blocked regardless of allowlist settings.

Loading roles...

If empty, all members can use commands. If roles are selected, only members with these roles can use commands.

Loading roles...

Members with these roles will never be able to use bot commands, even if they have an allowed role.
Miscellaneous Settings

Optional settings to enhance your bot experience. These are extra features that can be enabled after your bot is fully configured and running.

If enabled, the bot starts automatically when the container/server restarts and valid Discord credentials are present.
When enabled, users will receive a private message when their requested content becomes available on Jellyfin.
When enabled, all bot responses (search and request results) are sent as ephemeral messages (only visible to the user who used the command). When disabled, successful results are visible to everyone in the channel, but warning messages (e.g., "already on Jellyfin") are always ephemeral.
Customize the colors of Discord notification embeds for different content types.
General application settings for Anchorr.
Select the language for the Anchorr dashboard interface.