Installation

Requirements

Here are the general requirements to install Organizr

  1. Webserver - Nginx (or any other webserver that works with php)
  2. PHP 7.1.3 or later
    1. PDO
    2. PDO7-SQLITE
    3. PHP7-ZIP
    4. PHP7-SESSION
    5. SimpleXML
    6. OPENSSL
    7. SQLITE3
    8. CURL [For Plex & Emby Logins]
    9. PHP7-LDAP [For LDAP Logins]
    10. PHP7-XMLRPC [For rTorrent Homepage Item]

 

-DISCORD-CODE-BLOCK- Webserver - Nginx (or any other webserver that works with php) \n <br/>| PHP 7.1.3 or later | PDO | PDO7-SQLITE | PHP7-ZIP | PHP7-SESSION | SimpleXML | OPENSSL | SQLITE3 | CURL [For Plex & Emby Logins] | PHP7-LDAP [For LDAP Logins] | PHP7-XMLRPC [For rTorrent Homepage Item]

Instructions per OS

Instructions per OS

Docker

Available Tags

Tag Description
latest Up to Date Master Branch
armhf

An adaptation of the php-fpm image for ArmHF platforms like the RaspberryPi.

php-fpm Implementation of a socket connection for PHP-FPM instead of an HTTP connection. It also includes the PM changes for the www.conf file that we recommend to users that are just getting started. One thing to note is that, if you mounted the /etc/php7/php-fpm.d/ directory for the container to your Host, you MUST recreate your container WITHOUT that mount. You will also want to remove the /path/to/Org/config/php directory from your Docker Host as that can cause issues as well. This is designed as a drop-in to get PHP-FPM working without having to mount extra directories, etc.
plex Original Organizr v2 image, but with some changes found in the plex-theme branch of the GitHub repo to accommodate the Plex Theme for Organizr v2 by Burry
dev-[Any above branch] i.e. (dev-php-fpm) Dev equivalent tags pull from the v2-develop branch of the GitHub repository instead of the main v2-master branch

Install using CLI

docker create \
  --name=organizr \
  -v <path to data>:/config \
  -e PGID=<gid> -e PUID=<uid>  \
  -p 80:80 \
  organizrtools/organizr-v2

Install Using Compose

version: "3.6"
services:
    organizr:
        container_name: organizr
        hostname: organizr
        image: organizrtools/organizr-v2:latest
        restart: unless-stopped
        ports:
            - 80:80
        volumes:
            - <path to data>:/config
        environment:
            - PUID=<uid>
            - PGID=<gid>
            - TZ=<timezone>

More Information

Head over to https://hub.docker.com/r/organizrtools/organizr-v2 to see more information.

Instructions per OS

Ubuntu/Debian

Important note for beginners: Organizr is a php based web front-end to help organize your services. Organizr itself is not a service, so do not think of this as another usenet application. It's a collection of files that live on your webserver to serve up existing content/services in a streamlined, organized way.

This guide makes the following assumptions:

If you don't already have nginx installed as a webserver, run apt-get install nginx or consult this guide for detailed setup.

Dependencies:

There are a few packages that Organizr depends on to function. Some of them may already be installed with your OS, some may be missing, or some may require an upgraded version. This guide shows you how to use and install php7.1 and its packages, but Organizr also lets you use php7.0 or php7.2, if you prefer.

If you plan on using LDAP for authenticating into Organizr, php7.1 or later is required.

If you do not have php already installed on your system, you'll need to add the repository and install the package:

apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php7.1

Then, to be sure all of the Organizr's prerequisites are installed, run the following command with your package manager. Some of these may also require other dependencies, so select "Yes" to install those as well.

apt-get install php7.1-mysql php7.1-sqlite3 sqlite3 php7.1-xml php7.1-zip openssl php7.1-curl

You now have the necessary prerequisites to install and use Organizr. Next you need to decide where you're going to install Organizr within your web directory. Most default nginx installations give you a path at /var/www/html to insert your website files. You can install Organizr there, but to keep things organized (in the event that you want more than one website), we recommend /var/www/websites/website_name.com/. You can also install Organizr as a subdirectory, if you do not want Orgniazr being the default root of your domain. In that case, you would install it to /var/www/websites/website_name.com/organizr. For this guide, we'll assume your domain is named roxinsocks.com and that Organizr is running at the root level of the site.

Installing Organizr
  1. Navigate to your website path with cd /var/www/websites/roxinsocks.com
  2. Using one of these two methods, grab the most recent Organizr build from github:
Using Git

git clone https://github.com/causefx/Organizr /var/www/websites/roxinsocks.com

You may need to install git if you don't have it installed: apt-get install git

Using Zip
  1. wget https://github.com/causefx/Organizr/archive/v2-master.zip You may need to install wget if you don't have it installed: apt-get install wget
  2. Unzip the file with unzip v2-master.zip -d /var/www/websites/roxinsocks.com

All your Organizr files are now installed at /var/www/websites/roxinsocks.com/

Permissions & Access
  1. Set the permission to your path, so that Organizr can write to it by running chown -R www-data:www-data /var/www/websites/roxinsocks.com/
  2. For external access and functionality, edit your nginx sites-enabled config file for your domain (nano /etc/nginx/sites-enabled/roxinsocks.com), and be sure the root is set correctly in the server block. This will tell nginx where to look for organizr, when you navigate to your domain:
server{
       root /var/www/websites/roxinsocks.com/;
       index index.php index.html index.htm index.nginx-debian.html;
       server_name roxinsocks.com;
       location / { try_files $uri $uri/ =404; }
}

    3. Navigate to that path locally using your web browser and the host's local ip address. http://localhost or http://192.168.1.### You should be able to login and establish your admin account.

 

Instructions per OS

Windows

OWI (Organizr Windows Installer)

Requirements

Currently x64 bit OS only.

Tested on

What does it do

Installation Steps

  1. Clone\Download the OWI folder from: https://github.com/elmerfdz/OrganizrInstaller
  2. Extract the zip file to your desktop
  3. Navigate to \OrganizrInstaller\windows\owi.
  4. Right-click on owi_installer.bat and click on Run as administrator
  5. Installer will ask you for the nginx install location, type in the full path as per the e.g. c:\nginx
  6. The installer will ask you to provide the password of the current user during installation, the nginx service requires that you run it under a user account instead of the 'Local System' account, if you don't then you won't be able to save and reload your nginx config

Manual Install

Installing Nginx & Running it as a Service

  1. Install Nginx
    1. Download Nginx from: http://nginx.org/en/download.html
    2. Install Nginx to your preferred location
    3. Copy the Nginx folder to your preferred location e.g. c:\
    4. If you want to run Nginx as a service then go the 'Running Nginx as a service' section, if not continue.
    5. Go to the location you copied the Nginx folder e.g. c:\nginx
    6. Double click on 'nginx.exe' in c:\nginx , nginx should now be running on your system
    7. To verify, open a browser and type localhost and press enter. If you get "Welcome to nginx!” message then Nginx has been installed successfully
      1. Note: you would need to open 'nginx.exe' every time you reboot your system, to avoid this, install Nginx as a service.
  2. Running Nginx as a service
    1. Download NSSM from: https://nssm.cc/download
    2. Copy the nssm.exe from the win32 or win64 folder depending on your system to C:\Windows\System32
    3. Open cmd as admin, navigate to C:\Windows\System32
    4. Type in this command without the quotes “nssm install nginx”
      1. Path = C:\nginx\nginx.exe
      2. Startup directory = C:\nginx
      3. h21f0uB.png
    5. Install service
    6. Make sure you run the service as the admin account
      1. Open run and type in services.msc
      2. Search for the nginx service we just installed
      3. Double-click and go to the Log On tab
      4. Select ‘This account:’ and fill in your account details and then press ok.
      5. Right click on the nginx service and restart
    7. Making your Nginx install PHP ready, uncomment the following code from your nginx.conf file (c:\nginx\conf\nginx.conf)
location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

To verify, open a browser and type localhost and press enter. If you get "Welcome to nginx!” message then Nginx has been installed successfully

Installing PHP & Running as a service on Windows

  1. Installing PHP for Windows
    1. Download PHP for Windows from here: http://windows.php.net/download (Non Thread Safe version used in this guide)
    2. Create a folder called PHP under your Nginx directory e.g. C:\nginx\php and copy the downloaded files to this folder
  2. Running PHP as a service
    1. Install NSSM by following steps 1 & 2 from Above
    2. If you’ve got ‘nssm’ already setup, open command prompt as admin.
    3. Type in the following cmd without the quotes “nssm install php”
      1. Path = C:\nginx\php\php-cgi.exe
      2. Startup directory = C:\nginx\php
      3. Arguments = -b 127.0.0.1:9000
      4. KTKCbDs.png
    4. Install Service
    5. On the opened cmd prompt type in “nssm start php” (without the quotes) to start the PHP service.
    6. If the installed PHP service doesn’t start, then try manually running the ‘php-cgi.exe’ file in C:\nginx\php\ , If you get a missing ‘VCRUNTIME’ related error then follow the solution on this link: http://stackoverflow.com/questions/30811668/php-7-missing-vcruntime140-dll
    7. Make a copy of one of the php.ini-development or php.ini-production files and rename it to php.ini
    8. Open the php.ini file and search for the following and uncomment each:
      1. extension_dir = "ext"
      2. extension=php_openssl.dll
      3. extension=php_pdo_sqlite.dll
      4. extension=php_curl.dll
      5. extension=php_sqlite3.dll
    9. Please note that if you are running PHP 7.2 or higher, look for the below lines and uncomment them instead:
      1. extension_dir = "ext"
      2. extension=openssl
      3. extension=pdo_sqlite
      4. extension=curl
      5. extension=sqlite3
    10. Also, uncomment the following line and add "ext" to the end of it:
      1. sqlite3.extension_dir =
        1. So that is becomes: "sqlite3.extension_dir = ext" (without the quotes)
    11. On the opened cmd prompt type in “nssm restart php” (without the quotes) to restart the PHP service to apply the changes in php.ini.

Installing Organizr

  1. Make sure you have setup Nginx and PHP
  2. Make sure you have enabled php_pdo_sqlite.dll & php_openssl.dll PHP extensions.
  3. Download the latest release of Organizr.
  4. Open the downloaded organizr zip file and copy all files and paste them in the web root folder c:\nginx\html\
    1. OR If you prefer you can create sub-directory called organizr under c:\nginx\html and paste the copied organizr files in that folder.
  5. Goto http(s)://localhost/index.php

Sample Config Files

Nginx.conf

You can copy the following if you wish and replace the content in your nginx.conf file

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        #CHANGE THESE LINES##########
        server_name  localhost;
        root   html/Organizr;
        #############################
        index  index.php index.html index.htm;
        error_page 400 401 403 404 405 408 500 502 503 504  /?error=$status;
        location / { }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

    }

}

 

 

First Time Setup

 

Install Type

This is where you would choose if this is for Personal Use of Business use, 

License Type Information
Personal Everything is unlocked - nothing is hidden
Business All Media related items are hidden

Admin Info

Here you will need to fill out the Admin's info.  If you choose the personal License and you are using Plex or Emby as a backend you should fill out the username/email/password all the same as that admin's information so you can use SSO.

Security

This is where locking down the system comes into play.  There are 3 fields that are needed, 1 of them is auto-generated, which is the API field.

Field Information
Hash Key This is the salt used to hash all passwords that will be in the config file
Registration Password This is the field that is needed for anyone to sign up for you Organizr
API Key This is auto-generated.  Used to access Organizr's data

Database

Organizr uses SQLITE for its Database.  All that is needed is what you want to name the Database - for security reasons... and The location of where to store it - also for security reasons.  Once you have filled out the information, it's best to click the Test/Create Path button to see if everything is good to go.

Path Information
Suggested Directory This is a new directory named db inside the parent directory of where Organizr located 
Current Directory This where Organizr is located
Parent Directory  This is the parent directory of where Organizr located