Youtarr has not yet been accepted into the Community Templates store, but has been validated as working on Unraid
- Install the Community Applications plugin (if you have not already)
- Setup your MariaDB instance. The MariaDB Official docker container will work fine for this purpose.
- See External Database Guide for more information about external DB setup since this uses a DB instance that is not directly bundled with Youtarr.
Set the following configuration options and make note of them, you'll need the same values in your Youtarr configuration:
Database Name:youtarris recommendedDatabase User:youtarris recommendedPort: Leave as the default of3306Database Password: Choose something secureMYSQL_ROOT_PASSWORD: Choose something secure and write it down, you'll need it any time you have to log into MariaDB directlyMARIADB_RANDOM_ROOT_PASSWORD: Leave this field completely blank. It's a boolean, and any value in it (even the literal string "No") tells MariaDB to ignore yourMYSQL_ROOT_PASSWORDand generate a random one instead, which you'll never see unless you grep it out of the container logs.
Important: These env vars only take effect the first time MariaDB initializes its data directory. If you set them wrong, start the container, and then change them, the changes are silently ignored. The only fix at that point is to stop MariaDB, wipe whatever data path you mapped in the template (e.g.
/mnt/user/appdata/mariadb-official/), and let it re-initialize from scratch.
The first time MariaDB runs it will automatically create the database and user for Youtarr.
You will need to create a database and user for Youtarr in that instance and ensure that you note the port, database name, database user and password for your subsequent Youtarr configuration.
See docs/platforms/external-db.md for reference
NOTE: Your MariaDB instance must be up and running before Youtarr starts!
Warning: Do not update MariaDB and Youtarr at the same time. If you update the MariaDB Official container and Youtarr together, MariaDB may still be upgrading its internal data files when Youtarr's migrations run, which can corrupt tables and cause data loss. Always update MariaDB first, confirm it's fully running (check its logs for "ready for connections"), then update Youtarr. See the External Database Guide for more details.
The Unraid template for Youtarr https://github.com/DialmasterOrg/unraid-templates/blob/main/Youtarr/Youtarr.xml
- Open a terminal in Unraid
- Download the template and make it available in Unraid:
curl -L https://raw.githubusercontent.com/DialmasterOrg/unraid-templates/main/Youtarr/Youtarr.xml -o /boot/config/plugins/dockerMan/templates-user/my-Youtarr.xml- Navigate to the Docker tab in Unraid and click "Add container"
- Select "Youtarr" from "User Templates"
- Fill in all configuration details
- Ensure that your MariaDB instance is setup with a database name, user and password matching what you set in the Youtarr configuration
- Use the LAN IP of your Unraid server as
DB_HOST(eg192.168.1.100)- Just the bare IP. No
http://prefix, no trailing slash.DB_HOSTis a hostname, not a URL. - Do not use
127.0.0.1orlocalhost, those refer to the container itself, not the Unraid host.
- Just the bare IP. No
- Map your persistent paths (for example
/mnt/user/appdata/youtarrfor/app/configand/mnt/user/media/youtubefor/data) and supply the MariaDB connection variables before deploying. - Set both
AUTH_PRESET_USERNAMEandAUTH_PRESET_PASSWORDto set credentials for login to Youtarr - IMPORTANT:
AUTH_PRESET_USERNAMEandAUTH_PRESET_PASSWORDmust meet these rules or they’ll be ignored:AUTH_PRESET_USERNAME: 1-32 characters in lengthAUTH_PRESET_PASSWORD: 8-64 characters in length Leaving them blank uses the setup-token wizard; retrieve the token from the container logs or the mappedconfig/setup-tokenfile.
- Click the "Apply" button to start Youtarr
Once the container is running, open http://:3087 in your browser to access Youtarr.
- Note Until the template is accepted into the main Community Applications feed, it is available directly from the repository above.
If Youtarr can't connect to MariaDB on startup, check the MariaDB container logs first. The common ones:
Access denied for user 'youtarr'@'172.17.0.1' (using password: YES)in the MariaDB log: the password Youtarr is sending doesn't match what MariaDB has stored. Either there's a typo between the two containers, or you set MariaDB up earlier with different credentials and the data dir still has the old ones. Env var changes are ignored after first init (see the warning in the setup section above).Can't connect to MariaDB serverin the Youtarr log:DB_HOSTis wrong. Use the Unraid LAN IP, nohttp://prefix, no trailing slash, and not127.0.0.1/localhost.- You can't even log in to MariaDB as root with the password you set: the data dir was initialized with a random root password, almost certainly because
MARIADB_RANDOM_ROOT_PASSWORDhad a value in it on first start. Check the container logs from that first startup:If you find it, log in withdocker logs MariaDB 2>&1 | grep -i "GENERATED ROOT PASSWORD"docker exec -it MariaDB mariadb -uroot -pand reset everything from there. If the logs have rotated and grep finds nothing, the only path forward is to stop MariaDB, wipe the mapped data directory, and start it again withMARIADB_RANDOM_ROOT_PASSWORDblank.
Newer MariaDB images use
mariadbas the client binary, notmysql. Ifdocker exec ... mysqlreturns "executable file not found in $PATH", usemariadbinstead.
By default, Youtarr runs as root inside the container. This works fine for most setups, but if you need Plex or Jellyfin to be able to delete files that Youtarr downloads, you'll need to run Youtarr as a non-root user with matching permissions.
Note: The YOUTARR_UID and YOUTARR_GID environment variables do not work on Unraid. You must use the --user parameter instead.
-
Stop the Youtarr container if it's running
-
Set correct ownership on your directories by opening an Unraid terminal and running:
chown -R 99:100 /mnt/user/appdata/youtarr chown -R 99:100 /path/to/your/youtube_videos
Replace the paths with your actual mapped directories. The
99:100corresponds to thenobody:usersuser/group on Unraid. The/app/configvolume is mapped to/mnt/user/appdata/youtarr(not a/configsubfolder), so recursing from the top picks upconfig.json,jobs/, andimages/in one shot. -
Add the user parameter to your container:
- Edit your Youtarr container in Unraid
- Scroll down to "Extra Parameters"
- Add:
--user 99:100 - Click "Apply" to restart the container
-
Verify it's working by running:
docker exec -it Youtarr sh -c 'id'
You should see
uid=99(nobody) gid=100(users)instead ofuid=0(root).
After this setup, Youtarr will create files with nobody:users ownership, which matches the default permissions that Plex and other media apps use on Unraid, allowing them to delete files as needed.
If you can see Youtarr's downloaded videos on a Windows or macOS SMB share but can't move, rename, or delete them ("You require permission from TOWER\nobody to make changes to this file" on Windows, or a padlock icon on macOS), the cause is almost always the file mode, not the ownership.
Older versions of Youtarr wrote files with mode 644 (rw-r--r--), which means only the file owner (nobody) could modify them. If your SMB client authenticated as any other user, access was read-only. Current versions write downloads as 664 / directories as 775 by default, so new downloads do not need any repair.
One-time repair for files downloaded before this change:
find /path/to/your/youtube_videos -type f -exec chmod 664 {} \;
find /path/to/your/youtube_videos -type d -exec chmod 775 {} \;Separately, your SMB share must be configured so the connecting user is either mapped to nobody or is a member of the users group, otherwise even group-writable files will still appear read-only. On Unraid, the simplest path is Shares -> edit the share -> SMB Security Settings -> set to Public, which maps all SMB users to nobody.