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. 


Nextcloud-multimedia's Icon

Nextcloud-multimedia

Cloud, Media ServersPhotos, Video

This is the latest Nextcloud-27.1.4-apache image with additional packages and plugins installed to support videos and facial recognition: - ffmpeg (install from apt repository) - pdlib (built from source) - bzip (built from source) INSTALLATION First install a MariaDB or PostgreSQL container. Changing their paths to /mnt/cache/appdata/... (instead of /mnt/user/appdata/...) will enormously boost Nextcloud's loading times! After that use the database's IP:Port and credentials to install Nextcloud. Optionally install the Swag or Nginx Proxy Manager container allows you to access Nextcloud from outside of your home through HTTPS (do not forget forwarding the Ports 80 and 443 in your router). Note: The proxy itself needs to communicate through HTTP (not HTTPS) with Nextcloud. INSTALL AND CONFIGURE NEXTCLOUD MEMORIES Install Memories from within the Nextcloud application and provide it the base folder for your media when it asks. Launch a console into the container and run the following commands individually: php occ memories:video-setup (follow the prompts) php occ memories:index INSTALL AND CONFIGURE FACIAL RECOGNITION Install the 'face recognition' app from within the Nextcloud application. Launch a terminal for the container and run the following command to initialize it (customize to suit): php occ face:setup --memory 1024M --model 1 From within the application, visit settings the face recognition settings and select a temporary file size. To kick off scanning for faces: php occ face:background_job UPDATES Nextcloud often needs manual interaction to fix database indexes. In those cases execute the following through the Unraid Terminal to fix them: docker exec --user 99 Nextcloud php occ db:add-missing-indices Sometimes this command is needed: docker exec --user 99 Nextcloud php occ db:convert-filecache-bigint --no-interaction

obs-ndi's Icon

The OBS with NDI is incorporated into the container and can be used to stream your desktop. With the latetest OBS version the is support for obs-websocket. The VNC password is 'headless'. You can connect with your own VNC client at 5901 or use the webclient at 6901

PhotoStructure's Icon

PhotoStructure is your new home for all your photos and videos. Cross-platform libraries that you can move seamlessly across Docker, Windows, macOS, and Linux Fast, fun mobile-friendly UI Support for very large (250,000+ asset) libraries Support for almost all RAW and video formats (thanks to LibRaw and FFmpeg) Robust metadata support, including Google Takeouts, XMP sidecars, and sibling inference Robust image and video deduplication PhotoStructure is extremely configurable. See the documentation for details. Be sure to visit PhotoStructure's forum for tips, support, and to vote on what features you want to see next. We also have a discord! To import additional directories or volumes: click "Add another Path" enter a Container path (like "/photos") click Host Path and pick the directory you want to import click "Add", then click "Apply". PhotoStructure will find the new directory automatically if you leave the "Where else are your photos and videos?" section set to "Automatic", which is the default. Initial template by Spants (thanks!)

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

Pinchflat's Icon

Pinchflat is your next YouTube media manager **This is a pre-release of Pinchflat. Things will change and may break. Use at your own risk** Pinchflat is a lightweight and self-contained tool for automatically downloading and organizing media from YouTube

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.

Tunarr's Icon

Create live TV channels from media on your Plex servers, and more! Access your channels by adding the spoofed Tunarr HDHomerun tuner to Plex, Jellyfin, or Emby. Or utilize generated M3U files with any 3rd party IPTV player app. Tunarr is a fork of dizqueTV. **Nvidia GPU Use:** Using the Unraid Nvidia Plugin to install a version of Unraid with the Nvidia Drivers installed and add **--runtime=nvidia** to "extra parameters" (switch on advanced view) and copy your **GPU UUID** to **NVIDIA_VISIBLE_DEVICES.** **Intel GPU Use:** Edit your **go** file to include **modprobe i915**, save and reboot, then add **--device=/dev/dri** to **"extra parameters"** (switch on advanced view)