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.
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
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
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 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 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.
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
It is a media library. It supports channels, playlists and videos. The primary goal of this application is to provide complete functionality of a media library, while being as lightweight as possible.
It is a media library. It supports channels, playlists and videos. The primary goal of this application is to provide complete functionality of a media library, while being as lightweight as possible.
This is an unRAID OS docker template for:
stremio-docker -- created by tsaridas
All due credit to the creator, tsaridas. GitHub Repo here: https://github.com/tsaridas/stremio-docker
Additional credit to the creators of Stremio, found here for more info: https://www.stremio.com/
Description from tsardias' docker repo:
"Stremio is a free application which lets you stream your favorite shows and movies.
The Docker images in this repository bundle stremio-server, ffmpeg and web player for you, ready to use in a small Alpine image."
unRAID TEMPLATE NOTE:
I setup this template to create and run a docker container that will need almost zero further configuration required from the user.
I simply carried over the settings that tsaridas provided for docker-compose and put them into this xml template for unRAID.
If you are interested in different and/or more advanced/complicated setups, you can add your own ports, variables, and paths to this xml/template and follow tsaridas' instructions for docker-compose, simply interpreting them into the unRAID docker context.
If you have any issues with this docker template, please don't bring them to tsaridas or stremio. They have nothing to do with this template or any bugs I may have introduced or issues specific to unRAID. If the issue is provably with the underlying stremio-server docker image, then gather that evidence and proceed. Thank you.
For now, any issues with this template or any other templates I have created can be directed here: https://github.com/Unlearned6688/unraid-templates/issues
If you create an issue, provide as much detail on what is happening, what you expect, your full setup, and other relevant info as possible. Thank you.
Superstreamer is here to make video delivery simple. Imagine having everything you need in one platform — starting with your raw video, Superstreamer helps you transcode it, package it into HLS playlists, and upload it to S3 with ease. You can even create custom playlists for each viewer, adding bumpers, ads, or filters on the fly.
Superstreamer is here to make video delivery simple. Imagine having everything you need in one platform — starting with your raw video, Superstreamer helps you transcode it, package it into HLS playlists, and upload it to S3 with ease. You can even create custom playlists for each viewer, adding bumpers, ads, or filters on the fly.
Superstreamer is here to make video delivery simple. Imagine having everything you need in one platform — starting with your raw video, Superstreamer helps you transcode it, package it into HLS playlists, and upload it to S3 with ease. You can even create custom playlists for each viewer, adding bumpers, ads, or filters on the fly.
Superstreamer is here to make video delivery simple. Imagine having everything you need in one platform — starting with your raw video, Superstreamer helps you transcode it, package it into HLS playlists, and upload it to S3 with ease. You can even create custom playlists for each viewer, adding bumpers, ads, or filters on the fly.
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
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.
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).
Simple and powerful tool for streaming torrents.
Introduction
TorrServer is a program that allows users to view torrents online without the need for preliminary file downloading. The core functionality of TorrServer includes caching torrents and subsequent data transfer via the HTTP protocol, allowing the cache size to be adjusted according to the system parameters and the user's internet connection speed.
Features
- Caching
- Streaming
- Local and Remote Server
- Viewing torrents on various devices
- Integration with other apps through API
- Cross-browser modern web interface
- Optional DLNA server
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.
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)
TVH-IPTV-Config - A simple IPTV config frontend for playlist filtering providing a M3U proxy for Plex, Emby, Jellyfin and (of course) Tvheadend.
TVH-IPTV-Config (TIC) attempts to provide a simple IPTV config frontend for a Tvheadend (TVH) backend. In addition to this, it provides HDHomeRun tuner emulation, an HLS playlist proxy/caching and custom channel mapping from multipl playlist sources.
Note: This template is a stand-alone installation of TIC and requires that you, the user, also install and maintain a seperate Tvheadend container. Currently, only TVH v4.3+ is tested and supported, though 4.2.8 may work fine. You will need to ensure you have the 'XMLTV URL grabber' module installed with your TVH server.
If you want to run TIC without managing your own TVH backend, then you should look at using the "tvh-iptv" template which provides an AIO docker container solution.
Features:
Easily import/configure channels from playlists.
Assign and locally cache logos per channel.
Assign EPG sources for each channel.
Configure channel numbers and ordering for channels.
Configure multiple stream sources per channel.
Manage and search through playlists that contain tens of thousands of streams without crashing the UI.
Provide an ffmpeg buffer for your streams so multiple devices playing back the same stream will only use one playlist connection.
Serve an HDHomeRun emulator for each playlist so Plex, Emby, and Jellyfin can connect to it an saturate the number of configured connections per playlist.
Automatically fetch missing metada for your EPG programme schedule like icons, description, etc.
Configure and automatically actively maintain a Tvheadend backend for IPTV without the fuss.
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 streaming and timeseries settings.
Automaticlaly configure optimal recording settings.
Much more little tweaks behind the scenes...
How it works:
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.
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(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).