Skip to content

Commit f2c8d54

Browse files
committed
initial upload
1 parent c91aa85 commit f2c8d54

File tree

74 files changed

+2038
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2038
-1
lines changed

.gitattributes

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
3+
4+
# Custom for Visual Studio
5+
*.cs diff=csharp
6+
7+
# Standard to msysgit
8+
*.doc diff=astextplain
9+
*.DOC diff=astextplain
10+
*.docx diff=astextplain
11+
*.DOCX diff=astextplain
12+
*.dot diff=astextplain
13+
*.DOT diff=astextplain
14+
*.pdf diff=astextplain
15+
*.PDF diff=astextplain
16+
*.rtf diff=astextplain
17+
*.RTF diff=astextplain

.github/ISSUE_TEMPLATE.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!--- Provide a general summary of the issue in the Title above -->
2+
3+
[linuxserverurl]: https://linuxserver.io
4+
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
5+
6+
7+
<!--- If you have an issue with the project, please provide us with the following information -->
8+
9+
<!--- Host OS -->
10+
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
11+
<!--- Docker log output, docker log <container-name> -->
12+
<!--- Mention if you're using symlinks on any of the volume mounts. -->
13+
14+
15+
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
16+
17+
<!--- What you think your suggestion brings to the project, or fixes with the project -->
18+
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
19+
20+
## Thanks, team linuxserver.io
21+

.github/PULL_REQUEST_TEMPLATE.md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!--- Provide a general summary of your changes in the Title above -->
2+
3+
[linuxserverurl]: https://linuxserver.io
4+
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
5+
6+
7+
<!--- Before submitting a pull request please check the following -->
8+
9+
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
10+
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
11+
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
12+
<!--- -->
13+
14+
## Thanks, team linuxserver.io
15+

README.md

-1
This file was deleted.

_readme

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
This folder contains sample reverse proxy configs for various docker images linuxserver provides. They are grouped in two:
2+
1. "subfolder" these will allow accessing services at https://yourdomain.com/servicename
3+
2. "subdomain" these will allow accessing services at https://servicename.yourdomain.com
4+
5+
To enable the reverse proxies:
6+
1) rename the conf files and remove the ".sample" at the end (ie. "sonarr.subfolder.conf") and
7+
2) restart the letsencrypt container
8+
9+
Make sure that your default site config contains the following lines in the appropriate spots as seen in the default version:
10+
1) for subfolder methods: "include /config/nginx/proxy-confs/*.subfolder.conf;"
11+
2) for subdomain methods: "include /config/nginx/proxy-confs/*.subdomain.conf;"
12+
13+
To disable the configs, simply rename the files to add back the ".sample" to the end, and restart letsencrypt.
14+
15+
If you are reverse proxying linuxserver containers installed on the same host with the recommended options, you shouldn't
16+
need to edit these conf files. However, some files require you to make changes to the service containers such as adding
17+
base urls in their settings. Each conf file lists the required changes on the first line.
18+
19+
These confs also assume that the letsencrypt container can reach other containers via their dns hostnames (defaults to
20+
container name) resolved via docker's internal dns. This is achieved through having the containers attached to the same
21+
user defined docker bridge network.
22+
- If you are using docker-compose and the containers are managed through the same yaml file, docker-compose will automatically
23+
create a custom network and attach all containers to it. You don't have to do anything extra.
24+
- If you are starting the containers via command line, first create a bridge network via "docker network create [networkname]"
25+
and define that network in the container run/create command via "--network [networkname]".
26+
- If you are using a gui manager like portainer, you can create a custom bridge network in the gui, and select it when creating
27+
a new container.
28+
- If you are using unraid, create a custom network in command line via "docker network create [networkname]", then go to docker service settings (under advanced) and
29+
set the option "Preserve user defined networks:" to "Yes". Then in each container setting, do one of the following:
30+
1) Unraid 6.5.0 or earlier - (under advanced) add "--network=[networkname]" into "Extra Parameters".
31+
2) Unraid 6.5.1 or later - in the network type dropdown, select "Custom : [networkname]".
32+
You would have to do the above for the letsencrypt container as well, so they are all on the same custom network. The bridge
33+
network that unraid uses by default does not allow container to container communication.
34+
35+
If the reverse proxied containers are not reachable via dns or they are running on a different machine, you will have to modify
36+
these confs to fit your needs.

airsonic.subfolder.conf.sample

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# set the CONTEXT_PATH variable to /airsonic in airsonic container.
2+
3+
location ^~ /airsonic {
4+
# enable the next two lines for http auth
5+
#auth_basic "Restricted";
6+
#auth_basic_user_file /config/nginx/.htpasswd;
7+
8+
# enable the next two lines for ldap auth, also customize and enable ldap.conf in the default conf
9+
#auth_request /auth;
10+
#error_page 401 =200 /login;
11+
12+
include /config/nginx/proxy.conf;
13+
resolver 127.0.0.11 valid=30s;
14+
set $upstream_airsonic airsonic;
15+
proxy_pass http://$upstream_airsonic:4040;
16+
}

bazarr.subdomain.conf.sample

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# make sure that your dns has a cname set for bazarr and that your bazarr container is not using a base url
2+
3+
server {
4+
listen 443 ssl;
5+
6+
server_name bazarr.*;
7+
8+
include /config/nginx/ssl.conf;
9+
10+
client_max_body_size 0;
11+
12+
# enable for ldap auth, fill in ldap details in ldap.conf
13+
#include /config/nginx/ldap.conf;
14+
15+
location / {
16+
# enable the next two lines for http auth
17+
#auth_basic "Restricted";
18+
#auth_basic_user_file /config/nginx/.htpasswd;
19+
20+
# enable the next two lines for ldap auth
21+
#auth_request /auth;
22+
#error_page 401 =200 /login;
23+
24+
include /config/nginx/proxy.conf;
25+
resolver 127.0.0.11 valid=30s;
26+
set $upstream_bazarr bazarr;
27+
proxy_pass http://$upstream_bazarr:6767;
28+
}
29+
}

bazarr.subfolder.conf.sample

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# first go into bazarr settings, under "General" set the URL Base to /bazarr/ and restart the bazarr container
2+
3+
location /bazarr {
4+
return 301 $scheme://$host/bazarr/;
5+
}
6+
location ^~ /bazarr/ {
7+
# enable the next two lines for http auth
8+
#auth_basic "Restricted";
9+
#auth_basic_user_file /config/nginx/.htpasswd;
10+
11+
# enable the next two lines for ldap auth, also customize and enable ldap.conf in the default conf
12+
#auth_request /auth;
13+
#error_page 401 =200 /login;
14+
15+
include /config/nginx/proxy.conf;
16+
resolver 127.0.0.11 valid=30s;
17+
set $upstream_bazarr bazarr;
18+
proxy_pass http://$upstream_bazarr:6767;
19+
}

couchpotato.subdomain.conf.sample

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# make sure that your dns has a cname set for couchpotato and that your couchpotato container is not using a base url
2+
3+
server {
4+
listen 443 ssl;
5+
6+
server_name couchpotato.*;
7+
8+
include /config/nginx/ssl.conf;
9+
10+
client_max_body_size 0;
11+
12+
# enable for ldap auth, fill in ldap details in ldap.conf
13+
#include /config/nginx/ldap.conf;
14+
15+
location / {
16+
# enable the next two lines for http auth
17+
#auth_basic "Restricted";
18+
#auth_basic_user_file /config/nginx/.htpasswd;
19+
20+
# enable the next two lines for ldap auth
21+
#auth_request /auth;
22+
#error_page 401 =200 /login;
23+
24+
include /config/nginx/proxy.conf;
25+
resolver 127.0.0.11 valid=30s;
26+
set $upstream_couchpotato couchpotato;
27+
proxy_pass http://$upstream_couchpotato:5050;
28+
}
29+
}

couchpotato.subfolder.conf.sample

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# first go into couchpotato settings, under "General" set the URL Base to /couchpotato and restart the couchpotato container
2+
3+
location ^~ /couchpotato {
4+
# enable the next two lines for http auth
5+
#auth_basic "Restricted";
6+
#auth_basic_user_file /config/nginx/.htpasswd;
7+
8+
# enable the next two lines for ldap auth, also customize and enable ldap.conf in the default conf
9+
#auth_request /auth;
10+
#error_page 401 =200 /login;
11+
12+
include /config/nginx/proxy.conf;
13+
resolver 127.0.0.11 valid=30s;
14+
set $upstream_couchpotato couchpotato;
15+
proxy_pass http://$upstream_couchpotato:5050;
16+
}

deluge.subdomain.conf.sample

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# make sure that your dns has a cname set for deluge and that your deluge container is not using a base url
2+
3+
server {
4+
listen 443 ssl;
5+
6+
server_name deluge.*;
7+
8+
include /config/nginx/ssl.conf;
9+
10+
client_max_body_size 0;
11+
12+
# enable for ldap auth, fill in ldap details in ldap.conf
13+
#include /config/nginx/ldap.conf;
14+
15+
location / {
16+
# enable the next two lines for http auth
17+
#auth_basic "Restricted";
18+
#auth_basic_user_file /config/nginx/.htpasswd;
19+
20+
# enable the next two lines for ldap auth
21+
#auth_request /auth;
22+
#error_page 401 =200 /login;
23+
24+
include /config/nginx/proxy.conf;
25+
resolver 127.0.0.11 valid=30s;
26+
set $upstream_deluge deluge;
27+
proxy_pass http://$upstream_deluge:8112;
28+
}
29+
}

deluge.subfolder.conf.sample

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# deluge does not require a base url setting
2+
3+
location /deluge {
4+
return 301 $scheme://$host/deluge/;
5+
}
6+
location ^~ /deluge/ {
7+
# enable the next two lines for http auth
8+
#auth_basic "Restricted";
9+
#auth_basic_user_file /config/nginx/.htpasswd;
10+
11+
# enable the next two lines for ldap auth, also customize and enable ldap.conf in the default conf
12+
#auth_request /auth;
13+
#error_page 401 =200 /login;
14+
15+
include /config/nginx/proxy.conf;
16+
resolver 127.0.0.11 valid=30s;
17+
set $upstream_deluge deluge;
18+
rewrite /deluge(.*) $1 break;
19+
proxy_pass http://$upstream_deluge:8112;
20+
proxy_set_header X-Deluge-Base "/deluge/";
21+
}

duplicati.subdomain.conf.sample

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# make sure that your dns has a cname set for duplicati and that your duplicati container is not using a base url
2+
3+
server {
4+
listen 443 ssl;
5+
6+
server_name duplicati.*;
7+
8+
include /config/nginx/ssl.conf;
9+
10+
client_max_body_size 0;
11+
12+
# enable for ldap auth, fill in ldap details in ldap.conf
13+
#include /config/nginx/ldap.conf;
14+
15+
location / {
16+
# enable the next two lines for http auth
17+
#auth_basic "Restricted";
18+
#auth_basic_user_file /config/nginx/.htpasswd;
19+
20+
# enable the next two lines for ldap auth
21+
#auth_request /auth;
22+
#error_page 401 =200 /login;
23+
24+
resolver 127.0.0.11 valid=30s;
25+
set $upstream_duplicati duplicati;
26+
proxy_pass http://$upstream_duplicati:8200;
27+
}
28+
}

duplicati.subfolder.conf.sample

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# duplicati does not require a base url setting. DUPLICATI AUTH WILL NOT WORK WITH THIS CONFIG, use the auth options below
2+
3+
location /duplicati {
4+
return 301 $scheme://$host/duplicati/;
5+
}
6+
location ^~ /duplicati/ {
7+
# enable the next two lines for http auth
8+
#auth_basic "Restricted";
9+
#auth_basic_user_file /config/nginx/.htpasswd;
10+
11+
# enable the next two lines for ldap auth, also customize and enable ldap.conf in the default conf
12+
#auth_request /auth;
13+
#error_page 401 =200 /login;
14+
15+
resolver 127.0.0.11 valid=30s;
16+
set $upstream_duplicati duplicati;
17+
rewrite /duplicati(.*) $1 break;
18+
proxy_pass http://$upstream_duplicati:8200;
19+
}

emby.subdomain.conf.sample

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# make sure that your dns has a cname set for emby, if emby is running in bridge mode, the below config should work as is, although,
2+
# the container name is expected to be "emby", if not, replace the line "set $upstream_emby emby;" with "set $upstream_emby <containername>;"
3+
# for host mode, replace the line "proxy_pass http://$upstream_emby:8096;" with "proxy_pass http://HOSTIP:8096;" HOSTIP being the IP address of emby
4+
# in emby settings, under "Advanced" change the public https port to 443, leave the local ports as is, set the "external domain" to your url,
5+
# and set the "Secure connection mode" to "Handled by reverse proxy"
6+
7+
server {
8+
listen 443 ssl;
9+
10+
server_name emby.*;
11+
12+
include /config/nginx/ssl.conf;
13+
14+
client_max_body_size 0;
15+
16+
location / {
17+
include /config/nginx/proxy.conf;
18+
resolver 127.0.0.11 valid=30s;
19+
set $upstream_emby emby;
20+
proxy_pass http://$upstream_emby:8096;
21+
proxy_set_header Range $http_range;
22+
proxy_set_header If-Range $http_if_range;
23+
proxy_set_header Upgrade $http_upgrade;
24+
proxy_set_header Connection "upgrade";
25+
}
26+
}

emby.subfolder.conf.sample

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# if emby is running in bridge mode, the below config should work as is, although, the container name is expected to be "emby",
2+
# if not, replace the line "set $upstream_emby emby;" with "set $upstream_emby <containername>;"
3+
# for host mode, replace the line "proxy_pass http://$upstream_emby:8096;" with "proxy_pass http://HOSTIP:8096;" HOSTIP being the IP address of emby
4+
# in emby settings, under "Advanced" change the public https port to 443, leave the local ports as is, set the "external domain" to your url and subdomain,
5+
# and set the "Secure connection mode" to "Handled by reverse proxy"
6+
7+
location /emby {
8+
return 301 $scheme://$host/emby/;
9+
}
10+
location ^~ /emby/ {
11+
include /config/nginx/proxy.conf;
12+
resolver 127.0.0.11 valid=30s;
13+
set $upstream_emby emby;
14+
proxy_pass http://$upstream_emby:8096;
15+
16+
proxy_set_header Range $http_range;
17+
proxy_set_header If-Range $http_if_range;
18+
proxy_set_header Upgrade $http_upgrade;
19+
proxy_set_header Connection $http_connection;
20+
}

flood.subdomain.conf.sample

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# make sure that your dns has a cname set for flood and that your flood container is not using a base url
2+
3+
server {
4+
listen 443 ssl;
5+
6+
server_name flood.*;
7+
8+
include /config/nginx/ssl.conf;
9+
10+
client_max_body_size 0;
11+
12+
# enable for ldap auth, fill in ldap details in ldap.conf
13+
#include /config/nginx/ldap.conf;
14+
15+
location / {
16+
# enable the next two lines for http auth
17+
#auth_basic "Restricted";
18+
#auth_basic_user_file /config/nginx/.htpasswd;
19+
20+
# enable the next two lines for ldap auth
21+
#auth_request /auth;
22+
#error_page 401 =200 /login;
23+
24+
include /config/nginx/proxy.conf;
25+
resolver 127.0.0.11 valid=30s;
26+
set $upstream_flood flood;
27+
proxy_pass http://$upstream_flood:3000;
28+
}
29+
}

0 commit comments

Comments
 (0)