Installing Organizr on your FreeNAS system is a great way to keep track of all the services and different webpages and port you have setup to manage them. Organizer states that it aims to be your one stop shop for your Servers Frontend. Organizr allows you to setup “Tabs” that will be loaded all in one webpage. You can then work on your server with ease from a single point of contact. Many of the services are integreated in the the ‘iframe’ which means it really feels like a seamless one stop locations for managing your server. You can customize and configure all your pages and have them available on a single side tab, or you can setup multiple tabs. One of the best features is that you can set it up to let you know if the service is up or down, it integrates with Sonarr and Radarr and includes a calendar telling you when the next episode airs or a movie releases. It also can show basic information from your Plex server such as recently added and currently playing. It even has support for multiple users with different permission profiles. I haven’t been able to explore all the features yet, but already this software is superior to other front ends such as Heimdall. Organizr is a must install for anybody with a media server setup to make your life so much less complex. This article will walk you through the setup process for Organizr on your FreeNAS server.

This article is part of my series of FreeNas setup, configuration and install articles.

Create a New Jail for Organizr

Use the FreeNAS WebUI to create a new jail. You can try and use an existing jail if you’d like, but consider weather there are any web servers in that jail which might conflict with the web server we are going to need for Organizr. To create new jail navigate to “Jails -> Add” and then enter the relevant information.

Install the Dependencies and Tools

We will now need to install all the dependencies for running Organizr, including the webserver (nginx), git and all the necessary php tools. To do so, you will need to go to the shell of the jail, either through the WebUI or using SSH, and enter the following command.

pkg install -y nginx git wget nano php72 php72-curl php72-pdo php72-sqlite3 php72-simplexml php72-zip php72-openssl php72-hash php72-json php72-session php72-pdo_sqlite php72-filter

If this is a new jail it will probably ask if you want to install the pkg service (used to install software). Enter yes.

Configure the Web Server and PHP



Configure PHP by running the following seven commands which will add text to the PHP config files:

echo 'listen = /var/run/php-fpm.sock' >> /usr/local/etc/php-fpm.conf

echo 'listen.owner = www' >> /usr/local/etc/php-fpm.conf

echo 'listen.group = www' >> /usr/local/etc/php-fpm.conf

echo 'listen.mode = 0660' >> /usr/local/etc/php-fpm.conf

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

sed -i '' -e 's?;date.timezone =?date.timezone = "Universal"?g' /usr/local/etc/php.ini

sed -i '' -e 's?;cgi.fix_pathinfo=1?cgi.fix_pathinfo=0?g' /usr/local/etc/php.ini

Download Organizr V2

git clone -b v2-develop https://github.com/causefx/Organizr /usr/local/www/Organizr

Set Permissions:

chown -R www:www /usr/local/www

Edit the nginx configuration file:

nano /usr/local/etc/nginx/nginx.conf

I got mine working by having it look like this:

user www; worker_processes 1; # This default error log path is compiled-in to make sure configuration parsing # errors are logged somewhere, especially during unattended boot when stderr # isn't normally logged anywhere. This path will be touched on every nginx # start regardless of error log location configured here. See # https://trac.nginx.org/nginx/ticket/147 for more info. # #error_log /var/log/nginx/error.log; # #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; server { listen 80; server_name organizr; #charset koi8-r; #root /usr/local/www/Organizr; #access_log logs/host.access.log main; location / { root /usr/local/www/Organizr; index index.php index.html index.htm; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # redirect server error pages to the static page /50x.html # # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # location ~ \.php$ { root /usr/local/www/Organizr; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } } }

Here’s a list of the changes you need to make to the file:

1) set the user to www at the top of the file;

2) under the server section, location subsection change the root to: /usr/local/www/Organizr;

3) under the server section, location subsection add index.php to the index heading;

4) uncomment the 50x error page lines;

5) uncomment the “location ~ \.php$ {” line and then add the following text after it:

root /usr/local/www/Organizr; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; }

Below this section of the file there is alot of extraneos additional information that is for addition webpages etc. You can delete it or just keep it in the file and commented out. At the end, your file should look something like the image below.

Start Services and Set them to Start on Boot

Now we are ready to set the services to start on boot by entering the following commands:

sysrc nginx_enable=YES

sysrc php_fpm_enable=YES

You can either reboot the jail now, or have them manually start now with the following commands:

service nginx start

service php-fpm start

That’s it! Organizr is installed and you’re ready to rock! You can now login at to Organizr at http:// [ localIPaddress ] and you will be greeted with the following lovely screen to begin configuring the setup!

Configure Organizr

So this article is meant to help you install Organizr not configure it. However one quick tip that I needed, was how to get my Plex token, which this web link will help you do. This webpage also has a few helpful tips for overall config.

Alright folks, you should be up and running, so happy Organizrin’!

~Raze

Sources:

https://www.ixsystems.com/community/resources/fn11-2-iocage-jails-plex-tautulli-sonarr-radarr-lidarr-jackett-transmission-organizr.58/

https://gist.github.com/mow4cash/e2fd4991bd2b787ca407a355d134b0ff