In June of 2023, FileRun no longer offered a free product and started charging for their product. This shift changed the support for Unraid as newer versions would no longer be publicly available for download. As FileRun is one of the best self-hosted services for storing your data locallaly, I decided to write a setup guide to get this working on Unraid. Maybe in the near future, I will create a template for Unraid and maintain it, but for now, I just needed to get something written down so that I could reference it at a later date.
In order to get the latest version of FileRun working on your Unraid, you will need to own a FileRun license. You can obtain one here. note: I am not affiliated with FileRun, so I will not quote prices or services offered, but, I will say that as of date of this post, at the bottom of the pricing page, FileRun offers a "Family" service for $99.. this is to inform everyone that it's not as expensive as the top-tier service listed on their page.
You will also need to have a MariaDB container running on your Unraid server as FileRun requires a mysql database.
If you have a mariadb container:
First, configure mariadb by adding a database for FileRun. I use CloudBeaver as a frontend to manage my sql containers as it makes it easy to manage multiple sql formats (postgres, myssql, etc.) and it's visually appealing. Your container should be in bridge mode, and you should have access to port 3306. Also, ensure that your mariadb container has the PUID of 99 and PGID of 100 (nobody and users).
In your mariadb (or mysql) container, add your database and user for filerun. I'll use examples for this guide, but I highly recommend changing the variables:
- database: filerun_db
- user: filerun
- password: filerun
Log into your mariadb container and run the following commands:
CREATE DATABASE filerun_db;
GRANT ALL PRIVILEGES ON filerun_db.* TO 'filerun'@'localhost' IDENTIFIED BY 'filerun';
FLUSH PRIVILEGES;
If you're creating a container for FileRun only:
If you are creating a mariadb instance for the sole purpose of FileRun, you can use the template below:
Setup a FileRun Container:
First, you will need to get your FileRun files from your account page. Make sure to download the php 8.1 version. Once you download the zip file, transfer it to your Unraid server. I recommend moving it to "/mnt/user/appdata/filerun/". You'll need to create that path and set the permissions to the folder.
mkdir /mnt/user/appdata/filerun/
cd /mnt/user/appdata/filerun/
mkdir ./html/ ./user-files/
Navigate to your html folder, copy the zip file into the html folder, and extract the zip file.
unzip FILERUNZIP.zip
Then, set the permissions to the system/data folder.
chown nobody:users -R /mnt/user/appdata/filerun/html/system/data
note: whatever path you choose to store the application, make note of that because you will need to create a path variable in the Unraid template.
Now, create the container from a blank template. To do this, you will need to navigate to the Docker tab in Unraid, scroll down to the bottom of the container list, and click on the "Add Container" button.
Once you have a blank template, you will want to go into Advanced mode by toggling the slider on top. Then you just need to set it up and add some custom variables. Here are the values for the template:
- Name: Filerun
- Repsoitory: filerun/filerun:8.1
- Icon/URL: https://feedback.filerun.com/s/cache/9a/c9/9ac9d7f611e2b2e8520dd0d01dd5f10d.png
- WebUI: http://[IP]:[PORT:80]/
- Network Type: Bridge
At the bottom of the page, click the "Add another Path, Port, Variable, Label or Device" link.
You will need to configure the following as Variables:
- "FR_DB_HOST" = 192.168.1.3
- "FR_DB_NAME" = filerun_db
- "FR_DB_USER" = filerun
- "FR_DB_PASS" = filerun
- "FR_DB_PORT" = 3306
- "APACHE_RUN_USER" = nobody
- "APACHE_RUN_USER_ID" = 99
- "APACHE_RUN_GROUP" = users
- "APACHE_RUN_GROUP_ID" = 100
You will need to configure the following as a Port:
- WebUI: Container Port = "80" => Host Port = "8080" (you can choose any port you want for the host port)
You will need to configure the following as Paths:
- Container path = "/user-files" => Host path = "/mnt/user/storage/filerun-storage/"
- Container path = "/var/www/html" => Host path = "/mnt/user/appdata/filerun/html/"
Here is what it should look like:
Once you have it completed, you should be able to install the container and configure it based.
As a final note, remember to make sure that you complete the setup on the authorized DNS name you registered with FileRun when you purchased a license. I'm not sure what will happen if you set it up in a local IP, but I'd assume that it wouldn't work properly.
After I completed my setup, I couldn't access the web UI from the internal IP, it only worked with the domain name.