Tokimeki.Memorial

Note: This website contains almost no TokiMemo content.
In fact, this picture is the only reference at this point.

Unraid: Setting up Community Apps

Post 00015 | August 25th, 2022

Right, we're over the hard part. We've installed the OS and set up our shares. Settings have been set. Our server is serving, but now it's time kick things up a notch. This time we'll be installing Community Plugins to enable an App Store filled with Docker containers.

Before we get started, I should probably explain what Docker containers are: Docker containers are small packets that contain an application as well as whatever is required to run this application. These containers are then run by the Docker Engine, which run as a sort of virtual machine.

It's all a bit technical. Luckily, we don't really need to worry too much about the details, seeing Unraid has a pretty easy-to-use Docker implementation. If you've ever used an App Store you're well on your way. First, we'll install a new tab on the server's admin page has a list of "apps", or Docker containers.

Go to "Plugins" on your server's admin site and click the "Install Plugin" tab. Add the following to the "Enter URL…" textbox:

https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg

This will install the Community Applications plugin. Click done when the button appears and BAM; You should now have an "Apps" tab on the admin site for your clicking pleasure. It will come with a couple of disclaimers the first time you visit it. Other than that, that's basically all there's to it! We are ready to install apps!

I don't think there's much reason in going through the user interface; Firstly, it has seen some changes through the years, meaning there's a chance it might not stay up-to-date for long, but also because it's pretty straight forward: There's a list of categories on the left and a search bar in the top.

As one of the disclaimers alluded to, this App Store hosts both plugins and Docker containers. With Docker containers you have the option to only allow access to whatever the container requires; For instance, a Torrent client would only need access to a Download folder. This is preferable as if the container is compromised in some way it will not have access to the rest of your array. Of course, this will require a bit of setup - You'd have to tell it where the download folder is in this example. Plugins on the other hand run with the highest privileges. While they tend to have less setup, you should give it some extra thought before you install them. That said, Community Applications is generally well curated.

Here's a list of some of the plugins I usually install on any server:

  • Fix Common Problems: Highly recommended: Checks your system for miscellaneous common issues or misconfiguration and recommends fixes.
  • CA Backup / Restore Appdata: Lets you back up your server's appdata folder. This is where your Docker containers store most of their settings and other config files.
  • Custom Tab: Allows you to add custom tabs to the header on the admin site. They can link to sites within Unraid or external sites.
  • Dynamix Cache Directories: Remembers the folder structure of your array. If you have set your drives to spin down, you can avoid they spin up unnecessarily when you browse your shares.
  • Dynamix SSD Trim: Recommended if you have an SSD; Runs regular maintenance on your SSD by issuing TRIM command. Be sure to set schedule in Settings → Scheduler!
  • Unassigned Devices (Plus): Allows you to mount and share disks that aren't part of your array or cache. Unassigned Devices Plus supports more file systems and lets you do destructive changes such as formatting.
  • Unassigned Devices Preclear: Recommended for new drives. Writes over a new disk and reads its contents. Useful for checking if your drive is okay before adding it to your array.
  • unBALANCE:Lets you move data around on your disks. Mostly used if you gather the content of a share or folder onto a single disk.
  • User Scripts: (advanced) Allows you to run shell scripts as specified intervals.
Seeing as Docker containers have a few more settings that need to be set installing them, I figured I'd go over some of them next time.