[Support] Linuxserver.io - Organizr


Recommended Posts

linuxserver_medium.png

 

Application Name: Organizr

Application Site: https://github.com/causefx/Organizr

Docker Hub: https://hub.docker.com/r/lsiocommunity/organizr/

Github: https://github.com/linuxserver/docker-organizr

 

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.

Edited by linuxserver.io
  • Like 1
  • Upvote 3
Link to comment

Anyone having issues with this? Just tried to install it today from community applications and its throwing exceptions when creating the database.

 

2017/03/19 11:26:09 [error] 287#287: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [14] unable to open database file in /config/www/Dashboard/user.php:174
Stack trace:
#0 /config/www/Dashboard/user.php(174): PDO->__construct('sqlite:/config/...')
#1 /config/www/Dashboard/index.php(171): User->__construct('registration_ca...')
#2 {main}

EDIT

 

Seems it didn't like me changing the default DB location.

Edited by Zemoj
Link to comment
2 minutes ago, WexfordStyle said:

Does anyone have this working in a reverse proxy? I tried to configure mine using https and Organizr itself loads but none of the pages I have configured seem to work, they just appear blank.

 

There's a security setting with IFRAMEs that has to do with the main page and the frame page sharing the same domain. I've only been able to get it to work using relative paths like /sonarr and /couch for my tabs. I haven't had time to fully look into getting it to work otherwise. I would suspect you are having the same issue. You can use F12 in some browsers and check the console for errors.

Link to comment
  • 3 weeks later...

Can I ask two questions please:

 

1) is this docker keeping up with the latest version or have I got a docker update problem (strong possibility)? My version says 1.22 which is was released 26/3 and the latest version is 1.3.23

2) is there a way to get this working with reverse proxy?

Link to comment

I am doing a huge overhaul of my server and this is app is great. I haven't figured out what the Homepage Settings does though.

How do I enable Homepage? Is it a tab I can make available somehow?

 

I just found homepage.php which does display my Plex settings that I enabled. Is there some other way that I should be seeing that other than the host:port/homepage.php?

Link to comment
  • 2 weeks later...

Updated and got this error today. Any clues?

 

Fatal error: Uncaught Error: Class 'PDO' not found in /config/www/Dashboard/user.php:160 Stack trace: #0 /config/www/Dashboard/index.php(67): User->__construct('registration_ca...') #1 {main} thrown in /config/www/Dashboard/user.php on line 160

 

Link to comment
2 hours ago, drogg said:

Updated and got this error today. Any clues?

 


Fatal error: Uncaught Error: Class 'PDO' not found in /config/www/Dashboard/user.php:160 Stack trace: #0 /config/www/Dashboard/index.php(67): User->__construct('registration_ca...') #1 {main} thrown in /config/www/Dashboard/user.php on line 160

 

 

Same here, updated today and seeing the same error.

Edited by mudsloth
Link to comment

Sure, I'll post what I've done to get Organizr to show up as the homepage.

 

In LE's config folder:

AppData/LetsEncrypt/nginx/site-confs/

 

I duplicated the default site file and created a new one.

 

See attached for what I used for settings.

 

The top 2 server sections are just so http and https traffic redirect to https://domain.com.  This is just my preference so the URL looks a little cleaner.

 

Then put the docker information in the "location /" section.

# redirect traffic to https://[domain.com]
server {
	server_name www.[domain.com];
	
	listen 80 ipv6only=off;
    return 301 https://[domain.com]$request_uri;
}

# redirect traffic to https://[domain.com]
server {
	server_name www.[domain.com];
	
	listen 443 ipv6only=off;
    return 301 https://[domain.com]$request_uri;
}

# main server block
server {
	server_name [domain.com];
	
	listen 443 ssl ipv6only=off;
	
	# SSL certificates and keys
	ssl_certificate /config/keys/letsencrypt/fullchain.pem;
	ssl_certificate_key /config/keys/letsencrypt/privkey.pem;
	ssl_dhparam /config/nginx/dhparams.pem;
	
	# SSL settings
	add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
	ssl on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
	ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    proxy_buffering off;
	
	# Custom error pages
	error_page 400 401 402 403 404 /error.php?error=$status;
	
	# Authorization
	location /auth-admin {
    	internal;
        rewrite ^ /auth.php?admin;
	}
	
	# Organizr
	location / {
		proxy_pass http://192.168.1.3:82;
		include /config/nginx/proxy.conf;
	}

	# Guacamole
#	location ^~ /guacamole/ {
#		proxy_pass http://192.168.1.3:8084/guacamole/;
#	}

#	location ^~ /guacamole/websocket-tunnel {
#		auth_request /auth-admin;
#  		proxy_pass http://192.168.1.3:8084/guacamole/websocket-tunnel;
# 		proxy_http_version 1.1;
#   	proxy_set_header Upgrade $http_upgrade;
#   	proxy_set_header Connection "upgrade";
#   	add_header X-Frame-Options "SAMEORIGIN";
#   	proxy_set_header Host $host;
#	  	proxy_set_header X-Real-IP $remote_addr;
#	 	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#	}
	
	# Plex
	location ^~ /web {
		auth_request /auth-admin;
		proxy_pass http://192.168.1.3:32400/web;
    	add_header X-Frame-Options "SAMEORIGIN";
    	proxy_set_header Host $host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	
	# PlexPy
	location ^~ /plexpy/ {
		auth_request /auth-admin;
		proxy_pass http://192.168.1.3:8181;
		add_header X-Frame-Options "SAMEORIGIN";
    	proxy_set_header Host $host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	
	# Radarr
	location ^~ /radarr {
		auth_request /auth-admin;
    	proxy_pass http://192.168.1.3:7878;
    	add_header X-Frame-Options "SAMEORIGIN";
    	proxy_set_header Host $host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	
	# Sonarr
	location ^~ /sonarr {
		auth_request /auth-admin;
    	proxy_pass http://192.168.1.3:8989;
    	add_header X-Frame-Options "SAMEORIGIN";
    	proxy_set_header Host $host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
	
	# Transmission
	location ^~ /transmission/ {
		auth_request /auth-admin;
    	proxy_pass http://192.168.1.3:9091/transmission/web/;
    	add_header X-Frame-Options "SAMEORIGIN";
    	proxy_pass_header X-Transmission-Session-Id;
    	proxy_set_header X-Forwarded-Host $host;
    	proxy_set_header X-Forwarded-Server $host;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}

	location ^~ /rpc {
    	proxy_pass http://192.168.1.3:9091/transmission/rpc;
	}
}

 

 

 

 

 

Link to comment

D'oh, some of my code formatted weird when pasting... just gotta deal.

 

I setup the web server authentication so you can't access any of apps without logging into Organizr.  More info here:

https://github.com/causefx/Organizr/wiki/Authentication-|-Server-Based

 

And then for Fail2Ban, add the organizer-auth.conf filter and add the appropriate code to jail.local:

AppData/LetsEncrypt/fail2ban/

 

More info here:

https://github.com/causefx/Organizr/wiki/Fail2Ban-Integration

 

For Fail2Ban to work it needs to see the loginLog.json file, located here:

AppData/Organizr/www/Dashboard/

 

Just pass that path through the Let's Encrypt docker and make sure the jail.local has the correct path.

 

There's one issue with the Fail2Ban, it currently only see's the docker's IP address, ex. 172.17.0.2.  To see the IP address from the originating source, gotta add a bit of code to Organizr's default site file:

AppData/Organizr/nginx/site-confs/

 

server {
	listen 80 default_server;
	root /config/www/Dashboard;
	index index.html index.htm index.php;

	server_name _;
	client_max_body_size 0;
	
	# get real IP
	real_ip_header X-Forwarded-For;
    set_real_ip_from 172.17.0.0/16;
    real_ip_recursive on;

	location / {
		try_files $uri $uri/ /index.html /index.php?$args =404;
	}
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		# With php5-cgi alone:
		fastcgi_pass 127.0.0.1:9000;
		# With php5-fpm:
		#fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include /etc/nginx/fastcgi_params;
	}
}

 

That should do it!

 

If anyone sees any corrections or has suggestions, let me know.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.