Jump to content


Popular Content

Showing content with the highest reputation since 02/21/17 in all areas

  1. 14 points
    ***Update*** : Apologies, it seems like there was an update to the Unraid forums which removed the carriage returns in my code blocks. This was causing people to get errors when typing commands verbatim. I've fixed the code blocks below and all should be Plexing perfectly now Y =========== Granted this has been covered in a few other posts but I just wanted to have it with a little bit of layout and structure. Special thanks to [mention=9167]Hoopster[/mention] whose post(s) I took this from. What is Plex Hardware Acceleration? When streaming media from Plex, a few things are happening. Plex will check against the device trying to play the media: Media is stored in a compatible file container Media is encoded in a compatible bitrate Media is encoded with compatible codecs Media is a compatible resolution Bandwith is sufficient If all of the above is met, Plex will Direct Play or send the media directly to the client without being changed. This is great in most cases as there will be very little if any overhead on your CPU. This should be okay in most cases, but you may be accessing Plex remotely or on a device that is having difficulty with the source media. You could either manually convert each file or get Plex to transcode the file on the fly into another format to be played. A simple example: Your source file is stored in 1080p. You're away from home and you have a crappy internet connection. Playing the file in 1080p is taking up too much bandwith so to get a better experience you can watch your media in glorious 240p without stuttering / buffering on your little mobile device by getting Plex to transcode the file first. This is because a 240p file will require considerably less bandwith compared to a 1080p file. The issue is that depending on which format your transcoding from and to, this can absolutely pin all your CPU cores at 100% which means you're gonna have a bad time. Fortunately Intel CPUs have a little thing called Quick Sync which is their native hardware encoding and decoding core. This can dramatically reduce the CPU overhead required for transcoding and Plex can leverage this using their Hardware Acceleration feature. How Do I Know If I'm Transcoding? You're able to see how media is being served by playing a first something on a device. Log into Plex and go to Settings > Status > Now Playing As you can see this file is being direct played, so there's no transcoding happening. If you see (throttled) it's a good sign. It just means is that your Plex Media Server is able to perform the transcode faster than is necessary. To initiate some transcoding, go to where your media is playing. Click on Settings > Quality > Show All > Choose a Quality that isn't the Default one If you head back to the Now Playing section in Plex you will see that the stream is now being Transcoded. I have Quick Sync enabled hence the "(hw)" which stands for, you guessed it, Hardware. "(hw)" will not be shown if Quick Sync isn't being used in transcoding. PreRequisites 1. A Plex Pass - If you require Plex Hardware Acceleration Test to see if your system is capable before buying a Plex Pass. 2. Intel CPU that has Quick Sync Capability - Search for your CPU using Intel ARK 3. Compatible Motherboard You will need to enable iGPU on your motherboard BIOS In some cases this may require you to have the HDMI output plugged in and connected to a monitor in order for it to be active. If you find that this is the case on your setup you can buy a dummy HDMI doo-dad that tricks your unRAID box into thinking that something is plugged in. Some machines like the HP MicroServer Gen8 have iLO / IPMI which allows the server to be monitored / managed remotely. Unfortunately this means that the server has 2 GPUs and ALL GPU output from the server passed through the ancient Matrox GPU. So as far as any OS is concerned even though the Intel CPU supports Quick Sync, the Matrox one doesn't. =/ you'd have better luck using the new unRAID Nvidia Plugin. Check Your Setup If your config meets all of the above requirements, give these commands a shot, you should know straight away if you can use Hardware Acceleration. Login to your unRAID box using the GUI and open a terminal window. Or SSH into your box if that's your thing. Type: cd /dev/dri ls If you see an output like the one above your unRAID box has its Quick Sync enabled. The two items were interested in specifically are card0 and renderD128. If you can't see it not to worry type this: modprobe i915 There should be no return or errors in the output. Now again run: cd /dev/dri ls You should see the expected items ie. card0 and renderD128 Give your Container Access Lastly we need to give our container access to the Quick Sync device. I am going to passively aggressively mention that they are indeed called containers and not dockers. Dockers are manufacturers of boots and pants company and have nothing to do with virtualization or software development, yet. Okay rant over. We need to do this because the Docker host and its underlying containers don't have access to anything on unRAID unless you give it to them. This is done via Paths, Ports, Variables, Labels or in this case Devices. We want to provide our Plex container with access to one of the devices on our unRAID box. We need to change the relevant permissions on our Quick Sync Device which we do by typing into the terminal window: chmod -R 777 /dev/dri Once that's done Head over to the Docker Tab, click on the your Plex container. Scroll to the bottom click on Add another Path, Port, Variable Select Device from the drop down Enter the following: Name: /dev/dri Value: /dev/dri Click Save followed by Apply. Log Back into Plex and navigate to Settings > Transcoder. Click on the button to SHOW ADVANCED Enable "Use hardware acceleration where available". You can now do the same test we did above by playing a stream, changing it's Quality to something that isn't its original format and Checking the Now Playing section to see if Hardware Acceleration is enabled. If you see "(hw)" congrats! You're using Quick Sync and Hardware acceleration [emoji4] Persist your config On Reboot unRAID will not run those commands again unless we put it in our go file. So when ready type into terminal: nano /boot/config/go Add the following lines to the bottom of the go file modprobe i915 chmod -R 777 /dev/dri Press Ctrl X, followed by Y to save your go file. And you should be golden!
  2. 13 points
    There are several things you need to check in your Unraid setup to help prevent the dreaded unclean shutdown. There are several timers that you need to adjust for your specific needs. There is a timer in the Settings->VM Manager->VM Shutdown time-out that needs to be set to a high enough value to allow your VMs time to completely shutdown. Switch to the Advanced View to see the timer. Windows 10 VMs will sometimes have an update that requires a shutdown to perform. These can take quite a while and the default setting of 60 seconds in the VM Manager is not long enough. If the VM Manager timer setting is exceeded on a shutdown, your VMs will be forced to shutdown. This is just like pulling the plug on a PC. I recommend setting this value to 300 seconds (5 minutes) in order to insure your Windows 10 VMs have time to completely shutdown. The other timer used for shutdowns is in the Settings->Disk Settings->Shutdown time-out. This is the overall shutdown timer and when this timer is exceeded, an unclean shutdown will occur. This timer has to be more than the VM shutdown timer. I recommend setting it to 420 seconds (7 minutes) to give the system time to completely shut down all VMs, Dockers, and plugins. These timer settings do not extend the normal overall shutdown time, they just allow Unraid the time needed to do a graceful shutdown and prevent the unclean shutdown. One of the most common reasons for an unclean shutdown is having a terminal session open. Unraid will not force them to shut down, but instead waits for them to be terminated while the shutdown timer is running. After the overall shutdown timer runs out, the server is forced to shutdown. If you have the Tips and Tweaks plugin installed, you can specify that any bash or ssh sessions be terminated so Unraid can be gracefully shutdown and won't hang waiting for them to terminate (which they won't without human intervention). If you server seems hung and nothing responds, try a quick press of the power button. This will initiate a shutdown that will attempt a graceful shutdown of the server. If you have to hold the power button to do a hard power off, you will get an unclean shutdown. If an unclean shutdown does occur because the overall "Shutdown time-out" was exceeded, Unraid will attempt to write diagnostics to the /log/ folder on the flash drive. When you ask for help with an unclean shutdown, post the /log/diagnostics.zip file. There is information in the log that shows why the unclean shutdown occurred.
  3. 12 points
    Note: this community guide is offered in the hope that it is helpful, but comes with no warranty/guarantee/etc. Follow at your own risk. What can you do with WireGuard? Let's walk through each of the connection types: Remote access to server: Use your phone or computer to remotely access your Unraid server, including: Unraid administration via the webgui Access dockers, VMs, and network shares as though you were physically connected to the network Remote access to LAN: Builds on "Remote access to server", allowing you to access your entire LAN as well. Server to server access: Allows two Unraid servers to connect to each other. LAN to LAN access: Builds on "Server to server access", allowing two entire networks to communicate. May require additional settings, TBD. Server hub & spoke access: Builds on "Remote access to server", except that all of the VPN clients can connect to each other as well. Note that all traffic passes through the server. LAN hub & spoke access: Builds on "Server hub & spoke access", allowing you to access your entire LAN as well. VPN tunneled access: Route traffic for specific Dockers and VMs through a commercial WireGuard VPN provider (see this guide) Remote tunneled access: Securely access the Internet from untrusted networks by routing all of your traffic through the VPN and out Unraid's Internet connection In this guide we will walk through how to setup WireGuard so that your trusted devices can VPN into your home network to access Unraid and the other systems on your network. Prerequisites You must be running Unraid 6.8 with the Dynamix WireGuard plugin from Community Apps Be aware that WireGuard is is technically classified as experimental. It has not gone through a full security audit yet and has not reached 1.0 status. But it is the first open source VPN solution that is extremely simple to install, fast, and designed from the ground up to be secure. Understand that giving someone VPN access to your LAN is just like giving them physical access to your LAN, except they have it 24x7 when you aren't around to supervise. Only give access to people and devices that you trust, and make certain that the configuration details (particularly the private keys) are not passed around insecurely. Regardless of the "connection type" you choose, assume that anyone who gets access to this configuration information will be able to get full access to your network. This guide works great for simple networks. But if you have Dockers with custom IPs or VMs with strict networking requirements, please see the "Complex Networks" section below. Unraid will automatically configure your WireGuard clients to connect to Unraid using your current public IP address, which will work until that IP address changes. To future-proof the setup, you can use Dynamic DNS instead. There are many ways to do this, probably the easiest is described in this 2 minute video from SpaceInvaderOne If your router has UPnP enabled, Unraid will be able to automatically forward the port for you. If not, you will need to know how to configure your router to forward a port. You will need to install WireGuard on a client system. It is available for many operating systems: https://www.wireguard.com/install/ Android or iOS make good first systems, because you can get all the details via QR code. Setting up the Unraid side of the VPN tunnel First, go to Settings -> Network Settings -> Interface eth0. If "Enable bridging" is "Yes", then WireGuard will work as described below. If bridging is disabled, then none of the "Peer type of connections" that involve the local LAN will work properly. As a general rule, bridging should be enabled in Unraid. If UPnP is enabled on your router and you want to use it in Unraid, go to Settings -> Management Access and confirm "Use UPnP" is set to Yes On Unraid 6.8, go to Settings -> VPN Manager Give the VPN Tunnel a name, such as "MyHome VPN" Press "Generate Keypair". This will generate a set of public and private keys for Unraid. Take care not to inadvertently share the private key with anyone (such as in a screenshot like this) By default the local endpoint will be configured with your current public IP address. If you chose to setup DDNS earlier, change the IP address to the DDNS address. Unraid will recommend a port to use. You typically won't need to change this unless you already have WireGuard running elsewhere on your network. Hit Apply If Unraid detects that your router supports UPnP, it will automatically setup port forwarding for you: If you see a note that says "configure your router for port forwarding..." you will need to login to your router and setup the port forward as directed by the note: Some tips for setting up the port forward in your router: Both the external (source) and internal (target/local) ports should be the set to the value Unraid provides. If your router interface asks you to put in a range, use the same port for both the starting and ending values. Be sure to specify that it is a UDP port and not a TCP port. For the internal (target/local) address, use the IP address of your Unraid system shown in the note. Google can help you find instructions for your specific router, i.e. "how to port forward Asus RT-AC68U" Note that after hitting Apply, the public and private keys are removed from view. If you ever need to access them, click the "key" icon on the right hand side. Similarly, you can access other advanced setting by pressing the "down chevron" on the right hand side. They are beyond the scope of this guide, but you can turn on help to see what they do. In the upper right corner of the page, change the Inactive slider to Active to start WireGuard. You can optionally set the tunnel to Autostart when Unraid boots. Defining a Peer (client) Click "Add Peer" Give it a name, such as "MyAndroid" For the initial connection type, choose "Remote access to LAN". This will give your device access to Unraid and other items on your network. Click "Generate Keypair" to generate public and private keys for the client. The private key will be given to the client / peer, but take care not to share it with anyone else (such as in a screenshot like this) For an additional layer of security, click "Generate Key" to generate a preshared key. Again, this should only be shared with this client / peer. Click Apply. Note: Technically, the peer should generate these keys and not give the private key to Unraid. You are welcome to do that, but it is less convenient as the config files Unraid generates will not be complete and you will have to finish configuring the client manually. Configuring a Peer (client) Click the "eye" icon to view the peer configuration. If the button is not clickable, you need to apply or reset your unsaved changes first. If you are setting up a mobile device, choose the "Create from QR code" option in the mobile app and take a picture of the QR code. Give it a name and make the connection. The VPN tunnel starts almost instantaneously, once it is up you can open a browser and connect to Unraid or another system on your network. Be careful not to share screenshots of the QR code with anyone, or they will be able to use it to access your VPN. If you are setting up another type of device, download the file and transfer it to the remote computer via trusted email or dropbox, etc. Then unzip it and load the configuration into the client. Protect this file, anyone who has access to it will be able to access your VPN. About DNS The 2019.10.20 release of the Dynamix Wireguard plugin includes a "Peer DNS Server" option (thanks @bonienl!) If you are having trouble with DNS resolution on the WireGuard client, return to the VPN Manager page in Unraid and switch from Basic to Advanced mode, add the IP address of your desired DNS server into the "Peer DNS Server" field, then install the updated config file on the client. You may want to use the IP address of the router on the LAN you are connecting to, or you could use a globally available IP like This is required for "Remote tunneled access" mode, if the client's original DNS server is no longer accessible after all traffic is routed through the tunnel. If you are using any of the split tunneling modes, adding a DNS server may provide name resolution on the remote network, although you will lose name resolution on the client's local network in the process. The simplest solution is to add a hosts file on the client that provides name resolution for both networks. Complex Networks (added Oct 24) The instructions above should work out of the box for simple networks. With "Use NAT" defaulted to Yes, all network traffic on Unraid uses Unraid's IP, and that works fine if you have a simple setup. However, if you have Dockers with custom IPs or VMs with strict networking requirements, things may not work right (I know, kind of vague, but feel free to read the two WireGuard threads for examples) A partial solution is: In the WireGuard config, set "Use NAT" to No In your router, add a static route that lets your network access the WireGuard "Local tunnel network pool" through the IP address of your Unraid system. For instance, for the default pool of you should add this static route: Network: (aka with subnet Gateway: <IP address of your Unraid system> (Note that this covers the entire class B 10.253.x.x network, so you can add other WireGuard tunnels without having to modify your router setup again.) With these changes, your network should work normally. However, your WireGuard clients still may not be able to access Dockers on custom IPs or VMs. If you find a solution to this, please comment!
  4. 12 points
    I had the opportunity to test the “real word” bandwidth of some commonly used controllers in the community, so I’m posting my results in the hopes that it may help some users choose a controller and others understand what may be limiting their parity check/sync speed. Note that these tests are only relevant for those operations, normal read/writes to the array are usually limited by hard disk or network speed. Next to each controller is its maximum theoretical throughput and my results depending on the number of disks connected, result is observed parity check speed using a fast SSD only array with Unraid V6.1.2 (SASLP and SAS2LP tested with V6.1.4 due to performance gains compared with earlier releases) Values in green are the measured controller power consumption with all ports in use. 2 Port Controllers SIL 3132 PCIe gen1 x1 (250MB/s) 1 x 125MB/s 2 x 80MB/s Asmedia ASM1061 PCIe gen2 x1 (500MB/s) - e.g., SYBA SY-PEX40039 and other similar cards 1 x 375MB/s 2 x 206MB/s 4 Port Controllers SIL 3114 PCI (133MB/s) 1 x 105MB/s 2 x 63.5MB/s 3 x 42.5MB/s 4 x 32MB/s Adaptec AAR-1430SA PCIe gen1 x4 (1000MB/s) 4 x 210MB/s Marvell 9215 PCIe gen2 x1 (500MB/s) - 2w - e.g., SYBA SI-PEX40064 and other similar cards (possible issues with virtualization) 2 x 200MB/s 3 x 140MB/s 4 x 100MB/s Marvell 9230 PCIe gen2 x2 (1000MB/s) - 2w - e.g., SYBA SI-PEX40057 and other similar cards (possible issues with virtualization) 2 x 375MB/s 3 x 255MB/s 4 x 204MB/s 8 Port Controllers Supermicro AOC-SAT2-MV8 PCI-X (1067MB/s) 4 x 220MB/s (167MB/s*) 5 x 177.5MB/s (135MB/s*) 6 x 147.5MB/s (115MB/s*) 7 x 127MB/s (97MB/s*) 8 x 112MB/s (84MB/s*) *on PCI-X 100Mhz slot (800MB/S) Supermicro AOC-SASLP-MV8 PCIe gen1 x4 (1000MB/s) - 6w 4 x 140MB/s 5 x 117MB/s 6 x 105MB/s 7 x 90MB/s 8 x 80MB/s Supermicro AOC-SAS2LP-MV8 PCIe gen2 x8 (4000MB/s) - 6w 4 x 340MB/s 6 x 345MB/s 8 x 320MB/s (205MB/s*, 200MB/s**) *on PCIe gen2 x4 (2000MB/s) **on PCIe gen1 x8 (2000MB/s) Dell H310 PCIe gen2 x8 (4000MB/s) - 6w – LSI 2008 chipset, results should be the same as IBM M1015 and other similar cards 4 x 455MB/s 6 x 377.5MB/s 8 x 320MB/s (190MB/s*, 185MB/s**) *on PCIe gen2 x4 (2000MB/s) **on PCIe gen1 x8 (2000MB/s) LSI 9207-8i PCIe gen3 x8 (4800MB/s) - 9w - LSI 2308 chipset 8 x 525MB/s+ (*) LSI 9300-8i PCIe gen3 x8 (4800MB/s with the SATA3 devices used for this test) - LSI 3008 chipset 8 x 525MB/s+ (*) * used SSDs maximum read speed SAS Expanders HP 6Gb (3Gb SATA) SAS Expander - 11w Single Link on Dell H310 (1200MB/s*) 8 x 137.5MB/s 12 x 92.5MB/s 16 x 70MB/s 20 x 55MB/s 24 x 47.5MB/s Dual Link on Dell H310 (2400MB/s*) 12 x 182.5MB/s 16 x 140MB/s 20 x 110MB/s 24 x 95MB/s * Half 6GB bandwidth because it only links @ 3Gb with SATA disks Intel® RAID SAS2 Expander RES2SV240 - 10w Single Link on Dell H310 (2400MB/s) 8 x 275MB/s 12 x 185MB/s 16 x 140MB/s (112MB/s*) 20 x 110MB/s (92MB/s*) Dual Link on Dell H310 (4000MB/s) 12 x 205MB/s 16 x 155MB/s (185MB/s**) Dual Link on LSI 9207-8i (4800MB/s) 16 x 275MB/s LSI SAS3 expander (included on a Supermicro BPN-SAS3-826EL1 backplane) Single Link on LSI 9300-8i (tested with SATA3 devices, max usable bandwidth would be 2200MB/s, but with LSI's Databolt technology we can get almost SAS3 speeds) 8 x 475MB/s 12 x 340MB/s Dual Link on LSI 9300-8i (tested with SATA3 devices, max usable bandwidth would be 4400MB/s, but with LSI's Databolt technology we can get almost SAS3 speeds, limit here is going to be the PCIe 3.0 slot, around 6000MB/s usable) 10 x 510MB/s 12 x 460MB/s * Avoid using slower linking speed disks with expanders, as it will bring total speed down, in this example 4 of the SSDs were SATA2, instead of all SATA3. ** Two different boards have consistent different results, will need to test a third one to see what's normal, 155MB/s is the max on a Supermicro X9SCM-F, 185MB/s on Asrock B150M-Pro4S. Sata 2 vs Sata 3 I see many times on the forum users asking if changing to Sata 3 controllers or disks would improve their speed, Sata 2 has enough bandwidth (between 265 and 275MB/s according to my tests) for the fastest disks currently on the market, if buying a new board or controller you should buy sata 3 for the future, but except for SSD use there’s no gain in changing your Sata 2 setup to Sata 3. Single vs. Dual Channel RAM In arrays with many disks, and especially with low “horsepower” CPUs, memory bandwidth can also have a big effect on parity check speed, obviously this will only make a difference if you’re not hitting a controller bottleneck, two examples with 24 drive arrays: Asus A88X-M PLUS with AMD A4-6300 dual core @ 3.7Ghz Single Channel – 99.1MB/s Dual Channel - 132.9MB/s Supermicro X9SCL-F with Intel G1620 dual core @ 2.7Ghz Single Channel – 131.8MB/s Dual Channel – 184.0MB/s DMI There is another bus that can be a bottleneck for Intel based boards, much more so than Sata 2, the DMI that connects the south bridge or PCH to the CPU. Socket 775, 1156 and 1366 use DMI 1.0, socket 1155, 1150 and 2011 use DMI 2.0, socket 1151 uses DMI 3.0 DMI 1.0 (1000MB/s) 4 x 180MB/s 5 x 140MB/s 6 x 120MB/s 8 x 100MB/s 10 x 85MB/s DMI 2.0 (2000MB/s) 4 x 270MB/s (Sata2 limit) 6 x 240MB/s 8 x 195MB/s 9 x 170MB/s 10 x 145MB/s 12 x 115MB/s 14 x 110MB/s DMI 3.0 (3940MB/s) 6 x 330MB/s (Onboard SATA only*) 10 X 297.5MB/s 12 x 250MB/s 16 X 185MB/s *Despite being DMI 3.0, Skylake, Kaby Lake and Coffee Lake chipsets have a max combined bandwidth of approximately 2GB/s for the onboard SATA ports. DMI 1.0 can be a bottleneck using only the onboard Sata ports, DMI 2.0 can limit users with all onboard ports used plus an additional controller onboard or on a PCIe slot that shares the DMI bus, in most home market boards only the graphics slot connects directly to CPU, all other slots go through the DMI (more top of the line boards, usually with SLI support, have at least 2 slots), server boards usually have 2 or 3 slots connected directly to the CPU, you should always use these slots first. You can see below the diagram for my X9SCL-F test server board, for the DMI 2.0 tests I used the 6 onboard ports plus one Adaptec 1430SA on PCIe slot 4. UMI (2000MB/s) - Used on most AMD APUs, equivalent to intel DMI 2.0 6 x 203MB/s 7 x 173MB/s 8 x 152MB/s Ryzen link - PCIe 3.0 x4 (3940MB/s) 6 x 467MB/s (Onboard SATA only) I think there are no big surprises and most results make sense and are in line with what I expected, exception maybe for the SASLP that should have the same bandwidth of the Adaptec 1430SA and is clearly slower, can limit a parity check with only 4 disks. I expect some variations in the results from other users due to different hardware and/or tunnable settings, but would be surprised if there are big differences, reply here if you can get a significant better speed with a specific controller. How to check and improve your parity check speed System Stats from Dynamix V6 Plugins is usually an easy way to find out if a parity check is bus limited, after the check finishes look at the storage graph, on an unlimited system it should start at a higher speed and gradually slow down as it goes to the disks slower inner tracks, on a limited system the graph will be flat at the beginning or totally flat for a worst-case scenario. See screenshots below for examples (arrays with mixed disk sizes will have speed jumps at the end of each one, but principle is the same). If you are not bus limited but still find your speed low, there’s a couple things worth trying: Diskspeed - your parity check speed can’t be faster than your slowest disk, a big advantage of Unraid is the possibility to mix different size disks, but this can lead to have an assortment of disk models and sizes, use this to find your slowest disks and when it’s time to upgrade replace these first. Tunables Tester - on some systems can increase the average speed 10 to 20Mb/s or more, on others makes little or no difference. That’s all I can think of, all suggestions welcome.
  5. 10 points
    Too bad we couldn't time linux 4.20 kernel with Unraid 6.6.6.
  6. 9 points
    I am starting a series of videos on pfSense. Both physical and VM instances will be used. Topics such as using a failover physical pfSense to work with a VM pfSense. Setting up OpenVPN (both an OpenVPN server and OpenVPN multiple clients). Using VLANs. Blocking ads. Setting up squid and squid guard and other topics. T This part is an introduction part gives an overview of the series of videos and talks about pfSense and its advantages. Second part of is on hardware and network equipment Part 3 install and basic config Part 4 customize backup and aupdate Part 5 DHCP, Interfaces and WIFI Part 6 Pfsense and DNS Part 7 - Firewall rules, Portforwarding/NAT, Aliases and UPnp Part 8 Open NAT for XBOX ONE and PS4
  7. 9 points
    I just wanted to say a big thanks to all the hard work that you guys put into unRAID. Your commitment to constantly improving the product is truely excellent. We get constant updates and new features and we only buy the license once. It really is amazing how you guys do it. Please anyone reading this who feels the same post beneath and lets let the guys know how much we appreciate what they do. I started my journey with computers with an Atari 800xl and absolutely loved it and wasted many hours. Then later had a career in IT and it became a bit of a boring thing I had to do. Having found unRAID I feel like I was when I was a boy and it's just as exciting as my old 800XL was. So unRAID has put the fun back into computers for me. Well, that or I am just in my second childhood already!
  8. 8 points
  9. 8 points
    PSA. It seems openvpn pushed another broken bin, tagged 2.7.3 I get the same error with it as I did with the previously pulled 2.7.2 While they/us try to figure it out, you can change your image to "linuxserver/openvpn-as:2.6.1-ls11" and it should work
  10. 7 points
    Support for Nginx Proxy Manager docker container Application Name: Nginx Proxy Manager Application Site: https://nginxproxymanager.jc21.com Docker Hub: https://hub.docker.com/r/jlesage/nginx-proxy-manager/ Github: https://github.com/jlesage/docker-nginx-proxy-manager Make sure to look at the complete documentation, available on Github ! Post any questions or issues relating to this docker in this thread.
  11. 7 points
    CA Auto Turbo Write Mode A simple plugin which will automatically enable or disable Turbo Write Mode (aka reconstruct write mode) based upon the number of drives which are currently spinning. Turbo Write Mode can significantly increase the write speed to your protected array (my system it doubles it). See This Post for a discussion about it. Note that unRaid's setting of Automatic does not enable / disable turbo mode based upon the number of drives spinning. unRaid's setting of "Automatic" simply disables turbo write mode. CA Auto Turbo Mode also has a feature where you can enable or disable Turbo Mode on a set schedule. For instance to always to have it enabled when mover runs, etc. Full help text is available within the plugin Install it via the Apps tab (Community Applications). Either search for turbo or you can also find it within the Additional CA Modules section CA Auto Turbo Mode also has a feature where you can enable or disable Turbo Mode on a set schedule. For instance to always to have it enabled when mover runs, etc.
  12. 7 points
    Download If you are running a previous stable release, clicking 'Check for Updates' on the Plugins page is the preferred way to upgrade. If you are running a 6.4.0-rc, click 'Check for Updates' on the Tools/Update OS page. This release contains important security updates related to the recent Meltdown and Spectre vulnerabilities. For this reason, all users are encouraged to update. We expect additional updates in the near future as additional mitigations become available. Aside from security patches, the primary goal of this release is to implement full device encryption utilizing LUKS. Since LUKS permits the use of a passphrase as the encryption/decryption key, a secure method of entering the passphrase via the unRAID Management Utility, a.k.a., webGUI, is necessary; hence, we integrated nginx in order to provide SSL/TLS (https) support. And since https requires SSL Certificates, we partnered with Let's Encrypt to provision free SSL certificates for all of our users right from within the webGUI. Along the way several additional features and improvements have also been added, see below. Finally, we want to express our sincere thanks and appreciation to all those who helped in the Prerelease 6.4 Support board. And a special "thank you" to @bonienl who has made several amazing contributions, especially in the area of networking. Following are the Release Notes: Linux kernel This release is running Linux kernel version 4.14.13 which contains patches to address the widely reported Meltdown and Spectre vulnerabilities. This kernel fully mitigates against Meltdown, but full mitigation for Spectre is not yet complete and has not been publicly released as of this date. Management Utility We now use the nginx webserver as the front-end to the unRAID OS Management Utility (aka, webGUI). Incorporating nginx provides several benefits, including: Multi-threaded access results in much better response. Websocket support. SSL/TLS (https) support. Moving forward, use of websockets will further improve webGUI functionality and responsiveness. At present only the CPU Load Statistics on the Dashboard and the web-based Terminal application make use of websockets. Note: Unfortunately this functionality does not work with Safari. There is now a Logout button for the webGUI which appears on the right side of the menu bar when you have defined a root password and are logged in. Clicking this will log you out from all tabs/windows in that browser. Also new with this release are two new webGUI themes: Azure and Gray, along with numerous other bug fixes and improvements. Secure Access Secure webGUI access is now supported using the https protocol. We offer two methods for dealing with the SSL certificate: Use of a self-signed certificate. Use of a free SSL certificate provisioned by Let's Encrypt. The selection of http/https and SSL certificate configuration is accomplished through the Settings/Identification page. Note: The /usr/local/sbin/emhttp line in your /boot/config/go file is no longer used to specify the ports where the webGUI listens for connections. Instead you must configure these on the Identification page. Alternately if you need to set this up prior to server boot, you may add the port settings in /boot/config/ident.cfg. Please refer to /usr/local/sbin/emhttp script for more information if you care about this. Let's Encrypt SSL Certificates Lime Technology, Inc. has partnered with Let's Encrypt to provide free SSL certificates for all of our users. To obtain your certificate first go to Settings/Identification page, set Use SSL/TLS to Auto and click Apply. Next, scroll to the bottom and click Provision. In one operation this will allocate your certificate, upload it to your server, and switch nginx to redirect all http to https. After clicking anywhere else in the webGUI you should see a nice green lock icon in your browser address bar! You will also notice in your address bar a very funny looking URL consisting of a 40-hex-character subdomain of unraid.net. We have set up a LimeTech DNS server that will resolve that URL to your servers IP address on your local network. That FQDN is unique to your certificate. When your browser resolves that URL it is given your local IP address which it then uses to perform the https connection handshake. Since Let's Encrypt SSL certificates expire every 90 days, we have included a background daemon that checks once per day if your certificate is within 30 days of expiration. If so, we automatically renew and upload a new certificate for you. Finally, we have included another background daemon that checks every 10 minutes for a change in your servers IP address. If your IP address changes, then the DNS A-record for your server is updated. Device Encryption We have implemented full-device encryption as follows. In unRAID, encryption is selected as another type of file system. With array Stopped, click on a Device link and then click on File system type where you can selected encrypted versions of supported file system types: xfs – encrypted btrfs – encrypted reiserfs – encrypted If you change any device file system type to encrypted, you will notice a section on the Main page appears where you must enter a passphrase or upload an encryption keyfile before you can Start the array. DO NOT FORGET YOUR PASSPHRASE OR LOSE YOUR KEYFILE. Once a device is encrypted, if you forget your passphrase or lose your keyfile, your data is lost forever! Once you have Started the array, newly encrypted devices appear Unmountable and the Format button is available. Formatting will result in creating an encrypted partition on those devices with the specified file system type. ALL PREVIOUS DATA ON THAT DEVICE WILL BE DESTROYED. Hence it is not possible, in this release, to encrypt in-place. We plan to add a utility in a future release to accomplish this however. Also note that array Autostart following server boot will not succeed if any devices are encrypted. This is because the passphrase or keyfile is kept in RAM and thus lost upon reboot. This means that following system reboot you must log into the webGUI, enter your passphrase (or upload your encryption keyfile), and then click the Start button. In the case of a btrfs cache pool, all devices comprising the pool will be encrypted. UEFI support It is now possible configure UEFI boot mode to boot unRAID OS. This may be enabled by clicking on the Flash device link from the Main page where you will find a checkbox to select UEFI boot mode. In addition, UEFI boot mode may be selected when a new USB Flash device is provisioned using the USB Creator tool. When using the manual method of preparing a USB Flash device, the make_bootable scripts will output a UEFI boot mode selection prompt. Web-based Terminal We now have a web-based Terminal application available by clicking the Terminal button on the Menu bar. You may also open the Terminal in a new tab by right-clicking the button. This application makes use of websockets and appears to be quite fast, give it a try! NOTE: Unfortunately the web-based Terminal app does not work with Safari. Update OS Instead of bundling an unRAID Server plugin on the Plugins page, there is a new page on the Tools menu in the About section called Update OS. Here you can check for a new unRAID OS release as well as switch between the latest release in the stable branch or the latest release in the next (development) branch. In addition there is a separate control on the Notification Settings page that configures whether or not to automatically check for updates. Improved shfs/mover The unRAID user share file system (shfs) has been improved in two areas. First, we now make use of FUSE readbuf/writebuf methods. This should result in significant throughput increases. Second, the mover script/move program no longer uses rsync to move files/directories between the cache pool and the parity array. Instead the move program invokes a new shfs ioctl() call. This should result in complete preservation of all metadata including atime and mtime. Other IPv6 support. Entirely designed, coded, and tested by user bonienl who has greatly improved unRAID OS networking. We now fully support 4Kn devices, that is, devices with both 4096-byte physical and 4096-byte logical block sizes. It used to be that merely Starting the array would re-write an unRAID standard partition layout on all devices assigned to the array. This has been changed so that nothing is written to a device unless Format is invoked (except for Parity devices – those will still be written upon array Start if parity sync is indicated). Moving devices around between cache pool and array or unassigned is handled much better now. Added Flash backup button on the Flash device info page (Main/Flash). Click this button to download a zip file with the entire contents of your USB Flash boot device. This zip file may be used to restore to a new unRAID USB Flash boot device either manually, or using the USB Creator tool. We ported a simplified version of the zenstates.py utility to C (to avoid including python in bzroot) which may be used to disable Ryzen C6 states (as workaround for Ryzen idle freeze issue). We have found that sometimes bios option to disable C6 does not exist or does not do the right thing. If you want to use this utility, we suggest that you edit the config/go file on your USB flash device. Add this line just before emhttp is invoked: /usr/local/sbin/zenstates --c6-disable Expanded driver support and more hardware monitoring support. Kernel modules and firmware are now left on the Flash in a squashfs loopback and loaded into RAM on demand. Many more misc. improvements Known Issues Certain motherboards with on-board Aspeed IPMI graphics adaptors may lose video or switch to different colored text during the boot process. To prevent this, add the nomodeset kernel option to your syslinux append line. Some users report vmwrite syslog errors as a result of VM startup. This is a harmless message and can be ignored; however, please report if you see this. AMD Ryzen CPU is known to freeze on linux-based distros and unRAID OS is no exception. Disabling C6 state either in your bios or using our zenstates program seems to be the most reliable mitigation for this issue. Maybe some day AMD will fix this. AMD Threadripper GPU passthrough to VM's does not work reliably. This is an AMD bug, maybe some day they'll fix it.
  13. 7 points
    Hi Guys. I have made a video about setting up and configuring Duplicati on unRAID for cloud and network backups.
  14. 6 points
    CA Mover Tuning A simple little plugin (mainly created for my own purposes) that will let you fine tune the operation of the mover script On scheduled runs of mover, only actually move file(s) if the the cache drive is getting full (selectable threshold) On scheduled runs of mover, optionally don't move if a parity check / rebuild is already in progress Ability to completely disable the scheduled runs of mover if so desired (Not sure if there's much demand for this) Manually executed runs of mover ("Move Now" button) can either follow the rules for schedules, or always move all files After installation (any guesses as to how to install the plugin?), the default settings are set so that there is no difference as to how unRaid normally handles things. You'll find it's settings within Settings - Scheduler
  15. 6 points
    On Friday, August 30th, using random.org's true random number generator, the following 14 forum users we're selected as winners of the limited-edition Unraid case badges: #74 @Techmagi #282 @Carlos Eduardo Grams #119 @mucflyer #48 @Ayradd #338 @hkinks #311 @coldzero2006 #323 @DayspringGaming #192 @starbix #159 @hummelmose #262 @JustinAiken #212 @fefzero #166 @Andrew_86 #386 @plttn #33 @aeleos (Note: the # corresponds to the forum post # selected in this thread.) Congratulations to all of the winners and a huge thank you to everyone else who entered the giveaway and helped us celebrate our company birthday! Cheers, Spencer
  16. 6 points
    upgraded the ml30 g9 from 6.6.4 with no apparent issues to functionality. waiting for version 6.6.6 next. 👹
  17. 6 points
    @DZMM @1812 Stop jerking around with ugly hacks. Try this instead. Copy the attached file onto the root of the flash drive Edit /boot/config/go and add the following lines before the line that says emhttp, and after the #!/bin/bash cp /boot/dockerupdate.php /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/dockerupdate.php chmod +x /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/dockerupdate.php You'll have to reboot for it to take effect. This fix checks for connectivity to github prior to attempting to determine if the containers have updates available for them. (Github is where the repositories are stored) Without this fix, your VM's never start until all of the cumulative timeouts are reached which could be quite a while. Let me know if this works for you and I'll put in a pull request to LT for the next revision. Note: Attached file only tested on 6.4.0-rc17b. dockerupdate.php
  18. 5 points
    I have made un updated video guide for setting up this great container. It covers setting up the container, port forwarding and setting up clients on Windows, macOS Linux (ubuntu Mate) and on cell phone - Android and IOS. Hope this guide helps people new to this setting up OpenVPN
  19. 5 points
    I'm on holiday with my family, I have tried to compile it several times but there are some issues that need working on. It will be ready when it's ready, a week for something that is free is no time at all, we're not releasing the source scripts for reasons I outlined in the original script, but if someone isn't happy with the timescales that we work on, then they are more than welcome to compile and create this solution themselves and debug any issues. The source code is all out there. I've made my feelings about this sort of thing well known before, I will outline it again. We're volunteers with families, jobs, wives and lives to leads. Until the day comes where working on this stuff pays our mortgages, feeds our kids and allows us to resign our full time jobs arrives then things happen at our place and our pace only. We have a discord channel that people can join and if they want to get involved then just ask, but strangely whenever I offer, the standard reply is that people don't have enough free time. If that is the case, fine, but don't assume any of us have any more free time than you, we don't, we just choose to dedicate what little free time we have to this project.
  20. 5 points
    Important info regarding unRAID 6.2 and beyond. ***unRAID 6.2 Compatible*** Hello again! I've done another overhaul of the plugins too add new features and update for the unRAID 6.1 security changes, please see the plugin changes below. Note that your SERVER NEEDS A REBOOT AFTER UPGRADE if you are upgrading from any plugin prior to version 2015.09.06.1, to clear out old dependencies. v3 Features: NEW SickRage and Ubooquity plugins Fully compatible with unRAID 5.x, 6.0.x, and 6.1.x standards Includes all v1 features still Includes all v2 features still Dependencies now install to cache drive if located Plugin follows array status rules due to changes in dependencies, cannot start when array is offline RAM usage is now largely reduced when a cache drive is present Activity log added so you can see the history of what the plugin has done (start, stop, install, update...) New layout for the settings GUI Shows installed version even when app is stopped Shows array status Reduced GUI output to minimal, added full verbose to plugin activity log file Fixed up some app dependencies that may have been missing Added HTTPS settings to any app that supports it Dark theme support CSS cleaned up entirely into CSS files RC script now moved to plugin folder under /usr/local/emhttp/plugins folder, symlink created in /etc/rc.d for backwards compatibility When running "update" command from command line, no longer necessary to specify "Running" as it will detect current state of app New loading screen tells you what the plugin is doing when the page is loading (not fully working on unRAID 5, cosmetic) Many (and I mean MANY) more back-end changes to the code to clean it up Hi again, I've done some big overhaul work on these plugins so they will be designated as v2. See the features below (mostly back-end). v2 Features: Includes all v1 features still Everything is MD5 or SHA1 checked so no more bad downloads (at least without showing an error message) App install files are now stored on the USB drive in the app bundle folder, no more re-downloading on each reboot The app bundle folder now holds the control files and dependency files for that app, no more re-downloading on each reboot Updated dependencies for some apps for slightly better operation If no internet connection is detected, plugin will attempt to locate a copy on the USB and install that so server can still start and function Universal plugin for Unraid 5 and Unraid 6 Uninstall option added, will remove the plugin but leaves your install/config directories intact Fully compatible with Plugin Manager on Unraid 6 beta 12+ (These don't work on Unraid 6 beta 10 and under) Plugin detects if internet is out, and won't hang your server while booting or opening the settings gui When changing config directory, it will move the items rather than copy them as to not add extra space on the cache drive when nearing capacity Added option to disable version checking on the settings GUI, makes page load faster, but you won't get notified on app updates Added manual update check when auto version checking is disabled Downgrade plugin updated for U6B12+ (which normally doesn't let you install an older plugin file) Segregated all dependencies into a PhAzE-Common folder as to not interfere with the OS, uses a wrapper when starting the apps Now lists major dependency versions on settings GUi page, shows 'not working' if they fail to run, and 'not installed' if missing Reduced sleep commands where possible, updated notification messages and streamlined the plugin template to make new apps easier to develop into plugins No need for the GUI fix in the GO file with these, if you have that set up, you can remove them once you upgrade to these Likely more minor tweaks I just can't think of at the moment... Hey Everyone, I've recently decided to make plugins for all the apps I currently use so that I know how they work and can easily troubleshoot them, as well as add in extra features that I might use. I thought I'd share them all on here for anyone interested in trying them. I've tried to unify the way they work so that all the plugins use similar structure and design when functioning. Since I'm only one person with a basic Unraid set-up, I was hoping other people could both use and benefit from these while at the same time help me discover any flaws so I can improve them. Downloads for Unraid 5 and 6 are below. v1 Features: Gets current installed version of application, notifies you of an update to the app when one is available Update to app can be installed from the plugin GUI Notifies you of an update to the plugin if one is available, and can also be updated in the GUI Ability to downgrade to the previous plugin version if you don't like the latest update Update buttons only show when an update is available, checks are done when you open the GUI page Extended functionality for the applications, such as ability to set URL base, or select different BRANCH/BETA of app Ability to set HTTPS if the application allows it to be set externally Improved app directory size calculations, shows you breakdown of directory sizes if they are not subdirectories of each other Improved "RUNNING" link which can be clicked to open the app, includes port and URL base, and HTTPS if they are set Settings changed in the plugin GUI are updated in the apps settings Settings changed in the app will reflect in the plugin GUI Checks entries for port number fields to make sure they are numeric and within proper port ranges Checks entries for directory fields to make sure they don't mix (IE: config dir and install dir are separate) GIT installs retain hidden .GIT files when moved so you won't get "invalid git repo" errors Plugin Downloads: (Right-Click -> Save Link As) CouchPotato:(v3)Unraid 5/6Emby Server:(v3)Unraid 5/6FileBot:(v3)Unraid 5/6FlexGet:(v3)Unraid 5/6Headphones:(v3)Unraid 5/6Maraschino:(v3)Unraid 5/6Mylar:(v3)Unraid 5/6NZBGet:(v3)Unraid 5/6NZBmegasearcH:(v3)Unraid 5/6PlexConnect:(v3)Unraid 5/6Plex Media Server:(v3)Unraid 6 (Unraid 5 no longer supported)Resilio Sync:(v3)Unraid 5/6SABnzbd:(v3)Unraid 5/6Serviio:(v3)Unraid 5/6SickBeard:(v3)Unraid 5/6SickBeard_alt:(v3)Unraid 5/6SickRage:(v3)Unraid 5/6Sonarr:(v3)Unraid 5/6Subsonic:(v3)Unraid 5/6Transmission:(v3)Unraid 5/6Ubooquity:(v3)Unraid 5/6 These should fully work but if you come across a bug, post it here so I can update the plugin *** BACKUP YOUR DATA BEFORE INSTALLING AS A PRECAUTION *** Usage (Unraid 6): - Navigate to the Plugins tab on the Unraid interface - Click the 'install plugin' sub tab - Either paste the LINK or navigate to the .PLG file and press install - Go to the Unraid Settings page, click on the app icon, setup the way you want, and hit apply. Usage (Unraid 5): - Place .PLG file in /config/plugins/ folder on your USB stick - Reboot OR run installplg /boot/config/plugins/pluginname.plg from prompt on the server - Go to the Unraid Settings page, click on the app icon, setup the way you want, and hit apply. Thanks: - Influencer - Some code has been reused, cleaned up, and extended from his plugins - dragonfyre13 - Created the code to install nzbdrone .deb file and get the latest version number - spidi - Some code has been reused from his Plex plugin Help: If you are having problems with the plugins, please first check out this common problems thread I made to resolve some of the more common issues with plugins: LINK Notes: - PlexConnect needs to use port 80 by default, but unRAID Web GUI uses that port already. You can change the Web GUI port in the GO script by adding -p 1234 to the end of the startup command for emhttp like this: /usr/local/sbin/emhttp -p XX & (where XX is the new web port to use) then reboot. You would then access the web GUI with: http://IPofSERVER:XX - Sabnzbd uses port 8080 as a default. If you have Unmenu installed, that also uses port 8080. Remember to change the sabnzbd port to a different one so there is no conflict. - You can create a cron job to update these apps by running the following: /etc/rc.d/rc.APPNAME update - Here is a small tutorial for changing from old Plex installs/plugins to my plugin so you can keep your database and settings: Link - I recommend leaving "Show storage memory usage" set to "no" for the plex plugin as this will speed up the plugin GUI for people with large databases. Plex stores many files for its database/metadata and can cause this option to hang the browser for a while when it checks the storage size. - Transmission requires the 'transmission remote' application separately to connect and adjust more details on the daemon, or you can edit the settings.json file in your config directory if you wish. Also note that settings changed from the client app while the daemon is running will not save to the settings file until transmission-daemon is terminated. This is of course normal operation for this program so those that have used it before should be aware of this. - if Plex won't start, but installs fine, the problem is likely GCC and GCC-G++ packages installed by unmenu. They break the ability to set the locale which Plex needs to have set. These files aren't needed and are safe to remove unless you have any apps that compile from source. - Flexget runs as a daemon (aka always on), and on the web interface (click 'running' on plugin gui) you can set the schedule for tasks. Have a look at the flexget website for details on this. If no schedule is set, flexget automatically runs every task each hour. Scheduling works similar to cron jobs but is the prefered method when using the daemon. This install also sets up a flexget script in /usr/bin should you wish to stop the daemon and just make your own cron jobs. - Any plugin that allows you to change the REPO, be aware it will delete your install and config directories when you change over so there are no application conflicts of databases or config files. If you plan on going back to the previous repo, backup your config directories before making the switch. Also, there is always the chance that the custom repo you choose uses a heavily modified app that my plugin isn't compatible with so use at your own risk. - If you are using Unraid 6 Beta 12 or higher, you need the v2 plugins in order to see the plugin GUI under settings. The v1 plugins will not show up on this version of the OS. - If you are using Unraid 6.1 or higher, you need the v3 plugins in order for the buttons on the GUI to work. Other: Donations are greatly appreciated but never required: PayPal -=PhAzE=-
  21. 5 points
    Most people think "bitrot" refers to flaws in the physical storage media developing over time, such that data written to a storage block at time 0 is not the same data that is read at time 1, and this fact goes undetected. Indeed storage media does degrade over time, however, storage media devices also incorporate powerful error detection and correction circuitry. This makes it mathematically impossible for errors due to degrading media to NOT be detected and then not reported as "unrecoverable media error", unless there is a firmware error or other physical defect in the device. In virtually all h/w platforms, all physical data paths are protected by some kind of error detection scheme. For example, if a DMA operation is initiated to read data from RAM and write to a storage controller over PCI bus, all the various data paths are protected with extra check bits, either in parallel with parallel data paths, or using checksums. This means (again barring firmware errors), random bit errors in data leaving memory and arriving at the storage end up getting detected before ever being written to the media. There is ONE subsystem in modern PC computer systems that is typically not protected however: system RAM. If you have a file in RAM and along comes a random alpha particle (for example) and flips a bit, nothing detects this - in btrfs or zfs (for example) the s/w happily calculates an (incorrect) checksum and the h/w happily writes it all the way to the media. Until one day you read the file and see corruption and say, "Damn you crappy storage device, you have bitrot!", when all along it was written that way. If you really care about flawless storage, and indeed better system in general, you must use ECC RAM for starters. Also use quality components everywhere else, especially PSU. That will be your best defense against "bitrot".
  22. 5 points
    What happened to the next 10 RCs? 😁
  23. 5 points
    Just a couple years ago I was reading a fascinating article about the return of 3Dfx, and their new graphics card that was beating up on AMD and nVIDIA's latest and greatest. I was in shock, I thought 3Dfx was long dead, and here they were with a surprise return out of nowhere, and were now in the performance lead. I kept thinking this was impossible... but I kept believing what I was reading, with pure fascination and joy... until I got to the Minesweeper FPS charts!!! I had completely forgotten it was April 1st. The experience forever changed me, to the point I can't wait for April 2nd to come and all the fake news to end. I now have a really hard time believing anything I read on the 1st of April. So, being April Fools and all, I had to get the big prank out of the way earlier before sharing this news. Otherwise I was going to wait until tomorrow to share this development, in case someone thought that this was a prank. This one is no joke. It seems that my unRAID stability issues are resolved by disabling "Global C-state Control". In the ASRock BIOS you can find it under: Advanced -> AMD CBS -> Zen Common Options -> Global C-state Control. I've read elsewhere that on other motherboards you should still find it in the Zen Common Options section, so look for it there in your own BIOS. Here are my last 8 tests, the last 4 of which I've only been toggling just this one setting: Enabled = <4 hours, crash Disabled = 55+ hours, System auto-shutdown when UPS battery drained during power outage. Enabled = <90 minutes, crash Disabled = 10+ hours, got bored and rebooted Enabled = <30 minutes, crash Disabled = 13+ hours, got bored and rebooted Enabled = <3.5 hours, crash Disabled = 6+ hours, decided I was done testing Most importantly, the server has never crashed with Global C-state Control disabled. The only real downside I've found so far is that idle wattage has definitely increased. With Global C-State Control enabled, I was typically seeing idle wattage of 73w, with it disabled it's now idling at 87w. That's a big 14w jump for an idle CPU. (Note, I just tested this again with my 24-drive controller finally installed and all hard drives spun up. Wattage went from 151w with it enabled, to 158w with it disabled, so a more palatable 7w difference. Not sure why the better result.) I've also found that, with it enabled, I can get the server to crash pretty quickly simply by ignoring the server (no, not emotionally, silly). It seems that even bringing up the web page and monitoring the Dashboard creates just enough load to make it take longer to crash, much as running a VM gives the server more work and delays a crash, often by days. If I completely ignore the server (by closing the web pages so they aren't updating in the background), the server typically crashes within an hour. Probably because the server is going into lower power states much more readily with nothing to do. Since the problem really does seem to be with power management and the processor entering very low power states, I've been trying to figure out which C-state exactly might be causing the problem. I've done some research and matched it up with my testing, and here's what I've got so far: According to AMD, if "Cool'N'Quiet is disabled, then low power C-states will also be disabled. Not sure if this is true, nor exactly which C-states get disabled, but disabling Cool'N'Quiet did not resolve the issue. Disabling "Deep Sleep" (which is a variation on C3, not C4 like I thought earlier) also did not resolve the issue. Disabling "C6 Mode" (a.k.a. "Deep Power Down" mode) also did not resolve the issue. Only disabling "Global C-state Control" resolved the issue. I haven't been able to find any answers on exactly what this setting is doing. I can only assume it is completely disabling all C-states, from C1-C6 (or higher, haven't been able to figure out what C-states Ryzen supports), leaving the CPU always operating in C0. From what I've read, it seems that the processor has to increment through each C-state to reach the next, i.e. C1 -> C2 -> C3 -> C4 -> C6. You can only get to C6 from C4, and only to C4 from C3. Since C3 is also known as "Deep Sleep", when I disabled Deep Sleep in my BIOS, I think that means I effectively disabled C3, C4 and C6. And since that didn't fix the problem, that might point the finger back at C1 or C2. But that's purely a guess. On the other hand, I've also read that the Linux kernel can override the BIOS at times related to the C-states. Perhaps the unRAID kernel has simply been compiled with an option that isn't compatible with Ryzen. I checked the max C-state, (by running cat /sys/module/intel_idle/parameters/max_cstate ) and it came back with a value of 9, for C9. I have no idea if Ryzen supports C9, but if it does not, then perhaps unRAID is trying to enter C-states the processor doesn't support (the latest Intel CPU's can go up to C10). Or maybe this means nothing, I really don't know. There's still some pretty big lingering questions: Why is this C-state stability issue only happening in unRAID, and not other Linux distros? (I'm guessing a kernel compilation option that Lime-Tech is using). Why does it only affect Ryzen, and not the Bulldozer architecture? (I'm guessing the compiled options are confused by Zen but not by Bulldozer). Is this fixable? (I'm thinking it is, but will require Lime-Tech's involvement). Does this even need to be fixed, if we have a BIOS workaround? (To me, yes, because idle power consumption increased) So at this point, I'm done with my testing. I think I've pointed Lime-Tech in the direction of the C-states, and possibly the kernel compilation options related to C-states. This has all now greatly exceeded my Linux skill level and I won't be of any additional help. But in the mean time, at least we have a workaround, so my work here is done. For the very first time, I plugged in my 24-drive controller card and brought up my 42TB array up on Ryzen, and a parity check is chugging along nicely. It's been down for weeks during all this testing, and I've got a lot of data to get copied over (yesterday was World Backup Day, after all). Fingers crossed... -Paul P.S. - I'm also attaching two Diagnostics zip files, one with Global C-State Control enabled, and the other with it disabled. I used Beyond Compare on the two log files, and didn't see much related to ACPI or power managements, but perhaps they will prove useful to someone else. Global_C-state_Control_OFF_tower-diagnostics-20170401-0641.zip Global_C-state_Control_ON_tower-diagnostics-20170401-0641.zip
  24. 4 points
    Application Name: Jackett Application Site: https://github.com/Jackett/Jackett Docker Hub: https://hub.docker.com/r/linuxserver/jackett/ Github: https://github.com/linuxserver/docker-jackett Please post any questions/issues relating to this docker you have in this thread. If you are not using Unraid (and you should be!) then please do not post here, instead head to linuxserver.io to see how to get support.
  25. 4 points
    tldr: Starting with 6.8.0-rc2 please visit Settings/Disk Settings and change the 'Tunable (scheduler)' to 'none'. Then run with SQLite DB files located on array disk shares and report whether your databases still become corrupted. When we first started looking into this issue one of the first things I ran across was this monster topic: https://bugzilla.kernel.org/show_bug.cgi?id=201685 and related patch discussion: https://patchwork.kernel.org/patch/10712695/ This bug is very very similar to what we're seeing. In addition Unraid 6.6.7 is on the last of the 4.18 kernels (4.18.20). Unraid 6.7 is on 4.19 kernel and of course 6.8 is on 5.3 currently. The SQLite DB Corruption bug also only started happening with 4.19 and so I don't think this is coincidence. In looking at the 5.3 code the patch above is not in the code; however, I ran across a later commit that reverted that patch and solved the bug a different way: https://www.spinics.net/lists/linux-block/msg34445.html That set of changes is in 5.3 code. I'm thinking perhaps their "fix" is not properly handling some I/O pattern that SQLite via md/unraid is generating. Before I go off and revert the kernel to 4.18.20, please test if setting the scheduler to 'none' makes any difference in whether databases become corrupted.
  26. 4 points
    Application Name: Duplicati Application Site: https://www.duplicati.com/ Docker Hub: https://hub.docker.com/r/linuxserver/duplicati/ Github: https://github.com/linuxserver/docker-duplicati Please post any questions/issues relating to this docker you have in this thread. If you are not using Unraid (and you should be!) then please do not post here, instead head to linuxserver.io to see how to get support.
  27. 4 points
    Support for CrashPlan PRO (aka CrashPlan for Small Business) docker container Application Name: CrashPlan PRO (aka CrashPlan for Small Business) Application Site: https://www.crashplan.com/en-us/business/ Docker Hub: https://hub.docker.com/r/jlesage/crashplan-pro/ Github: https://github.com/jlesage/docker-crashplan-pro NOTE ******************************************** If you want to migrate from CrashPlan for Home and are using my CrashPlan container, follow these steps for a smooth transition: Make sure you have migrated your CrashPlan account. Stop the CrashPlan (Home version) container. Login to your unRAID server and copy the app data (the goal being that the new docker re-use the same data): cp -a /mnt/user/appdata/CrashPlan /mnt/user/appdata/CrashPlanPRO Finally, install this container using the Community Applications plugin. After these steps, everything should work like before. Once you are happy with the transition, you can remove the old CrashPlan container and its appdata folder. NOTE: If you are using another container, you can still migrate using this container. See the dedicated section in the documentation for details. ******************************************** This container is based on Alpine Linux, meaning that its size is very small. It also has a very nice, mobile-friendly web UI to access CrashPlan PRO's graphical interface and is actively supported! Make sure to look at the complete documentation, available on Github ! Post any questions or issues relating to this docker in this thread. Warning! Make sure to read the Taking Over Existing Backup section from the documentation if you are installing this container to replace another CrashPlan installation (from Windows, Linux, Mac or even another Docker container).
  28. 4 points
    Here is a video that shows what to do if you have a data drive that fails and you want to swap/upgrade it and the disk that you to replace it is larger than your parity drive. So this shows the swap parity procedure. Basically you add the new larger drive then have Unraid copy the existing parity data over to the new drive. This frees up the old parity drive so it can then be used then to rebuild the data of the failed drive onto the old parity drive. Hope this is useful
  29. 4 points
    Well, it's finally happened: Unraid 6.x Tunables Tester v4.0 The first post has been updated with the release notes and download. Paul
  30. 4 points
    Here is my banner. Think it fits unraid well!
  31. 4 points
    It's not an issue with stock Unraid, the issue is there isn't a patch available for the runc version. Due to the recent docker update for security reasons, Nvidia haven't caught up yet. Sent from my Mi A1 using Tapatalk
  32. 4 points
    Hi all, Would be lovely to have settings to configure access to shares on an individual user's page as well. Depending on the user-case, it's easier to configure things on a per-share basis, or a per-user basis. Would be nice to have the option, see wonderfully artistic rendering below:
  33. 4 points
    Programs run as abc--not www-data. Pretty sure you need to specify the PHP interpreter too. So, it should look like this: sudo -u abc php /config/www/nextcloud/occ db:convert-filecache-bigint
  34. 4 points
    all gone very quiet after the move. I hope everything is ok @limetech ?
  35. 4 points
    My opinion is that this discussion has been had ad infinitum over the years, we all know by now that LT's definition of RC is perhaps different to what most people would expect. Just accept it. In LT's defence though, yes things might break, or there may be new bugs to elements, but AFAIK there's never been a bug with core NAS functionality or one that has caused data loss. So, if an upgrade breaks the VM or docker subsystem, just downgrade again, easy as pie. New functionality has been developed by @bonienl to make this easy.
  36. 4 points
    @limetech , @jonp , @eschultz How does one disable the display of user Avatars on forum posts? Why would I ever want to do that you ask? It's because I'm noticing extremely annoying ANIMATED avatars used by new users that I find extremely distracting to the point of them ruining the forum experience.
  37. 4 points
    Status Report on version 3 Life got in the way for the past couple months and development slowed quite a bit ("Assassin's Creed: Origins" didn't help either) but I've put in some solid development time over the past week and have made great progress. I hope to have an alpha version ready inside a week. I've been quite satisfied at the progress I've made and getting excited. Installation will be via the Plugin interface and the GUI will be fully in the browser with no telnet sessions. While I say "alpha", it'll be a fairly tested product having been tested on two UNRAID environments plus a VirtualBox environment and against both intel & amd motherboards and different controller cards - but it hasn't been tested against other user's hardware.
  38. 4 points
    Adding the following to NotificationAgents.xml allows Telegram to work for notifications. Not the easiest process to setup though. First you have to send @BotFather a message '/newbot', after a few steps it sends you back your HTTP API. Then you need to start a conversation with your bot in order to get the Chat ID to send to. Not sure there is an easy way to integrate this into the settings page, I manually queried the API to get the chat ID. <Agent> <Name>Telegram</Name> <Variables> <Variable Help="The API key can be found [a href='https://core.telegram.org/bots/api' target='_blank'] [u]here[/u].[/a]" Desc="API key" Default="">API_KEY</Variable> <Variable Help="Chat ID [a href='https://core.telegram.org/bots/api' target='_blank'] [u]here[/u].[/a]" Desc="Chat ID" Default="">CHAT_ID</Variable> <Variable Help="Specify the fields which are included in the message body of the notification." Desc="Notification Message" Default="$DESCRIPTION">MESSAGE</Variable> </Variables> <Script> <![CDATA[ #!/bin/bash ########## {0} ########## MESSAGE=$(echo -e "$MESSAGE") URL=https://api.telegram.org/bot$(echo -e "$API_KEY") CHATID=$(echo -e "$CHAT_ID") curl -s -k -G \ --data-urlencode "text=$MESSAGE" \ $URL/sendMessage?chat_id=$CHATID ]]> </Script> </Agent> Edit: While looking for something else I noticed theres another way to get the chatid. Send '/getid' to IDBot @myidbot (https://telegram.me/myidbot) and it will reply with your chat id
  39. 4 points
    Important: If you want to report an issue, please start a new topic in this board. This is a bug fix release only (-rc6). UEFI support (-rc5) It is now possible configure UEFI boot mode to boot unRAID OS. The make_bootable.bat (Windows), make_bootable_mac (MacOS) and make_bootable_linux (Linux) scripts will output a prompt: Permit UEFI boot mode [Y/N]: If answered with 'Y' a new directory is included on the USB flash boot device called 'EFI'. The presence of this directory along with its contents, and along with some additional linux kernel options permit UEFI boot. This is done in such a way that you could choose either BIOS (legacy) or UEFI to boot off your USB flash device (that is, even if you answer 'Y' here you can still configure your motherboard to use Legacy boot). If answered with 'N' the directory and contents are still created, but named 'EFI-' (a dash at the end). This will prevent UEFI firmware from considering this device. You can manually rename the 'EFI-' directory to 'EFI' and permit possible UEFI boot (and rename back to 'EFI-' to prevent it again). Note: Even if the 'EFI' directory exists, whether or not your motherboard actually uses UEFI to boot is determined by BIOS settings. In addition, some motherboards may present a strongly worded warning along the lines of "The system found unauthorized changes on the firmware, operating system or UEFI drivers." In this case look for a "Secure Boot" BIOS setting and change to "Other OS" or "Disable". If you update your server using Check for updates on the Plugin page, an 'EFI-' directory and files will be automatically created on your USB flash boot device. If you prepare a new USB flash using this release, the 'EFI-' directory and files will also be included. If you use the "manual" method of updating by copying the bz* files from the release zip, beware you will need to manually also copy over the 'EFI-' directory (and modify the first line of syslinux.cfg and copy it to 'EFI-/boot' directory). There is also a webGui setting to permit UEFI boot located on the 'flash' device information page in the 'Syslinux Configuration' section. Update OS (-rc5) We have changed the way one checks for new unRAID OS releases. Instead of bundling an "unRAID Server" plugin on the Plugins page, there is a new page on the Tools menu in the About section called 'Update OS'. Here you can check for a new unRAID OS release as well as switch between the latest release in the stable branch or the next branch. In addition there is a separate control on the Notification Settings page that configures whether or not to automatically check for updates. Improved shfs/mover (-rc1) The LimeTech user share file system (shfs) has been improved in two areas. First, we now make use of FUSE read_buf/write_buf methods. This should result in significant throughput increases. Second, the mover script/move program no longer uses rsync to move files/directories between the cache pool and the parity array. Instead the move program invokes a new shfs ioctl() call. This should result in complete preservation of all metadata including atime and mtime. While this function has been fairly extensively tested, please keep an eye on mover activities - there shouldn't be any data loss, but it's a fairly significant code change. nginx http server (-rc1) We now use the nginx webserver as the front-end to the unRAID OS Management Utility (aka, webGui). The emhttp process has been changed to a daemon (emhttpd) listening at a unix socket. Incorporating nginx provides several features: Multi-threaded access, though emhttpd is still single-threaded. https (SSL) support. At present unRAID OS will generate a self-signed certificate. https works but you will get a scary warning from your browser about not being able to verify the certificate. No worries. nchan (websocket) support. We have only just begun the process of converting many of the browser javascript polling functions to an event-driven websocket paradigm. This opens the door for us to create something like a process manager where we can have several background operations in process, all monitored in real-time via webGui dashboard. enabling https (-rc3) To enable https support it's necessary to edit your 'config/go' file on your USB flash boot device. Use the -p option to specify the port(s) and optionally include the -r option to redirect http request from your browser to using https. Here's the detailed usage: # Usage: # emhttp [-r] [-p port [,sslport]] [OPER] # OPER is start or stop. Default is start. # By default nginx will be setup to listen only at port 80 (http). # The -p option may be used to define different listening ports and/or setup nginx # to listen at a specified port for https. The -r option may be used to setup # nginx so that any http request is redirected to https (this requires that both # ports have been specified with -p option). For example, to have nginx listen # at both standard ports but redirect all http to https use: # emhttp -rp 80,443 # To listen at only port 443 use: # emhttp -p ,443 # Note: the stop operation is only "safe" if the array has already been stopped # (this will be fixed). linux 4.11 kernel (-rc1) - should provide better Ryzen support among other improvements. IPv6 support (-rc1) We want to again, give a big "thank you" to bonienl who has greatly improved unRAID OS networking with the addition of IPv6 support. Give it a try and report any issues. Other (-rc1) Two new webGUI themes: Azure and Gray. Again, thanks to bonienl. Expanded driver support (QLogic) and more hardware monitoring support. Kernel modules and firmware are left on the Flash in a squashfs loopback and loaded into RAM on demand. Many more misc. improvements Changes (-rc6) Linux kernel: additional modules: CONFIG_INTEL_POWERCLAMP: Intel PowerClamp idle injection driver CONFIG_CPU_FREQ_GOV_SCHEDUTIL: 'schedutil' cpufreq policy governor CONFIG_THERMAL_GOV_FAIR_SHARE: Fair-share thermal governor CONFIG_THERMAL_GOV_BANG_BANG: Bang Bang thermal governor CONFIG_THERMAL_GOV_POWER_ALLOCATOR: Power allocator thermal governor more components changed from built-in to module Management: webgui: More updates to plugin manager - remove dynamix check webgui: Fixed auto resize icons to 48px in plugins page webgui: Fixed incorrect name when plugin check is done webgui: Add "Check for Updates" button and disable auto-check as needed webgui: Remove the "Retry" button when communication failure webgui: Fixed regression error of double function declaration
  40. 4 points
    @shEiD @johnnie.black @itimpi Oh how we love to be comforted! While it is true that the mathematics show you are protected from two failures, drives don't study mathematics. And they don't die like light bulbs. In the throes of death they can do nasty things, and those nasty things can pollute parity. And if it pollutes one parity, it pollutes both parties. So even saying single parity protects against one failure is not always so, but let's say it protects against 98% of them. Now the chances of a second failure are astronomically smaller than a single failure. And it does not protect in the 2% that even a single failure isn't protected, and that 2% may dwarf the percentage of failures dual parity is going to rescue. I did an analysis a while back - the chances of dual parity being needed in a 20 disk array is about the same as the risk of a house fire. And that was with some very pessimistic failure rate estimates. Now RAID5 is different. First, RAID5 is much faster to kick a drive that does not respond in a tight time tolerance than unRaid (which only kicks a disk in a write failure). And second, if RAID5 kicks a second drive, ALL THE DATA in the entire array is lost. With no recovery possible expect backups. And it takes the array offline - a major issue for commercial enterprises that depend on these arrays to support their businesses. With unRaid the exposure is less, only affecting the two disks that "failed", and still leaving open other disk recovery methods that are very effective in practice. And typically our media servers going down is not a huge economic event. Bottom line - you need backups. Dual parity is not a substitute. Don't be sucked into the myth that you are fully protected from any two disk failures. Or that you can use the arguments for RAID6 over RAID5 to decide if dual parity is warranted in your array. A single disk backup of the size of a dual parity disk might provide far more value than using it for dual parity! And dual parity only starts to make sense with arrays containing disk counts in the high teens or twenties. (@ssdindex)
  41. 4 points
    Wait for the next rc release, you may want to repeat that sentence
  42. 4 points
    Glad to hear about HTTPS support coming. Some other suggestions: - Have a default root password vs just blank. - Force password to be changed on first login. - ssh key support in the web interface.. more advanced users can do this today. - Run docker as its own user - Run KVM as its own user - Create a separate user account for the web interface that isn't root so you are not passing root creds over the network (although ssl sorta addresses this) Even with that you should never stick an unraid box on a DMZ port. It's use case is inherently less secure than say a web server due to the attack landscape it exposes. (smb etc) Always use docker containers and only forward specific ports to it. Try and always use ports that are not default. Plex example: Use port 34121 on your router that points to 32400 on your internal plex docker. That way if some plex vuln comes out you have a little time to address it. The baddies will be scanning 32400 looking for them. YES you can still find it but that requires a full port scan on you and that is a lot slower then looking for plex by 32400. Another pro tip: Don't open SSH to your unraid server from the internets. If you really need to be able to ssh into your house create a small VM that you can use to connect to. Or better yet install the openvpn docker and connect that way. Never have direct connectivity on any port to your unraid box from the interwebs... always use a docker
  43. 4 points
    And maybe also useful for running a correcting parity check on a small part of the array if a non-correcting check found errors.
  44. 3 points
    Application Name: Heimdall Application Site: https://heimdall.site or https://github.com/linuxserver/Heimdall Docker Hub: https://hub.docker.com/r/linuxserver/heimdall/ Github: https://github.com/linuxserver/docker-heimdall Please post any questions/issues relating to this docker you have in this thread. If you are not using Unraid (and you should be!) then please do not post here, instead head to linuxserver.io to see how to get support.
  45. 3 points
    LibreELEC, TBS-OS, Digital Devices v6.8.0rc1 all done. TBS-Crazy-Cat broken at the moment.
  46. 3 points
    im on it guys, looks like there has been a switch to .net core which requires changes to the code which ive now done, new image now building
  47. 3 points
  48. 3 points
  49. 3 points
    Sparklyballs' old version has now been deprecated in favour of yours.
  50. 3 points
    came here asking me the same but i figured it out. So in case anyone else is wondering how to do this: When you have the webinterface open press alt + ctrl + shift, this opens a sidebar where you can edit the clipboard. Paste your links there and jdownloader will find them.