jellyfin-discord-bot

jellyfin-discord-bot

Docker app from manrw's Repository

Overview

A simple and leightweight Discord Bot, that integrates with your Jellyfin Media server and enables you to listen to your favourite music directly from discord. Supports Discord commands and easy configuration with environment variables. To set up your own instance, please follow the guide: https://github.com/manuel-rw/jellyfin-discord-music-bot/wiki

Nest Logo


Jellyfin Discord Bot

A simple Discord bot that enables you to broadcast
your Jellyfin Media Server music collection to voice channels.
It's Open Source and can easily be hosted by yourself!

Thank you KGT1 for starting this project!
This is a fork of their original repository and re-uses some of their code.

badge badge badge




✨ Features

  • Easy usage with the Discord command system (e.g. /play, /pause, ...)
  • Can broadcast audio from playlists, albums and songa directly to your audience in Discord
  • Control the bot via the player controls from Jellyfin itself
  • Playback reporting (aka. scrobbling)
  • Interactive playlist manager and pretty embed messages for user feedback
  • Shuffle mode to randomly play through your playlist
  • Random mode to add random songs from your library to the playlist ...and more!

⚙️ Commands

  • /play <search:string> <next:boolean?> <type:Type?> Play a song, album or playlist from your media server
  • /playliked Plays songs, that you have liked
  • /playlist <page:number?> Shows the current playlist in real time in pagination
  • /random <count:number?> Enque a random mix of songs from your media server
  • /volume <volume:number> Set the volume of the bot
  • /disconnect Disconnect the bot from voice channels
  • /help Show a help message with information regarding the bot
  • /next Skip the current song
  • /pause Pause or unpause playback
  • /previous Go back to the previous song
  • /shuffle Shuffle the current playlist randomly
  • /status Show the current bot status including connection information for Jellyfin
  • /stop Stop playback and clear the queue
  • /summon Summon the bot to your voice channel
  • /bot-status <activity:Activity> <status:Status> <text:string> Set the bot's status
  • /nowplaying Shows what the bot is currently playing.

[!TIP] <search:string> -> Equals to a required parameter.
<next:boolean?> -> Equals to an optional parameter.

🚀 Installation

Please check out the Wiki section in the repository for installation instructions:

https://github.com/manuel-rw/jellyfin-discord-music-bot/wiki

📌 About this project

This project was originally started by KGT1 on GitHub in 2020. I came across this project in late 2021, when I wanted to enjoy my music on Discord. I never got it to run as I wanted it to. Since the original project was created under the MIT license, I decided to make a fork in 2022 with my own version. Although this project re-uses some code of the original project, it has been completely rewritten in other parts using NestJs and features now a module-based approach.

⛔ Limitations

  • Bot does not support shards. This means you cannot use it in multiple servers concurrently.
  • Album covers are not visible unless they are remote (e.g., provided by an external metadata provider)
  • Streaming any video content in voice channels (See this issue)

💻 Development

I'm open to any contributions to this project. Start contributing by:

  • Installing Node.js 24.x or higher
  • Installing pnpm: https://pnpm.io/installation
  • Fork the repository and clone your fork using Git
  • Running pnpm install in the root director
  • Copy the .env.example file to .env and adjust the environment variables
  • Run pnpm start:dev to start the bot in the HMR (Hot Module Replacement) mode (recommended)

After you made the desired changes, run pnpm build to build the project. Make sure that the Docker build keeps working using docker built -t jellyfin-discord-music-bot:latest . and running docker run --name jellyfin-discord-music-bot -d jellyfin-discord-music-bot:latest to run the container with the local image. Afterward, please push the changes to your fork and create a pull request targeting this repository.

👤 Credits

Install jellyfin-discord-bot on Unraid in a few clicks.

Find jellyfin-discord-bot in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for jellyfin-discord-bot Review the template variables and paths Click Install

Related apps

Details

Repository
ghcr.io/manuel-rw/jellyfin-discord-music-bot:latest
Last Updated2026-07-15
First Seen2023-01-17

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Host Port 1Porttcp
Target
3000
Value
3000
DISCORD_CLIENT_TOKENVariable

The bot secret token, that can be obtained from the Discord developer portal. Use the guide for exact instructions.

JELLYFIN_SERVER_ADDRESSVariable

The Jellyfin server to connect to. Do not end with

JELLYFIN_AUTHENTICATION_USERNAMEVariable

The username to use to connect to Jellyfin

JELLYFIN_AUTHENTICATION_PASSWORDVariable

The password to use to connect to Jellyfin

LOG_LEVELVariable

Overrides the default log level. Defaults to LOG. Can be set to DEBUG to search for problems.

Default
ERROR|WARN|LOG|DEBUG|VERBOSE
Value
LOG
ALLOW_EVERYONE_FOR_DEFAULT_PERMSVariable

Allow everyone to control the bot by default for new servers and users

Default
false|true
Value
false
UPDATER_DISABLE_NOTIFICATIONSVariable

By default, update notifications will be sent to the Discord server owner. If you do not like this, you can disable these notifications.

Default
false|true
Value
false