# Unraid | ![img \|150](https://upload.wikimedia.org/wikipedia/commons/thumb/8/81/Unraid_logo.svg/320px-Unraid_logo.svg.png) | **Unraid** is a proprietary Linux-based operating system designed to run on home media server setups that operates as a network-attached storage device, application server, and virtualization host. Unraid is proprietary software developed and maintained by Lime Technology, Inc. Users of the software are encouraged to write and use plugins and Docker applications to extend the functionality of their systems. | | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | wikipedia:: [Unraid](https://en.wikipedia.org/wiki/Unraid) | | | url:: [Unraid](https://unraid.net/) | | | subreddit:: [Unraid: Unleash Your Hardware](https://www.reddit.com/r/unRAID/) | [[Unraid-contraption]] [Reddit unraid guides wiki](https://www.reddit.com/r/unRAID/wiki/guides/) ## Plugins [Unraid | Community Apps](https://unraid.net/community/apps) - Unassigned Devices - Preclear - [Unassigned Devices Preclear - a utility to preclear disks before adding them to the array - Plugin Support - Unraid](https://forums.unraid.net/topic/120567-unassigned-devices-preclear-a-utility-to-preclear-disks-before-adding-them-to-the-array/) - [[Self-hosted tools]] ## Community Apps [Unraid | Community Apps](https://unraid.net/community/apps) - [[Valheim]] - [[Self-hosted tools]] - Binhex-deluge-vpn - [YouTube](https://www.youtube.com/watch?v=cy6-ykRx95M) - [[Mullvad VPN]] - [Setting up mullvad with binhex-rtorrentvpn : r/unRAID](https://www.reddit.com/r/unRAID/comments/m6ofxh/comment/gr70cr1/) > First we're going to create the wg0 config file. (we are using wiregaurd because openvpn is an older standard and has a longer round trip and slower speeds) > > Log into your Mullvad account and navigate to this page > > Click Linux and Generate a key > > Find what server you want. If strictly for downloading I would recommend a lower congestion server. Ie: if in LA pick an AZ server etc. Select "Only IPV4" <--- Container will not run w/ Ipv6 and then download the zip archive > > Extract a wireguard file from the archive --They will be named "mullvad-us161.conf". right click and Rename this file to wg0.conf . Make sure it saves as a .conf file and not a .conf.txt file > > Go to your binhex vpn container of choice (I'm using binhex-privoxyvpn but this works for any of his containers w/ vpn). And select these settings. Do Not enter a username or password. Custom for the vpn_provider and wiregaurd VPN_CLIENT. Start the container without the file. This will generate your wiregaurd folder. > > The container will stop on it's own due to no vpn tunnel connection. Go to your favorite SFTP tool (or SMB share) and navigate to your "/mnt/user/appdata/binhex-YOURVPNCONTAINERNAME/wireguard" and drop the wg0 file in. > > Start your container and open the console for the container and enter: > > curl https://am.i.mullvad.net/connected ## [[Backup]] - [Unraid | Backups](https://unraid.net/backups-2) - Backup flash drive and docker data with AppData plugin [Best backup solution for Unraid? : r/unRAID](https://www.reddit.com/r/unRAID/comments/qztsaf/best_backup_solution_for_unraid/) [Array Backup advice : r/unRAID](https://www.reddit.com/r/unRAID/comments/gs8p0j/array_backup_advice/) ## User Scripts & cron jobs - [TRaSH-/userScripts-and-Configs: Collection of (unRAID) userscripts](https://github.com/TRaSH-/userScripts-and-Configs) - https://forums.unraid.net/topic/129444-how-to-set-up-a-cron-job-in-unraid/ ## Upgrade - backup flash drive before - easy to download in the admin ui ## Array - Bit checking via lining up all drives and seeing if the result changes - odd/even - Parity drive needs to be largest or same as largest drive - Heterogeneous drives possible - Parity checks need to be done periodically as opposed to continually with other RAIDs - Can do 1 or 2 parity drives ### Array Drives ### Parity Checks - 1 month seems to be a happy medium - Don't update parity drive with errors - something might be wrong - [Parity Check - How often? : r/unRAID](https://www.reddit.com/r/unRAID/comments/mzjif8/parity_check_how_often/) - [How often do you run a parity check and do you think monthly is necessary? - General Support - Unraid](https://forums.unraid.net/topic/60860-how-often-do-you-run-a-parity-check-and-do-you-think-monthly-is-necessary/) ### RAID Modifications #### Expand Array ##### Replace drive/Add drive [Replacing a Data Drive | Unraid Docs](https://docs.unraid.net/legacy/FAQ/replacing-a-data-drive/) > 1. Stop the array > 1. Unassign the old drive if still assigned (to unassign, set it to No Device) > 1. Power down > 1. [ Optional ] Pull the old drive (you may want to leave it installed for Preclearing or testing) > 1. Install the new drive > 1. Power on > 1. Assign the new drive in the slot of the old drive > 1. Go to the Main -> Array Operation section > 1. Put a check in the Yes, I'm sure checkbox (next to the information indicating the drive will be rebuilt), and click the Start button > 1. The rebuild will begin, with hefty disk activity on all drives, lots of writes on the new drive and lots of reads on all other drives > 1. : All of the contents of the old drive will be copied onto the new drive, making it an exact replacement, except possibly with more capacity than the old drive. ## Cache Drive - Usually you'd want an SSD for your cache drive - Writes go to cache drive first, then on a regular schedule are moved to the array, e.g. after hours. - Use the cache drive for things like docker containers, app data, etc. - So, ideally you'd want 2 cache drives so that data is protected ### Cache storage options [How To Add Cache Drive(s) To Unraid | Greg Hilston](https://www.greghilston.com/post/how-to-add-cache-drive-to-unraid/) - on cache - array and cache - array only ### Mover ## Flash Drive - [Flash Drive | Unraid Docs](https://docs.unraid.net/unraid-os/manual/security/flash-drive/) - Boots from usb flash drive and runs unraid from system memory - License key attached to specific flash drive - Can backup flash drive with appdata plugin ## System files - appdata: houses our docker’s container configuration content - domains: houses our VM’s data - system: houses our docker’s docker.img and our VM’s libvrt.img ## Troubleshooting, Fixes - Device is disabled, contents emulated > - Stop the array, unassign the disk, start the array in maintenance mode, stop it again, reassign the drive to the same slot. The idea is to start the array temporarily with the drive “missing” so it changes from “disabled” to “emulated” status, then to stop it and “replace” the drive to get it back to “active” status. > - [How do I re-enable a disabled disk drive??? : r/unRAID](https://www.reddit.com/r/unRAID/comments/u3nhmg/how_do_i_reenable_a_disabled_disk_drive/) ## Settings, Config, etc. - Banners - [Community Created Banners - Unraid](https://forums.unraid.net/gallery/album/1-community-created-banners/) - [Share Your Banners - Page 14 - Lounge - Unraid](https://forums.unraid.net/topic/40389-share-your-banners/) - To get animated banners working: - `cp <your_png_file_path> /boot/config/plugins/dynamix/banner.png` ## [[Docker]] On Unraid - Route a container to another container's network - e.g. to use a container's vpn - [documentation/docker/faq/vpn.md at master · binhex/documentation](https://github.com/binhex/documentation/blob/master/docker/faq/vpn.md) - Gist: - On "client" docker: - extra args: --net=container:binhex-delugevpn - set network to none - delete any existing port mappings, e.g. for its web ui - On "server" docker with the network: - add the client's docker port as an extra port mapping - at least on binhex-delugevpn, I needed to add that port to that container's variable called vpn inputs or something like that. > Please keep in mind that when defining connections from an application to another application in the same VPN container network that you will need to set the host to 'localhost' and NOT the LAN IP address, this is because the applications are now bound to the same network and thus should communicate over 'localhost' and NOT the unRAID host IP address. > > The order of containers starting is now important, the VPN container must start first in order for the other container(s) to route through it, ordering can be changed in the unRAID Web UI by dragging the containers up and down, the unRAID Web UI shows the start order in descending order. ## Tools - [[Self-hosted tools]] - [AnalogJ/scrutiny: Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds](https://github.com/AnalogJ/scrutiny) ## Sources - [Unraid Guides: The Ultimate Home NAS Solution](https://unraid-guides.com/) ## Inbox [[Support] ich777 - Gameserver Dockers - Docker Containers - Unraid](https://forums.unraid.net/topic/79530-support-ich777-gameserver-dockers/) [Unraid | Unraid Valheim Dedicated Server](https://unraid.net/blog/unraid-valheim-dedicated-server) [Unraid Valheim Dedicated Server Guide - Unraid Blog and Uncast Show Discussion - Unraid](https://forums.unraid.net/topic/106758-unraid-valheim-dedicated-server-guide/) [Share Your Banners - Page 2 - Lounge - Unraid](https://forums.unraid.net/topic/40389-share-your-banners/page/2/)