Community Apps

Browse our large and growing catalog of applications to run in your Unraid server. 

Download the Plugin  |  Become a Community Developer


Community-built

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.

Created by a Legend

Andrew (aka Squid) has worked tirelessly to build and enhance the experience of Community Apps for users like you.

Moderated and Vetted

Moderators ensure that apps listed in the store offer a safe, compatible, and consistent experience. 


maloja's Icon

maloja beta

Media ServersMusic

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.

Mopidy's Icon

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

Mopidy3's Icon

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

Mopidy3's Icon

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's Icon

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.

MyMediaForAlexa's Icon

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.

nextcloudpi's Icon

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.

PiGallery2's Icon

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

PodFetch's Icon

PodFetch

Media ServersMusic, Other

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

RejettoHFS3's Icon

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

RoonServer's Icon

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.

sagetvopen-sagetv-server-java11's Icon

sagetvopen-sagetv-server-java11

Media ApplicationsMusic, Photos, Video, Media ServersMusic, Photos, Video

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

sagetvopen-sagetv-server-java16's Icon

sagetvopen-sagetv-server-java16

Media ApplicationsMusic, Photos, Video, Media ServersMusic, Photos, Video

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

sagetvopen-sagetv-server-java8's Icon

sagetvopen-sagetv-server-java8

Media ApplicationsMusic, Photos, Video, Media ServersMusic, Photos, Video

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

sagetvopen-sagetv-server-opendct-java11's Icon

sagetvopen-sagetv-server-opendct-java11

Media ApplicationsMusic, Photos, Video, Media ServersMusic, Photos, Video

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

sagetvopen-sagetv-server-opendct-java16's Icon

sagetvopen-sagetv-server-opendct-java16

Media ApplicationsMusic, Photos, Video, Media ServersMusic, Photos, Video

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

sagetvopen-sagetv-server-opendct-java8's Icon

sagetvopen-sagetv-server-opendct-java8

Media ApplicationsMusic, Photos, Video, Media ServersMusic, Photos, Video

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