All the applications you love—built and maintained by a community member who understands what you need on Unraid. Love a particular app or plugin? Donate directly to the developer to support their work.
Lyrion Music Server (formerly SlimServer, SqueezeCenter, Squeezebox Server, and Logitech Media Server) is a streaming audio server, developed in particular to support the Squeezebox range of digital audio receivers.
Configuration:
/config - this path is used to store the configuration and the database files of Lyrion Music Server.
/music - set this path to where you store your music files.
Self-hosted music scrobble database to create personal listening statistics and charts as a substitute for Last.fm / Libre.fm / GNU FM.
Features include:
* Easy import of existing scrobble data in CSV format (from last.fm, etc.)
* Custom rules for importing/scrobbling
* Custom and 3rd party integrations for album/artist artwork
* Insightful charting to display time-sliced "top charts" for tracks and artists
* Full listening history and track lookup using multiple sources (youtube, gmusic, spotify..)
* A first-party chrome extension for scrobbling from the web as well as third-party scrobble-compliant endpoints for use with other extensions and applications
See the project, https://github.com/krateng/maloja, for more information or the support thread for recommended setup.
A TUI and CLI to help you manage your HTPC and -Arrs setup.
This is a command-line tool, designed to be used in a terminal. It does not have a web interface. Enter the container console to use it: https://github.com/Dark-Alex-17/managarr?tab=readme-ov-file#the-managarr-cli
Mopidy is an extensible music server written in Python.
Mopidy plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a range of MPD and web clients.
This is Mopidy for unraid with support for snapcast and icecast It is based on whhoesj/mopidy with additin of TuneIn and Youtube and Iris Web Interface.
set up the docker
set up the network to br0 with an ip
set up volume mount to /mnt/user/appdata/mopidy/mopidy.conf >> /mopidy.conf
set up volume mount for tmp/snapfifo if you use snapcast /mnt/user/appdata/mopidy/tmp/ >> /tmp
set up volume mount for your local media
generate the mopidy.conf file
Doc here https://docs.mopidy.com/en/latest/config/
example here https://github.com/wernight/docker-mopidy/blob/master/README.md
authentication for soundcloud and spotify https://www.mopidy.com/authenticate/
use my docker icecast or snapcast for music streaming:
for audio you need a special config
for snapcast you have to generate the audio output in a pipe file /tmp/snapfifo this is mounted in both docker container
output = audioresample ! audio/x-raw,rate=48000,channels=2,format=S16LE ! audioconvert ! wavenc ! filesink location=/tmp/snapfifo
icecast
output = lamemp3enc ! shout2send async=false mount=mopidy ip=X.X.X.X port=8000 password=XXXXX
Mopidy is an extensible music server written in Python.
Mopidy plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a range of MPD and web clients.
This is Mopidy3 for unraid with support for snapcast and icecast.
set up the docker
set up the network to br0 with an ip
set up volume mount to /mnt/user/appdata/mopidy/ >> /config/
set up volume mount for tmp/snapfifo if you use snapcast /mnt/user/appdata/mopidy/tmp/ >> /tmp
set up volume mount for your local media
generate the mopidy.conf file Doc here https://docs.mopidy.com/en/latest/config/ example here https://github.com/maschhoff/docker/blob/master/mopidy/mopidy.conf
authentication for soundcloud and spotify https://www.mopidy.com/authenticate/ *authenticate spotify https://developer.spotify.com/documentation/web-api/quick-start/
use my docker icecast or snapcast for music streaming:
for audio you need a special config
for snapcast you have to generate the audio output in a pipe file /tmp/snapfifo this is mounted in both docker container
output = audioresample ! audio/x-raw,rate=48000,channels=2,format=S16LE ! audioconvert ! wavenc ! filesink location=/tmp/snapfifo
icecast
output = lamemp3enc ! shout2send async=false mount=mopidy ip=X.X.X.X port=8000 password=XXXXX
Mopidy is an extensible music server written in Python.
Mopidy plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. You edit the playlist from any phone, tablet, or computer using a range of MPD and web clients.
This is Mopidy3 for unraid with support for snapcast and multiple instances with automatic snapcast stream management.
set up the docker
set up volume mount to /mnt/user/appdata/mopidy/ >> /config/
add TCP ports for MPD, HTTP and TCP ports for each additional instance you want
A configuration has been autogenerated with basic settings. The template for it can be found in the container in /home/templates. It is located in /etc/mopidy
Do NOT modify the part of the audio output setting that says port=4953. This is automatically replaced for each instance generated to fill in the host and port.
To configure the instance and snapcast settings, copy the template to your config folder and modify it. cp /home/templates/server.json /config/.
mstream(https://mstream.io/) is a personal music streaming server. You can use mStream to stream your music from your home computer to any device, anywhere. There are mobile apps available for both Android and iPhone.
Muer is a modern, open-source music player for you and your friends.
Features:
Beautiful UI/UX
Music from Youtube
Self-hosted
Default fallback to Youtube embedded player
Muer is based on Invidious.
Track your music listening history from api-based sources like Spotify, Plex (Tautulli), Subsonic (Airsonic), Jellyfin, Mopidy, Deezer, JRiver, Kodi and record to Last.fm, Maloja, and Listenbrainz
A media server that allows you to stream audio files (e.g. music and audiobooks) that are stored on your unRAID server to Alexa enabled devices such as Amazon Echo or Amazon Dot using voice control.
More details and the full list of features can be found on the My Media For Alexa web site.
Additional detail on setting up My Media For Alexa on unRAID can be found here
To administer the My Media For Alexa server use the WebUI.
A Usenet plugin framework for the *arr ecosystem designed to fill that gap. Can be added to Sonarr, Radarr, Lidarr and Readarr to download media using search plugins under the hood.
This is a template for the Nextcloudpi docker container, this is an all in one solution for someone wanting to run Nextcloud on their unRaid server. More information can be found here:
https://ownyourbits.com/
https://hub.docker.com/r/ownyourbits/nextcloudpi
Before hitting start, select advanced view in the top right corner, add your servers IP address e.g. 192.168.1.5 or the IP of the container if you specify a unique one.
A minimalist podcast synchronization server, for self-hosting your podcast listening / download history. This allows you to keep track of which episodes have been listened to. Previously known as Micro GPodder.
Homepage: http://bpatrik.github.io/pigallery2/
This is a fast (like faster than your PC fast) directory-first photo gallery website, optimised for running on low resource servers (especially on raspberry pi).
✔️ Strenghts:
⚡ Fast, like for real
✔️ Simple. Point to your photos folder and a temp folder and you are good to go
⛔ Weakness:
😥 Its simple. Shows what you have that's it. No gallery changes (photo delete, rotate, enhance, tag, organize, etc), your gallery folder is read-only.
Live Demo @ heroku: https://pigallery2.herokuapp.com/
BasicLogin.
User: Admin
Password: Admin
Plex Media Server
Enjoy your media on all your devices.
All your movie, TV Show, music, and photo collections at your fingertips, anywhere you go on all the devices you love.
Description
PodFetch is a free, web-based Podcast server, which allows to download podcasts from Rss feeds, iTunes and.PodIndex. It also contains a configuration for Single Sign On(SSO) and GPodder synchronization, allowing you to login via AntennaPod and enjoy a synchronized listening experience between the browser and your phone. So just grab your phone, start listening your favorite podcast and once your back at your Laptop you can continue right where you stopped.
Configuration
/db This is where the application stores it SQLite database.
/podcasts This is where all the podcasts are saved locally.
Documentation
https://github.com/SamTV12345/PodFetch/wiki
Rejeto HFS Http File Server
YOU MUST ASSIGN A STATIC IP TO THE DOCKER FOR HFS3 TO WORK.
Please Read: https://raw.githubusercontent.com/bmartino1/unraid-docker-templates/refs/heads/main/Guides/Quick%20Start%20Guide%20For%20Rejeto%20HFS.txt
Access via web your files directly from your disk
You be the server! Share files fresh from your disk, with unlimited space and bandwidth.
Fast! Try zipping 100GB, downloads starts immediately!
Share even a single file with our virtual file system, even with a different name, all without touching the real file. Present things the way you want!
Watch all activities in real-time.
Control bandwidth: decide how much to give.
No intermediaries: give a huge file to your friend without waiting for it to be uploaded on a server first.
Intelligent: HFS tries to detect problems and suggest solutions.
Expandable: find the right plugin, or make you own
Easily run a web page, mange users groups and share a file thorugh your Web Browser.
Docker Compose Varient
https://github.com/bmartino1/hfs-docker
Other Environment HFS Variables
This docker image doesn't have any specific env. Every env starting with HFS_ will be passed to HFS.
Read (https://github.com/rejetto/hfs/blob/main/config.md#how-to-modify-configuration) page to learn more about how envs work.
Docker Volumes and Mounts
You can mount as many volumes as you wish in docker to persist the file storage, but keep in mind that if you want to persist HFS configurations as well you must mount a volume that points to the cwd of HFS (which you can override with HFS_CWD env).
The default hfs cwd of the container is /home/hfs/.hfs
HTTPS make certs Recommend to use admin interface...
openssl req -x509 -newkey rsa:4096 -keyout /mnt/user/appdata/hfs/certificate/privkey.key -out /mnt/user/appdata/hfs/certificate/cert.pem -days 365 -nodes
Docker image for running Roon Server. Roon Server is a software package that provides a “headless” version of Roon. It will be the brain of your music system, managing your music files, streaming services, and your audio devices. Roon Server is used in conjunction with Roon or Roon Remote, both of which provide control functionality.
SageTV is an Open Source PVR and Media Player
Configuration
/opt/sagetv - This is the base directory for the server and other sagetv related files. Under this location there can be a 'server' directory and if the existing 'server' directory exists it will be upgraded.
/var/media - Path for sagetv recordings and videos. Under this directory there should be (or will be created) a 'tv' directory where SageTV recordings will get recorded.
/var/tv - Path for tv recordings if you want to store those in an alternate location.
/var/mediaext - Path for extra media files. This can be whatever you want, but you will configure SageTV to look for videos, music, pictures, etc from this location.
Permissions
PUID - Should be the 'nobody' user for unRAID
PGID - Should be the 'users' group for unRAID
VIDEO_GUID - Should be the 'video' group for unRAID (used if you use PCI/USB video capture devices)
Notes
SageTV will need to use 'host' or 'br0' (set a unique IP) networking, so while the ports are defined, they are not required to be edited. Without 'host' or 'br0', sagetv will think your network clients are connecting as remote placeshifters, and present the placeshifter login. If using br0 mode (preferred) as the IP is unique the WebUI port of 8080 will not have any issues. If running in host mode, make sure you don't have other docker containers that are using port 8080. If you do, then EITHER change SageTV Jetty Port (in plugin configuration) after install, or, update the other docker containers to NOT use port 8080.
On every Docker start, it will check for a new version of SageTV and install it, if it exists. You can force it to stay on a sepcific version by setting the Version in the template. The Version must match exactly the version tag from the github releases.
There are Java 8, 11, and 16 version of these containers. Java 8 will be the default moving forward, but it currently has issues with the the /apps/ path in the Jetty Web UI.
Container version: 2.0.7
SageTV is an Open Source PVR and Media Player
Configuration
/opt/sagetv - This is the base directory for the server and other sagetv related files. Under this location there can be a 'server' directory and if the existing 'server' directory exists it will be upgraded.
/var/media - Path for sagetv recordings and videos. Under this directory there should be (or will be created) a 'tv' directory where SageTV recordings will get recorded.
/var/tv - Path for tv recordings if you want to store those in an alternate location.
/var/mediaext - Path for extra media files. This can be whatever you want, but you will configure SageTV to look for videos, music, pictures, etc from this location.
Permissions
PUID - Should be the 'nobody' user for unRAID
PGID - Should be the 'users' group for unRAID
VIDEO_GUID - Should be the 'video' group for unRAID (used if you use PCI/USB video capture devices)
Notes
SageTV will need to use 'host' or 'br0' (set a unique IP) networking, so while the ports are defined, they are not required to be edited. Without 'host' or 'br0', sagetv will think your network clients are connecting as remote placeshifters, and present the placeshifter login. If using br0 mode (preferred) as the IP is unique the WebUI port of 8080 will not have any issues. If running in host mode, make sure you don't have other docker containers that are using port 8080. If you do, then EITHER change SageTV Jetty Port (in plugin configuration) after install, or, update the other docker containers to NOT use port 8080.
On every Docker start, it will check for a new version of SageTV and install it, if it exists. You can force it to stay on a sepcific version by setting the Version in the template. The Version must match exactly the version tag from the github releases.
There are Java 8, 11, and 16 version of these containers. Java 8 will be the default moving forward, but it currently has issues with the the /apps/ path in the Jetty Web UI.
Container version: 2.0.7
SageTV is an Open Source PVR and Media Player
Configuration
/opt/sagetv - This is the base directory for the server and other sagetv related files. Under this location there can be a 'server' directory and if the existing 'server' directory exists it will be upgraded.
/var/media - Path for sagetv recordings and videos. Under this directory there should be (or will be created) a 'tv' directory where SageTV recordings will get recorded.
/var/tv - Path for tv recordings if you want to store those in an alternate location.
/var/mediaext - Path for extra media files. This can be whatever you want, but you will configure SageTV to look for videos, music, pictures, etc from this location.
Permissions
PUID - Should be the 'nobody' user for unRAID
PGID - Should be the 'users' group for unRAID
VIDEO_GUID - Should be the 'video' group for unRAID (used if you use PCI/USB video capture devices)
Notes
SageTV will need to use 'host' or 'br0' (set a unique IP) networking, so while the ports are defined, they are not required to be edited. Without 'host' or 'br0', sagetv will think your network clients are connecting as remote placeshifters, and present the placeshifter login. If using br0 mode (preferred) as the IP is unique the WebUI port of 8080 will not have any issues. If running in host mode, make sure you don't have other docker containers that are using port 8080. If you do, then EITHER change SageTV Jetty Port (in plugin configuration) after install, or, update the other docker containers to NOT use port 8080.
On every Docker start, it will check for a new version of SageTV and install it, if it exists. You can force it to stay on a sepcific version by setting the Version in the template. The Version must match exactly the version tag from the github releases.
There are Java 8, 11, and 16 version of these containers. Java 8 will be the default moving forward, but it currently has issues with the the /apps/ path in the Jetty Web UI.
Container version: 2.0.7
SageTV is an Open Source PVR and Media Player
including OpenDCT: An open source digital cable tuner network encoder for SageTV
Configuration
/opt/sagetv - This is the base directory for the server and other sagetv related files. Under this location there can be a 'server' directory and if the existing 'server' directory exists it will be upgraded.
/var/media - Path for sagetv recordings and videos. Under this directory there should be (or will be created) a 'tv' directory where SageTV recordings will get recorded.
/var/tv - Path for tv recordings if you want to store those in an alternate location.
/var/mediaext - Path for extra media files. This can be whatever you want, but you will configure SageTV to look for videos, music, pictures, etc from this location.
Permissions
PUID - Should be the 'nobody' user for unRAID
PGID - Should be the 'users' group for unRAID
VIDEO_GUID - Should be the 'video' group for unRAID (used if you use PCI/USB video capture devices)
Notes
SageTV will need to use 'host' or 'br0' (set a unique IP) networking, so while the ports are defined, they are not required to be edited. Without 'host' or 'br0', sagetv will think your network clients are connecting as remote placeshifters, and present the placeshifter login. If using br0 mode (preferred) as the IP is unique the WebUI port of 8080 will not have any issues. If running in host mode, make sure you don't have other docker containers that are using port 8080. If you do, then EITHER change SageTV Jetty Port (in plugin configuration) after install, or, update the other docker containers to NOT use port 8080.
On every Docker start, it will check for a new version of SageTV and install it, if it exists. You can force it to stay on a sepcific version by setting the Version in the template. The Version must match exactly the version tag from the github releases.
There are Java 8, 11, and 16 version of these containers. Java 8 will be the default moving forward, but it currently has issues with the the /apps/ path in the Jetty Web UI.
Container version: 2.0.7
SageTV is an Open Source PVR and Media Player
including OpenDCT: An open source digital cable tuner network encoder for SageTV
Configuration
/opt/sagetv - This is the base directory for the server and other sagetv related files. Under this location there can be a 'server' directory and if the existing 'server' directory exists it will be upgraded.
/var/media - Path for sagetv recordings and videos. Under this directory there should be (or will be created) a 'tv' directory where SageTV recordings will get recorded.
/var/tv - Path for tv recordings if you want to store those in an alternate location.
/var/mediaext - Path for extra media files. This can be whatever you want, but you will configure SageTV to look for videos, music, pictures, etc from this location.
Permissions
PUID - Should be the 'nobody' user for unRAID
PGID - Should be the 'users' group for unRAID
VIDEO_GUID - Should be the 'video' group for unRAID (used if you use PCI/USB video capture devices)
Notes
SageTV will need to use 'host' or 'br0' (set a unique IP) networking, so while the ports are defined, they are not required to be edited. Without 'host' or 'br0', sagetv will think your network clients are connecting as remote placeshifters, and present the placeshifter login. If using br0 mode (preferred) as the IP is unique the WebUI port of 8080 will not have any issues. If running in host mode, make sure you don't have other docker containers that are using port 8080. If you do, then EITHER change SageTV Jetty Port (in plugin configuration) after install, or, update the other docker containers to NOT use port 8080.
On every Docker start, it will check for a new version of SageTV and install it, if it exists. You can force it to stay on a sepcific version by setting the Version in the template. The Version must match exactly the version tag from the github releases.
There are Java 8, 11, and 16 version of these containers. Java 8 will be the default moving forward, but it currently has issues with the the /apps/ path in the Jetty Web UI.
Container version: 2.0.7