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. Listen to his story.

Moderated and Vetted

Moderators ensure that apps listed in the store offer a safe, compatible, and consistent experience. Learn more about our guidelines.


plex's Icon

Plex(https://plex.tv) organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone Plex Media Server. Straightforward design and bulk actions mean getting things done faster.

PlexAniSync's Icon

Plexanisync lets you synchronize your plex library with anilist, plugin from RickDB, Docker-Hub version maintained by Mizz141. A premade custom_mappings.yaml file is available on github: https://github.com/mizz141/PlexAniSync-Mappings along with additional installation instructions (Highly Recommended)

pyTivo's Icon

PyTivopyTivo is both an HMO and GoBack server. Similar to TiVo Desktop, pyTivo loads many standard video compression codecs and outputs mpeg2 (or in some cases, h.264) video to the TiVo. However, pyTivo is able to load many more file types than TiVo Desktop.

sagetvopen-sagetv-opendct's Icon

sagetvopen-sagetv-opendct

Media ServersVideo

An open source digital cable tuner network encoder for SageTV Container version: 2.0.7

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

SeaFile's Icon

Seafile is an open source enterprise file sync and share platform with high reliability and performance. Seafile provides similar feature set to Dropbox, Google Drive and Office 365, while it allows users to host the server on their own hardware. The core feature of Seafile is file sync and share. It provides client apps for most operating systems like Windows, Mac OS, Linux, iOS and Android. It also provides a user-friendly web interface for accessing files in a web browser.

Serviio's Icon

Serviio is a freeware media server designed to let users stream music, video, or image files to DLNA compliant televisions, Blu-ray players, game consoles, and Android or Windows Mobile devices on a home network. Make sure to give it some time then restart the container at least once. If you want to use a custom config you need to map the path: /opt/serviio/config to your AppData install directory.

shinobipro's Icon

Default tag is spaceinvaderone/shinobi_pro_unraid:latest but this can be changed to :nvidia To use your Nvidia GPU for encoding 1. Use the Nvidia Unraid build of Unraid 2. Set the repository tag to :nvidia ( spaceinvaderone/shinobi_pro_unraid:latest ) 3. Under Extra Parameters: add --runtime=nvidia 4. Set template field Nvidia build only -- Driver capabilities: to all 5. Set template field Nvidia build only -- GPU ID: to your GPU id from the nvida unraid plugin Shinobi is the Open Source CCTV Solution written in Node.JS. Designed with multiple account system, Streams by WebSocket, and Save to WebM. Shinobi can record IP Cameras and Local Cameras. Features Time-lapse Viewer (Watch a hours worth of footage in a few minutes) 2-Factor Authentication Defeats stream limit imposed by browsers With Base64 (Stream Type) and JPEG Mode (Option) Records IP Cameras and Local Cameras Streams by WebSocket, HLS (includes audio), and MJPEG Save to WebM and MP4 Can save Audio Push Events - When a video is finished it will appear in the dashboard without a refresh Region Motion Detection (Similar to ZoneMinder Zone Detection) Represented by a Motion Guage on each monitor "No Motion" Notifications 1 Process for Each Camera to do both, Recording and Streaming Timeline for viewing Motion Events and Videos Sub-Accounts with permissions Monitor Viewing Monitor Editing Video Deleting Separate API keys for sub account Cron Filters can be set based on master account Stream Analyzer built-in (FFprobe GUI) Monitor Groups Can snapshot images from stream directly Lower Bandwith Mode (JPEG Mode) Snapshot (cgi-bin) must be enabled in Monitor Settings Control Cameras from Interface API Get videos Get monitors Change monitor modes : Disabled, Watch, Record Embedding streams Dashboard Framework made with Google Material Design Lite, jQuery, and Bootstrap

Yet Another Proxy (YAP) for SmoothStreams.tv Docker Image Environment variables will take precedence over manual changes to proxysettings.json and will persist across container restarts. This means that if you set the YAP_USERNAME and YAP_PASSWORD for instance when you create the container, these will always be placed in the proxysettings.json file, even if you edit the file manually with a text editor. For Plex setup see: https://github.com/stokkes/docker-sstvproxy#plex

Syncs two Radarr/Sonarr/Lidarr servers through the web API. Useful for syncing a 4k radarr/sonarr instance to a 1080p radarr/sonarr instance. Note you cannot have a mix of radarr, lidarr, or sonarr config setups at the same time. You will need to setup separate instances of syncarr IMPORTANT: REMOVE THE VARIABLES YOU'RE NOT USING

tautulli-notification-digest's Icon

tautulli-notification-digest

Media ServersVideo, Tools / UtilitiesUtilities

tautuilli-notification-digest (TND) acts a middleman between Discord and Tautulli for notifying you about recently added media to your plex server. It collects all of the Recently Added notifications Tautulli would send to a Discord notification agent throughout the day and then compiles them all into **one** notification that is sent on a schedule you configure. It reduces multiple, noisy notifications for active plex server into one digestable message sent once a day. You will need to make changes to Tautulli before TND is usable on unraid. Refer to the Support Thread or use the Quick Start guide in the project README to get started.

TinyMediaManager3's Icon

TinyMediaManager3

Media ApplicationsVideo, Other, Media ServersVideo, Other

tinyMediaManager is a media management tool written in Java/Swing. It is written to provide metadata for the Kodi Media Center (formerly known as XBMC), MediaPortal and Plex media server. Due to the fact that it is written in Java, tinyMediaManager will run on Windows, Linux and macOS (and possible more OS).

tubesync's Icon

TubeSync is a PVR (personal video recorder) for YouTube. Or, like Sonarr but for YouTube (with a built-in download client). It is designed to synchronize channels and playlists from YouTube to local directories and update your media server once media is downloaded. This is a preview release of TubeSync, it may contain bugs but should be usable. *I am not the creator or maintainer of this container I am merely providing the Unraid template.

tvh-iptv-config's Icon

tvh-iptv-config

Media ServersVideo

TVH-IPTV-Config (TIC) provides a simple IPTV config frontend for Tvheadend. Tvheadend(https://www.tvheadend.org/), AKA "TVH", is a TV streaming server and recorder supporting, among other things, IPTV input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming and there are a bunch of clients out there to use as clients for watching. The catch is that on its own, Tvheadend can be complicated to setup for IPTV. Once you read through all the documentation and forum posts on how to do it, it works well. But that is a steep learning curve. In addition to this, if you were to just throw a IPTV playlist of thousands of channels at the thing, well... good luck with that mess. To get it working really well, there is a lot of mouse clicking here and there and perhaps the odd ffmpeg pipe to configure on each MUX and... who as time for that! TIC should make life easy(ish) when setting up IPTV on Tvheadend. Features: - Easily import/configure channels from playlists. Assign logos, EPG, and multiple stream sources per channel. - Automatically generate IPTV networks in TVH per playlist configured with a number of connections allowed. - Automatically manage a custom EPG based on channel selection. - Automatically create muxes in TVH for each stream asssociated with a configured channel. Configure muxes with FFmpeg pipes to improve compatibility and provide a local buffer. - Automatically map mux services to channels in TVH. - Automaticlaly configure optimal recording settings. - + Much more little tweaks behind the scenes... Note: This container requires that you, the user, also install and maintain a seperate Tvheadend container. Advanced Configuration: LIMIT CPU USE: 1) Toggle this Docker Container template editor to "Advanced View". 2) In the "Extra Parameters" field, add "--cpus='1'". This value depends on the number of cores available to the container. To limit to 50%, set this value to 0.5 * n cores. If you have 2 cores available to this container, "--cpus='.5'" will equal 25% of that available CPU resources. To limit the CPU cores available to the continer, use "CPU Pinning" LIMIT RAM ALLOCATION: 1) Toggle this Docker Container template editor to "Advanced View". 2) In the "Extra Parameters" field, add "--memory='1g'". Tvheadend and TIC can use on average around 100Mib - 500 Mib of RAM for various tasks. Even though limiting RAM is unnecessary as this container should not ever need more that 1GB RAM it is good practice to do so.

tvheadend's Icon

tvheadend

Media ServersVideo, Other

Tvheadend(https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SATIP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SATIP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).

twonky-server's Icon

TwonkyMedia server (TMS) is DLNA-compliant UPnP AV server software from PacketVideo. TwonkyMedia server can be used to share and stream media to most UPnP AV or DLNA-compliant clients, in addition to non-UPnP devices through the HTML, RSS, and JSON supported front ends.

Universal-Media-Server's Icon

Universal-Media-Server

Media ServersMusic, Photos, Video

Universal Media Server is a DLNA-compliant UPnP Media Server. It is capable of sharing video, audio and images between most modern devices. It was originally based on PS3 Media Server by shagrath, in order to ensure greater stability and file-compatibility. This is a headless install, you need to edit the file UMS.conf in oder to configure it. Refer to the default file below https://raw.githubusercontent.com/UniversalMediaServer/UniversalMediaServer/master/src/main/external-resources/UMS.conf Note: you may need to stop the container before editing the config file, otherwise your changes might not get saved.

Watchlistarr's Icon

Watchlistarr

Media ServersVideo

Sync RSS Plex watchlists in realtime with Sonarr and Radarr https://github.com/nylonee/watchlistarr

zappiti-server's Icon

zappiti-server

Media ServersMusic, Photos, Video

Docker container to install and run Zappiti Server app as a local Cloud to manage your library using your Unraid server. Your files used for the collection are saved only on your machine.