* Add one-shot app_config linter migration workflow * Add app_config linter compatibility action * Add add-on map compatibility normalizer * Test add-on map compatibility normalizer * Run app_config compatibility preparation on pull request * Validate app_config short and long map forms separately * Export validated workflow updates * Use app_config-compatible linter for PR checks * Use app_config-compatible linter for builds * Remove temporary linter preparation workflow * Add one-shot app_config manifest migration * Migrate legacy addon_config maps to app_config * Preserve upstream legacy aliases without deprecated literals * Test legacy alias compatibility without deprecated literals * Validate completed app_config migration * Count only add-on manifests during migration validation * Remove temporary migration validation workflow * Document legacy alias construction * Remove obsolete local linter compatibility script * Remove obsolete local linter compatibility tests * fix(pr-2937-review): address reviewer findings on app_config migration - Remove the orphaned .github/actions/addon-linter composite action: it references .github/scripts/prepare_addon_lint_config.py, which was never added (the normalization approach was superseded by pinning frenck/action-addon-linter directly in #2936). Confirmed unused - no workflow invokes it. - cleanuparr: HA_DATA_DIR pointed at /app_configs/cleanuparr, a path not mounted inside the container. cleanuparr's map is app_config:rw, which Supervisor mounts at /config, so data was living on the ephemeral container filesystem. Point it at /config instead (pre-existing bug, not introduced by this PR - just carried the wrong path forward). - joplin/README.md: joplin's config.yaml still declares config:rw, not app_config (it was never part of the 86-manifest migration). Revert the doc text that incorrectly started calling it the app_config mapping. - qbittorrent/00-folders.sh: fix a pre-existing copy/paste bug in the migration marker/log for the main-folder migration block - it referenced "openvpn" and a "qBitorrent" typo instead of qBittorrent. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
7.4 KiB
Home assistant add-on: Tdarr
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
Addon informations
Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!
About
Tdarr is a distributed transcoding system for automating media library transcode/remux management using FFmpeg/HandBrake. It ensures your files are exactly how you need them to be in terms of codecs, streams, and containers. Tdarr supports distributed processing, allowing you to put your spare hardware to use with Tdarr Nodes for Windows, Linux (including ARM), and macOS.
Key features:
- Distributed transcoding across multiple nodes
- Automated media library management
- Support for FFmpeg and HandBrake
- Hardware acceleration support
- Web-based management interface
- Plugin-based workflow system
This addon is based on the docker image from hurlenko.
Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on.
- Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
- Install this add-on.
- Click the
Savebutton to store your configuration. - Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Carefully configure the add-on to your preferences, see the official documentation for that.
Configuration
Web UI can be found at <your-ip>:8265 or through the sidebar using Ingress.
The server port is 8266 for connecting external Tdarr nodes.
Options
| Option | Type | Default | Description |
|---|---|---|---|
CONFIG_LOCATION |
str | /config/addons_config/tdarr |
Path where Tdarr config is stored |
TZ |
str | Timezone (e.g., Europe/London) |
|
localdisks |
str | Local drives to mount (e.g., sda1,sdb1,MYNAS) |
|
networkdisks |
str | SMB shares to mount (e.g., //SERVER/SHARE) |
|
cifsusername |
str | SMB username for network shares | |
cifspassword |
str | SMB password for network shares | |
cifsdomain |
str | SMB domain for network shares |
Example Configuration
CONFIG_LOCATION: "/config/addons_config/tdarr"
TZ: "Europe/London"
localdisks: "sda1,sdb1"
networkdisks: "//192.168.1.100/media,//nas.local/transcoding"
cifsusername: "mediauser"
cifspassword: "password123"
cifsdomain: "workgroup"
Setting up Distributed Transcoding
-
Configure the Server:
- Access the Web UI at
<your-ip>:8265 - Set up your media libraries and transcoding settings
- Configure plugins and workflows as needed
- Access the Web UI at
-
Add External Nodes:
- Install Tdarr Node on additional machines
- Point them to your Home Assistant IP on port
8266 - Nodes will automatically register and appear in the Web UI
-
Hardware Acceleration:
- The addon includes hardware acceleration support
- Configure GPU transcoding in the Tdarr Web UI settings
- Supported acceleration: Intel QuickSync, NVIDIA NVENC, AMD VCE
Mounting Drives
This addon supports mounting both local drives and remote SMB shares:
- Local drives: See Mounting Local Drives in Addons
- Remote shares: See Mounting Remote Shares in Addons
Custom Scripts and Environment Variables
This addon supports custom scripts and environment variables through the app_config mapping:
- Custom scripts: See Running Custom Scripts in Addons
- env_vars option: Use the add-on
env_varsoption to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
Hardware Acceleration Notes
The addon includes device access for hardware acceleration:
- Intel QuickSync:
/dev/dridevices are mapped - NVIDIA: Environment variables are set for GPU detection
- AMD: Hardware acceleration supported through available devices
Configure hardware acceleration in the Tdarr Web UI under Settings > FFmpeg/HandBrake settings.
Support
- Official Tdarr documentation: https://docs.tdarr.io/
- Create an issue on GitHub
- Ask on the Home Assistant Community thread
