selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

jellyfin-discord-music-bot logo

Self-host jellyfin-discord-music-bot

1.6.0

Discord bot for streaming Jellyfin music to voice channels

ReleaseOpen SourceMIT
Updated9 hours ago
LanguageTypescript
Setup difficultyModerate
Stars
158
Port
3000 (web server / health check)
Requires
Discord account and bot application, Jellyfin or Emby media server
Docker
ghcr.io/manuel-rw/jellyfin-discord-music-bot
Install with Docker
Play command demonstration in Discord

What is jellyfin-discord-music-bot?

Jellyfin Discord Bot is a self-hosted Discord bot written in TypeScript using NestJS that integrates with Jellyfin or Emby media servers to stream music to Discord voice channels. Users control playback through Discord slash commands like /play, /pause, /skip, /volume, and /playlist. The bot supports playlists, albums, shuffle, random playback, and scrobbling. It requires a Jellyfin/Emby server and a Discord bot application. Deployment options include Docker, Docker Compose, Kubernetes, or running from source with Node.js and pnpm. The bot does not support sharding, so it can only serve one Discord server at a time. Album art only displays for remote covers, and video streaming is not supported.

Should you self-host jellyfin-discord-music-bot?

jellyfin-discord-music-bot scores 46/100 on selfhost.directory (how scoring works) and ranks #28 of 59 in Music Streaming. It has 158 GitHub stars.

It shipped 9 stable releases in the past year. The latest, 1.6.0, came out on 14 October 2026. New versions land roughly every 5 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is koel (75/100, 17 320 stars). It scores higher overall, so compare the two before you pick. See jellyfin-discord-music-bot vs koel side by side.

Features

  • Bot status display
  • Discord slash commands
  • Interactive playlist manager
  • Liked songs playback
  • Music streaming to voice channels
  • Now playing display
  • Playback control from Jellyfin
  • Random playback
  • Scrobbling / playback reporting
  • Shuffle Mode
  • Volume control

jellyfin-discord-music-bot README

How to install jellyfin-discord-music-bot

Install jellyfin-discord-music-bot with Docker

Docker
Environment variables
DISCORD_CLIENT_TOKEN, JELLYFIN_SERVER_ADDRESS, JELLYFIN_AUTHENTICATION_USERNAME, JELLYFIN_AUTHENTICATION_PASSWORD

docker run
-p 3000:3000
-e DISCORD_CLIENT_TOKEN=''
-e JELLYFIN_SERVER_ADDRESS=''
-e JELLYFIN_AUTHENTICATION_USERNAME=''
-e JELLYFIN_AUTHENTICATION_PASSWORD=''
ghcr.io/manuel-rw/jellyfin-discord-music-bot:latest

Replace environment variables with your token, Jellyfin address, and credentials

How to configure jellyfin-discord-music-bot

  • ALLOW_EVERYONE_FOR_DEFAULT_PERMSfalseAllow everyone to use commands on new servers

    Allow everyone to use commands on new servers

    values: true / false

  • AUTO_DELETE_BOT_MESSAGES_SECONDS0Auto-delete bot messages after specified seconds (0 disables)

    Auto-delete bot messages after specified seconds (0 disables)

    values: A number

  • DISCORD_CLIENT_TOKENThe Discord secret token from the Discord Developer Portal

    The Discord secret token from the Discord Developer Portal

    values: A string

  • JELLYFIN_AUTHENTICATION_PASSWORDPassword of the Jellyfin/Emby account for the bot

    Password of the Jellyfin/Emby account for the bot

    values: A string

  • JELLYFIN_AUTHENTICATION_USERNAMEUsername of the Jellyfin/Emby account for the bot

    Username of the Jellyfin/Emby account for the bot

    values: A string

  • JELLYFIN_SERVER_ADDRESSThe Jellyfin/Emby server address (must start with http:// or https://, no trailing slash)

    The Jellyfin/Emby server address (must start with http:// or https://, no trailing slash)

    values: URL

  • LOCKED_CHANNEL_IDSComma-separated Discord channel IDs to restrict bot commands

    Comma-separated Discord channel IDs to restrict bot commands

    values: Comma separated list of Discord channel IDs

  • LOG_LEVELLOGApplication log level

    Application log level

    values: ERROR, WARN, LOG, DEBUG, VERBOSE

  • PORTWeb server port

    Web server port

    values: Must be a number, must be higher than 0

  • UPDATER_DISABLE_NOTIFICATIONSfalseDisable update check notifications

    Disable update check notifications

    values: true / false

jellyfin-discord-music-bot releases & version history

More in Music Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…