├── .github ├── FUNDING.yml ├── workflows │ ├── call-invalid-issues-cron.yml │ └── call-issue-pr-tracker.yml ├── ISSUE_TEMPLATE │ ├── config.yml │ ├── issue.feature.yml │ └── issue.bug.yml ├── dependabot.yml ├── ISSUE_TEMPLATE.md ├── CONTRIBUTING.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .editorconfig ├── .gitattributes ├── dnsdist.subdomain.conf.sample ├── tinyauth.subdomain.conf.sample ├── gitea.subfolder.conf.sample ├── forgejo.subfolder.conf.sample ├── medusa.subfolder.conf.sample ├── couchpotato.subfolder.conf.sample ├── flaresolverr.subfolder.conf.sample ├── heimdall.subfolder.conf.sample ├── lazylibrarian.subfolder.conf.sample ├── authelia.subdomain.conf.sample ├── qui.subfolder.conf.sample ├── adminer.subfolder.conf.sample ├── petio.subfolder.conf.sample ├── monitorr.subfolder.conf.sample ├── webtop.subfolder.conf.sample ├── metube.subfolder.conf.sample ├── slskd.subfolder.conf.sample ├── airsonic.subfolder.conf.sample ├── dockge.subfolder.conf.sample ├── domoticz.subfolder.conf.sample ├── authentik.subdomain.conf.sample ├── flood.subfolder.conf.sample ├── gotify.subfolder.conf.sample ├── kanzi.subfolder.conf.sample ├── scope.subfolder.conf.sample ├── spoolman.subfolder.conf.sample ├── autobrr.subfolder.conf.sample ├── booksonic.subfolder.conf.sample ├── lychee.subfolder.conf.sample ├── znc.subfolder.conf.sample ├── picard.subfolder.conf.sample ├── filebot.subfolder.conf.sample ├── glances.subfolder.conf.sample ├── netdata.subfolder.conf.sample ├── plexwebtools.subfolder.conf.sample ├── smokeping.subfolder.conf.sample ├── crontabui.subfolder.conf.sample ├── gatus.subfolder.conf.sample ├── mylar.subfolder.conf.sample ├── planka.subfolder.conf.sample ├── thelounge.subfolder.conf.sample ├── phpmyadmin.subfolder.conf.sample ├── audiobookshelf.subfolder.conf.sample ├── deluge.subfolder.conf.sample ├── guacamole.subfolder.conf.sample ├── pyload.subfolder.conf.sample ├── sickrage.subfolder.conf.sample ├── jellyfin.subfolder.conf.sample ├── sickchill.subfolder.conf.sample ├── headphones.subfolder.conf.sample ├── duplicati.subfolder.conf.sample ├── shinobi.subfolder.conf.sample ├── beets.subfolder.conf.sample ├── ghost.subfolder.conf.sample ├── wordpress.subfolder.conf.sample ├── organizr.subfolder.conf.sample ├── mytinytodo.subfolder.conf.sample ├── chronograf.subfolder.conf.sample ├── gaps.subfolder.conf.sample ├── monica.subfolder.conf.sample ├── quassel-web.subfolder.conf.sample ├── miniflux.subfolder.conf.sample ├── dozzle.subfolder.conf.sample ├── emby.subdomain.conf.sample ├── jfa-go.subfolder.conf.sample ├── lidarr.subfolder.conf.sample ├── radarr.subfolder.conf.sample ├── sonarr.subfolder.conf.sample ├── dokuwiki.subfolder.conf.sample ├── readarr.subfolder.conf.sample ├── whisparr.subfolder.conf.sample ├── freshrss.subfolder.conf.sample ├── ddns-updater.subfolder.conf.sample ├── bazarr.subfolder.conf.sample ├── kavita.subfolder.conf.sample ├── beszel.subfolder.conf.sample ├── ubooquity.subfolder.conf.sample ├── emby.subfolder.conf.sample ├── homepage.subfolder.conf.sample ├── sabnzbd.subfolder.conf.sample ├── paperless.subfolder.conf.sample ├── youtube-dl.subfolder.conf.sample ├── linkwarden.subfolder.conf.sample ├── sonarrtorss.subfolder.conf.sample ├── rclone.subfolder.conf.sample ├── flexget.subfolder.conf.sample ├── komga.subfolder.conf.sample ├── syncthing.subfolder.conf.sample ├── jenkins.subfolder.conf.sample ├── jackett.subfolder.conf.sample ├── themepark.subfolder.conf.sample ├── portainer.subfolder.conf.sample ├── prowlarr.subfolder.conf.sample ├── semaphore.subfolder.conf.sample ├── nextcloud.subdomain.conf.sample ├── organizr-auth.subfolder.conf.sample ├── grafana.subfolder.conf.sample ├── code-server.subdomain.conf.sample ├── tvheadend.subfolder.conf.sample ├── mealie.subdomain.conf.sample ├── transmission.subfolder.conf.sample ├── synapse.subdomain.conf.sample ├── qui.subdomain.conf.sample ├── znc.subdomain.conf.sample ├── atuin.subdomain.conf.sample ├── dashy.subdomain.conf.sample ├── drone.subdomain.conf.sample ├── homer.subdomain.conf.sample ├── petio.subdomain.conf.sample ├── photoprism.subdomain.conf.sample ├── romm.subdomain.conf.sample ├── dsmrreader.subdomain.conf.sample ├── grav.subdomain.conf.sample ├── mailu.subdomain.conf.sample ├── ntfy.subdomain.conf.sample ├── pinry.subdomain.conf.sample ├── fenrus.subdomain.conf.sample ├── flood.subdomain.conf.sample ├── ghost.subdomain.conf.sample ├── gotify.subdomain.conf.sample ├── homarr.subdomain.conf.sample ├── kanzi.subdomain.conf.sample ├── kopia.subdomain.conf.sample ├── lldap.subdomain.conf.sample ├── lychee.subdomain.conf.sample ├── matomo.subdomain.conf.sample ├── mylar.subdomain.conf.sample ├── nocodb.subdomain.conf.sample ├── nzbget.subfolder.conf.sample ├── piwigo.subdomain.conf.sample ├── pydio.subdomain.conf.sample ├── shlink.subdomain.conf.sample ├── tdarr.subdomain.conf.sample ├── wizarr.subdomain.conf.sample ├── yacht.subdomain.conf.sample ├── budge.subdomain.conf.sample ├── deluge.subdomain.conf.sample └── dockge.subdomain.conf.sample /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: linuxserver 2 | open_collective: linuxserver 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything 2 | * 3 | 4 | # Do NOT ignore allowed files 5 | !.editorconfig 6 | !.gitattributes 7 | !.github 8 | !.github/** 9 | !.gitignore 10 | !*.conf.sample 11 | !LICENSE 12 | !README.md 13 | -------------------------------------------------------------------------------- /.github/workflows/call-invalid-issues-cron.yml: -------------------------------------------------------------------------------- 1 | name: Mark stale issues and pull requests 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: "30 1 * * *" 6 | 7 | jobs: 8 | stale: 9 | permissions: 10 | issues: write 11 | pull-requests: write 12 | uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1 13 | secrets: inherit 14 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | # trim_trailing_whitespace may cause unintended issues and should not be globally set true 9 | trim_trailing_whitespace = false 10 | 11 | [{*.conf,*.conf.sample}] 12 | indent_style = space 13 | indent_size = 4 14 | trim_trailing_whitespace = true 15 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 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 18 | -------------------------------------------------------------------------------- /.github/workflows/call-issue-pr-tracker.yml: -------------------------------------------------------------------------------- 1 | name: Issue & PR Tracker 2 | 3 | on: 4 | issues: 5 | types: [opened,reopened,labeled,unlabeled,closed] 6 | pull_request_target: 7 | types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed] 8 | pull_request_review: 9 | types: [submitted,edited,dismissed] 10 | 11 | jobs: 12 | manage-project: 13 | permissions: 14 | issues: write 15 | uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1 16 | secrets: inherit 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discord chat support 4 | url: https://discord.gg/YWrKVTn 5 | about: Realtime support / chat with the community and the team. 6 | 7 | - name: Discourse discussion forum 8 | url: https://discourse.linuxserver.io 9 | about: Post on our community forum. 10 | 11 | - name: Documentation 12 | url: https://docs.linuxserver.io/general/swag#preset-proxy-confs 13 | about: Documentation - information about how this repository works with SWAG. 14 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "github-actions" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /dnsdist.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your container is named dnsdist 3 | # make sure that your dns has a cname set for dnsdist 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name dnsdist.*; 12 | 13 | location /dns-query { 14 | include /config/nginx/proxy.conf; 15 | include /config/nginx/resolver.conf; 16 | set $upstream_app dnsdist; 17 | set $upstream_port 443; 18 | set $upstream_proto grpc; 19 | grpc_pass grpcs://$upstream_app:$upstream_port; 20 | 21 | proxy_set_header Range $http_range; 22 | proxy_set_header If-Range $http_if_range; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /tinyauth.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your tinyauth container is named tinyauth 3 | # make sure that your dns has a cname set for tinyauth 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name tinyauth.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | location / { 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app tinyauth; 22 | set $upstream_port 3000; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /gitea.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your gitea container is named gitea 3 | # make sure that gitea is set to work with the base url /gitea/ 4 | # The following parameters in /data/gitea/conf/app.ini should be edited to match your setup 5 | # [server] 6 | # SSH_DOMAIN = example.com:2222 7 | # ROOT_URL = https://example.com/gitea/ 8 | # DOMAIN = example.com 9 | 10 | location /gitea { 11 | return 301 $scheme://$host/gitea/; 12 | } 13 | 14 | location ^~ /gitea/ { 15 | include /config/nginx/proxy.conf; 16 | include /config/nginx/resolver.conf; 17 | set $upstream_app gitea; 18 | set $upstream_port 3000; 19 | set $upstream_proto http; 20 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 21 | 22 | rewrite /gitea(.*) $1 break; 23 | } 24 | -------------------------------------------------------------------------------- /forgejo.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/04/20 2 | # make sure that your forgejo container is named forgejo 3 | # make sure that forgejo is set to work with the base url /forgejo/ 4 | # The following parameters in /data/forgejo/conf/app.ini should be edited to match your setup 5 | # or set as ENV vars in your container 6 | # [server] 7 | # SSH_DOMAIN = example.com:2222 8 | # ROOT_URL = https://example.com/forgejo/ 9 | # DOMAIN = example.com 10 | 11 | location /forgejo { 12 | return 301 $scheme://$host/forgejo/; 13 | } 14 | 15 | location ^~ /forgejo/ { 16 | include /config/nginx/proxy.conf; 17 | include /config/nginx/resolver.conf; 18 | set $upstream_app forgejo; 19 | set $upstream_port 3000; 20 | set $upstream_proto http; 21 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 22 | 23 | rewrite /forgejo(.*) $1 break; 24 | } 25 | -------------------------------------------------------------------------------- /medusa.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your medusa container is named medusa 3 | # make sure that medusa is set to work with the base url /medusa/ 4 | 5 | location ^~ /medusa { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app medusa; 22 | set $upstream_port 8081; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 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 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | ## Thanks, team linuxserver.io 21 | 22 | -------------------------------------------------------------------------------- /couchpotato.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your couchpotato container is named couchpotato 3 | # make sure that couchpotato is set to work with the base url /couchpotato/ 4 | 5 | location ^~ /couchpotato { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app couchpotato; 22 | set $upstream_port 5050; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /flaresolverr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/01/19 2 | # make sure that your flaresolverr container is named flaresolverr 3 | # make sure that sonarr is set to work with the base url /flaresolverr/ 4 | 5 | location ^~ /flaresolverr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app flaresolverr; 22 | set $upstream_port 8191; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /heimdall.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your heimdall container is named heimdall 3 | # In order to use this location block you need to edit the default file one folder up and comment out the / location 4 | 5 | location / { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app heimdall; 22 | set $upstream_port 443; 23 | set $upstream_proto https; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /lazylibrarian.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your lazylibrarian container is named lazylibrarian 3 | # make sure that lazylibrarian is set to work with the base url /lazylibrarian/ 4 | 5 | location ^~ /lazylibrarian { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app lazylibrarian; 22 | set $upstream_port 5299; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/issue.feature.yml: -------------------------------------------------------------------------------- 1 | # Based on the issue template 2 | name: Feature request 3 | description: Suggest an idea for this project. NOT TEMPLATE REQUESTS 4 | title: "[FEAT] " 5 | labels: [enhancement] 6 | body: 7 | - type: checkboxes 8 | attributes: 9 | label: Is this a new feature request? 10 | description: Please search to see if a feature request already exists. 11 | options: 12 | - label: I have searched the existing issues 13 | required: true 14 | - type: textarea 15 | attributes: 16 | label: Wanted change 17 | description: Tell us what you want to happen. 18 | validations: 19 | required: true 20 | - type: textarea 21 | attributes: 22 | label: Reason for change 23 | description: Justify your request, why do you want it, what is the benefit. 24 | validations: 25 | required: true 26 | - type: textarea 27 | attributes: 28 | label: Proposed code change 29 | description: Do you have a potential code change in mind? 30 | validations: 31 | required: false 32 | -------------------------------------------------------------------------------- /authelia.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your authelia container is named authelia 3 | # make sure that your dns has a cname set for authelia 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name authelia.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | location / { 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app authelia; 22 | set $upstream_port 9091; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ~ (/authelia)?/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app authelia; 32 | set $upstream_port 9091; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /qui.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/08/28 2 | # make sure that your qui container is named qui 3 | # make sure that qui is set to work with the base url /qui/ 4 | 5 | 6 | location /qui { 7 | return 301 $scheme://$host/qui/; 8 | } 9 | 10 | location ^~ /qui/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app qui; 27 | set $upstream_port 7476; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /adminer.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your adminer container is named adminer 3 | # adminer does not require a base url setting 4 | 5 | location /adminer { 6 | return 301 $scheme://$host/adminer/; 7 | } 8 | 9 | location ^~ /adminer/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app adminer; 26 | set $upstream_port 8080; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /petio.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your petio container is named petio 3 | # make sure that petio is set to work with the base url /petio/ 4 | 5 | location /petio { 6 | return 301 $scheme://$host/petio/; 7 | } 8 | 9 | location ^~ /petio/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app petio; 26 | set $upstream_port 7777; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /monitorr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your monitorr container is named monitorr 3 | # monitorr does not require a base url setting 4 | 5 | location /monitorr { 6 | return 301 $scheme://$host/monitorr/; 7 | } 8 | 9 | location ^~ /monitorr/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app monitorr; 26 | set $upstream_port 80; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /webtop.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/02/14 2 | # make sure that your webtop container is named webtop 3 | # make sure that webtop is set to work with the base url /webtop/ 4 | # works with any KasmVNC based image 5 | 6 | location ^~ /webtop { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app webtop; 23 | set $upstream_port 3000; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | proxy_buffering off; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /metube.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your metube container is named metube 3 | # make sure that metube is set to work with the base url /metube/ 4 | # set the URL_PREFIX environment variable for the metube container to "/metube" 5 | 6 | location /metube { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app metube; 23 | set $upstream_port 8081; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /slskd.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your slskd container is named slskd 3 | # make sure that slskd is set to work with the base url /slskd/ 4 | # first edit the slskd.yml and set 'url_base: /slskd' and restart the slskd container 5 | 6 | location ^~ /slskd { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app slskd; 23 | set $upstream_port 5000; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /airsonic.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your airsonic container is named airsonic 3 | # make sure that airsonic is set to work with the base url /airsonic/ 4 | # set the CONTEXT_PATH variable to /airsonic in airsonic container. 5 | 6 | location ^~ /airsonic { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app airsonic; 23 | set $upstream_port 4040; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /dockge.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your dockge container is named dockge 3 | # make sure that dockge is set to work with the base url /dockge/ 4 | 5 | 6 | location /dockge { 7 | return 301 $scheme://$host/dockge/; 8 | } 9 | 10 | location ^~ /dockge/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app dockge; 27 | set $upstream_port 5001; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /domoticz.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your domoticz container is named domoticz 3 | # make sure that domoticz is set to work with the base url /domoticz/ 4 | # set the WEBROOT variable to domoticz for the domoticz container. 5 | 6 | location ^~ /domoticz/ { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app domoticz; 23 | set $upstream_port 8080; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /authentik.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your authentik container is named authentik-server 3 | # make sure that your dns has a cname set for authentik 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name authentik.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | location / { 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app authentik-server; 22 | set $upstream_port 9000; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ~ (/authentik)?/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app authentik-server; 32 | set $upstream_port 9000; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /flood.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your flood container is named flood 3 | # flood does not require a base url setting 4 | 5 | location /flood { 6 | return 301 $scheme://$host/flood/; 7 | } 8 | 9 | location ^~ /flood/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app flood; 26 | set $upstream_port 3000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /flood(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /gotify.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your gotify container is named gotify 3 | # gotify does not require a base url setting 4 | 5 | location /gotify { 6 | return 301 $scheme://$host/gotify/; 7 | } 8 | 9 | location /gotify/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app gotify; 26 | set $upstream_port 80; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | rewrite ^/gotify(/.*) $1 break; 30 | } 31 | -------------------------------------------------------------------------------- /kanzi.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your kanzi container is named kanzi 3 | # kanzi does not require a base url setting 4 | 5 | location /kanzi { 6 | return 301 $scheme://$host/kanzi/; 7 | } 8 | 9 | location ^~ /kanzi/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app kanzi; 26 | set $upstream_port 8000; 27 | set $upstream_proto https; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /kanzi(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /scope.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your scope container is named scope 3 | # scope does not require a base url setting 4 | 5 | location /scope { 6 | return 301 $scheme://$host/scope/; 7 | } 8 | 9 | location ^~ /scope/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app scope; 26 | set $upstream_port 4040; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /scope(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /spoolman.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/03/27 2 | # make sure that your spoolman container is named spoolman 3 | # make sure that spoolman is set to work with the base url /spoolman/ 4 | 5 | 6 | location /spoolman { 7 | return 301 $scheme://$host/spoolman/; 8 | } 9 | 10 | location ^~ /spoolman/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app spoolman; 27 | set $upstream_port 8000; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | } -------------------------------------------------------------------------------- /autobrr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/08/23 2 | # make sure that your autobrr container is named autobrr 3 | # make sure that autobrr is set to work with the base url /autobrr/ 4 | 5 | 6 | location /autobrr { 7 | return 301 $scheme://$host/autobrr/; 8 | } 9 | 10 | location ^~ /autobrr/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app autobrr; 27 | set $upstream_port 7474; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /booksonic.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your booksonic container is named booksonic 3 | # make sure that booksonic is set to work with the base url /booksonic/ 4 | # set the CONTEXT_PATH variable to /booksonic in booksonic container. 5 | 6 | location ^~ /booksonic { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app booksonic; 23 | set $upstream_port 4040; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /lychee.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your lychee container is named lychee 3 | # lychee does not require a base url setting 4 | 5 | location /lychee { 6 | return 301 $scheme://$host/lychee/; 7 | } 8 | 9 | location /lychee/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app lychee; 26 | set $upstream_port 80; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /lychee(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /znc.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your znc container is named znc 3 | # make sure that znc is set to work with the base url /znc/ 4 | # edit /config/configs/znc.conf and add URIPrefix = /znc/ in the line above </Listener> and restart the znc container 5 | 6 | location /znc { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app znc; 23 | set $upstream_port 6501; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /picard.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your picard container is named picard 3 | # picard does not require a base url setting 4 | 5 | location /picard { 6 | return 301 $scheme://$host/picard/; 7 | } 8 | 9 | location ^~ /picard/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app picard; 26 | set $upstream_port 5800; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /picard(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /filebot.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your filebot container is named filebot 3 | # filebot does not require a base url setting 4 | 5 | location /filebot { 6 | return 301 $scheme://$host/filebot/; 7 | } 8 | 9 | location ^~ /filebot/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app filebot; 26 | set $upstream_port 5800; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /filebot(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /glances.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your glances container is named glances 3 | # glances does not require a base url setting 4 | 5 | location /glances { 6 | return 301 $scheme://$host/glances/; 7 | } 8 | 9 | location ^~ /glances/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app glances; 26 | set $upstream_port 61208; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /glances(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /netdata.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your netdata container is named netdata 3 | # netdata does not require a base url setting 4 | 5 | location /netdata { 6 | return 301 $scheme://$host/netdata/; 7 | } 8 | 9 | location ^~ /netdata/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app netdata; 26 | set $upstream_port 19999; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /netdata(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /plexwebtools.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your plex container is named plex 3 | # make sure that plexwebtools is set to work with the base url /plexwebtools/ 4 | 5 | location /plexwebtools { 6 | return 301 $scheme://$host/plexwebtools/; 7 | } 8 | 9 | location ^~ /plexwebtools/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app plex; 26 | set $upstream_port 33400; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /smokeping.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your smokeping container is named smokeping 3 | # make sure that smokeping is set to work with the base url /smokeping/ 4 | # smokeping already uses the base url /smokeping by default so you don't need to do anything extra 5 | 6 | location ^~ /smokeping { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app smokeping; 23 | set $upstream_port 80; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /crontabui.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your crontabui container is named crontabui 3 | # crontabui does not require a base url setting 4 | 5 | location /crontabui { 6 | return 301 $scheme://$host/crontabui/; 7 | } 8 | 9 | location ^~ /crontabui/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app crontabui; 26 | set $upstream_port 8000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /crontabui(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /gatus.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/02/27 2 | # make sure that your <container_name> container is named <container_name> 3 | # make sure that <container_name> is set to work with the base url /<container_name>/ 4 | 5 | 6 | location /gatus { 7 | return 301 $scheme://$host/gatus/; 8 | } 9 | 10 | location ^~ /gatus/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app gatus; 27 | set $upstream_port 8080; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | 33 | -------------------------------------------------------------------------------- /mylar.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your mylar container is named mylar 3 | # make sure that mylar is set to work with the base url /mylar/ 4 | # first stop the mylar container and edit the config.ini for mylar and set http_root to /mylar and then start the mylar container 5 | 6 | location ^~ /mylar { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app mylar; 23 | set $upstream_port 8090; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /planka.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your planka container is named planka 3 | # make sure that the BASE_URL env variable in planka container is set to: BASE_URL="https://example.com/planka/" 4 | 5 | 6 | location /planka { 7 | return 301 $scheme://$host/planka/; 8 | } 9 | 10 | location ^~ /planka/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app planka; 27 | set $upstream_port 1337; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | } 31 | -------------------------------------------------------------------------------- /thelounge.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your thelounge container is named thelounge 3 | # thelounge does not require a base url setting 4 | 5 | location /thelounge { 6 | return 301 $scheme://$host/thelounge/; 7 | } 8 | 9 | location ^~ /thelounge/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app thelounge; 26 | set $upstream_port 9000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /thelounge(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /phpmyadmin.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your phpmyadmin container is named phpmyadmin 3 | # phpmyadmin does not require a base url setting 4 | 5 | location /phpmyadmin { 6 | return 301 $scheme://$host/phpmyadmin/; 7 | } 8 | 9 | location ^~ /phpmyadmin/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app phpmyadmin; 26 | set $upstream_port 80; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /phpmyadmin(.*) $1 break; 31 | } 32 | -------------------------------------------------------------------------------- /audiobookshelf.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your audiobookshelf container is named audiobookshelf 3 | # make sure that audiobookshelf is set to work with the base url /audiobookshelf/ 4 | # set the CONTEXT_PATH variable to /audiobookshelf in audiobookshelf container. 5 | 6 | location ^~ /audiobookshelf { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app audiobookshelf; 23 | set $upstream_port 80; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to reverse-proxy-confs 2 | 3 | ## Gotchas 4 | 5 | * While contributing make sure to make all your changes before creating a Pull Request 6 | * Read, and fill the Pull Request template 7 | * If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message 8 | * If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn) 9 | 10 | ### Styling 11 | 12 | * Indentation: 4 spaces 13 | * Line-endings: LF 14 | * Trailing newline: yes 15 | 16 | ### Requirements 17 | 18 | * Must have the date on the first line, in YYYY/MM/DD format 19 | * For subdomains, add a comment for a needed CNAME 20 | * If the application needs further configuration, specify this in a comment 21 | 22 | * In most cases we want the comments for Authelia, ldap and basic auth to be present 23 | * If the application has known API endpoints, we prefer these to be exempt from auth trough a location block (provided the application has security on the endpoint) 24 | 25 | * Files must not be executeable 26 | -------------------------------------------------------------------------------- /deluge.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your deluge container is named deluge 3 | # deluge does not require a base url setting 4 | 5 | location /deluge { 6 | return 301 $scheme://$host/deluge/; 7 | } 8 | 9 | location ^~ /deluge/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app deluge; 26 | set $upstream_port 8112; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /deluge(.*) $1 break; 31 | proxy_set_header X-Deluge-Base "/deluge/"; 32 | } 33 | -------------------------------------------------------------------------------- /guacamole.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your guacamole container is named guacamole 3 | # guacamole does not require a base url setting 4 | 5 | location /guacamole { 6 | return 301 $scheme://$host/guacamole/; 7 | } 8 | 9 | location ^~ /guacamole/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app guacamole; 26 | set $upstream_port 8080; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | proxy_buffering off; 31 | rewrite /guacamole(.*) $1 break; 32 | } 33 | -------------------------------------------------------------------------------- /pyload.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your pyload container is named pyload 3 | # make sure that pyload is set to work with the base url /pyload/ 4 | # First go into pyload settings, under "Web Interface" set the "Path Prefix" to /pyload and restart the pyload container 5 | # Only works with pyload-ng 6 | 7 | location ^~ /pyload { 8 | # enable the next two lines for http auth 9 | #auth_basic "Restricted"; 10 | #auth_basic_user_file /config/nginx/.htpasswd; 11 | 12 | # enable for ldap auth (requires ldap-server.conf in the server block) 13 | #include /config/nginx/ldap-location.conf; 14 | 15 | # enable for Authelia (requires authelia-server.conf in the server block) 16 | #include /config/nginx/authelia-location.conf; 17 | 18 | # enable for Authentik (requires authentik-server.conf in the server block) 19 | #include /config/nginx/authentik-location.conf; 20 | 21 | include /config/nginx/proxy.conf; 22 | include /config/nginx/resolver.conf; 23 | set $upstream_app pyload; 24 | set $upstream_port 8000; 25 | set $upstream_proto http; 26 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /sickrage.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your sickrage container is named sickrage 3 | # make sure that sickrage is set to work with the base url /sickrage/ 4 | # first stop the sickrage container and edit the config.ini for sickrage and set web_root to /sickrage and then start the sickrage container 5 | 6 | location ^~ /sickrage { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app sickrage; 23 | set $upstream_port 8081; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /jellyfin.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/05/18 2 | # make sure that your jellyfin container is named jellyfin 3 | # if jellyfin is running in bridge mode and the container is named "jellyfin", the below config should work as is 4 | # if not, replace the line "set $upstream_app jellyfin;" with "set $upstream_app <containername>;" 5 | # or "set $upstream_app <HOSTIP>;" for host mode, HOSTIP being the IP address of jellyfin 6 | # in jellyfin settings, under "Advanced/Networking" change the public https port to 443, leave the local ports as is, set the base url to "/jellyfin" 7 | 8 | location /jellyfin { 9 | return 301 $scheme://$host/jellyfin/; 10 | } 11 | 12 | location ^~ /jellyfin/ { 13 | include /config/nginx/proxy.conf; 14 | include /config/nginx/resolver.conf; 15 | set $upstream_app jellyfin; 16 | set $upstream_port 8096; 17 | set $upstream_proto http; 18 | if ($http_user_agent ~ Web0S) { 19 | add_header Access-Control-Allow-Origin "luna://com.webos.service.config" always; 20 | } 21 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 22 | 23 | proxy_set_header Range $http_range; 24 | proxy_set_header If-Range $http_if_range; 25 | } 26 | -------------------------------------------------------------------------------- /sickchill.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your sickchill container is named sickchill 3 | # make sure that sickchill is set to work with the base url /sickchill/ 4 | # first stop the sickchill container and edit the config.ini for sickchill and set web_root to /sickchill and then start the sickchill container 5 | 6 | location ^~ /sickchill { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app sickchill; 23 | set $upstream_port 8081; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /headphones.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your headphones container is named headphones 3 | # make sure that headphones is set to work with the base url /headphones/ 4 | # first stop the headphones container and edit the config.ini for headphones and set http_root to /headphones and then start the headphones container 5 | 6 | location ^~ /headphones { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app headphones; 23 | set $upstream_port 8181; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/issue.bug.yml: -------------------------------------------------------------------------------- 1 | # Based on the issue template 2 | name: Bug report 3 | description: Create a report to help us improve. NOT TEMPLATE REQUESTS 4 | title: "[BUG] <title>" 5 | labels: [Bug] 6 | body: 7 | - type: checkboxes 8 | attributes: 9 | label: Is there an existing issue for this? 10 | description: Please search to see if an issue already exists for the bug you encountered. 11 | options: 12 | - label: I have searched the existing issues 13 | required: true 14 | - type: textarea 15 | attributes: 16 | label: Current Behavior 17 | description: Tell us what happens instead of the expected behavior. 18 | validations: 19 | required: true 20 | - type: textarea 21 | attributes: 22 | label: Expected Behavior 23 | description: Tell us what should happen. 24 | validations: 25 | required: false 26 | - type: textarea 27 | attributes: 28 | label: Steps To Reproduce 29 | description: Steps to reproduce the behavior. 30 | placeholder: | 31 | 1. In this environment... 32 | 2. With this config... 33 | 3. Run '...' 34 | 4. See error... 35 | validations: 36 | required: true 37 | -------------------------------------------------------------------------------- /duplicati.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your duplicati container is named duplicati 3 | # duplicati does not require a base url setting 4 | # DUPLICATI AUTH WILL NOT WORK WITH THIS CONFIG, use the auth options below 5 | 6 | location /duplicati { 7 | return 301 $scheme://$host/duplicati/; 8 | } 9 | 10 | location ^~ /duplicati/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app duplicati; 27 | set $upstream_port 8200; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | rewrite /duplicati(.*) $1 break; 32 | } 33 | -------------------------------------------------------------------------------- /shinobi.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your shinobi container is named shinobi 3 | # make sure that shinobi is set to work with the base url /shinobi/ 4 | # ensure your config.json file has an entry for the base url set to /shinobi, i.e. 5 | # "baseurl":"/shinobi" 6 | 7 | location /shinobi { 8 | return 301 $scheme://$host/shinobi/; 9 | } 10 | 11 | location ^~ /shinobi/ { 12 | # enable the next two lines for http auth 13 | #auth_basic "Restricted"; 14 | #auth_basic_user_file /config/nginx/.htpasswd; 15 | 16 | # enable for ldap auth (requires ldap-server.conf in the server block) 17 | #include /config/nginx/ldap-location.conf; 18 | 19 | # enable for Authelia (requires authelia-server.conf in the server block) 20 | #include /config/nginx/authelia-location.conf; 21 | 22 | # enable for Authentik (requires authentik-server.conf in the server block) 23 | #include /config/nginx/authentik-location.conf; 24 | 25 | include /config/nginx/proxy.conf; 26 | include /config/nginx/resolver.conf; 27 | set $upstream_app shinobi; 28 | set $upstream_port 8080; 29 | set $upstream_proto http; 30 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /beets.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your beets container is named beets 3 | # make sure that beets is set to work with the base url /beets/ 4 | # first edit beets.yml and enable the reverse proxy settings, under "web" add "reverse_proxy: true" and restart the beets container 5 | 6 | location /beets { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app beets; 23 | set $upstream_port 8337; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | proxy_set_header X-Scheme $scheme; 28 | proxy_set_header X-Script-Name /beets; 29 | } 30 | -------------------------------------------------------------------------------- /ghost.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your ghost container is named ghost 3 | # make sure that ghost is set to work with the base url /ghost/ 4 | # Make sure you are using a subfolder in your ghost config file. https://ghost.org/docs/concepts/config/#url 5 | # Note: /ghost/ is by default used for the admin page. See https://ghost.org/docs/concepts/config/#admin-url 6 | 7 | location /blog { 8 | # enable the next two lines for http auth 9 | #uth_basic "Restricted"; 10 | #auth_basic_user_file /config/nginx/.htpasswd; 11 | 12 | # enable for ldap auth (requires ldap-server.conf in the server block) 13 | #include /config/nginx/ldap-location.conf; 14 | 15 | # enable for Authelia (requires authelia-server.conf in the server block) 16 | #include /config/nginx/authelia-location.conf; 17 | 18 | # enable for Authentik (requires authentik-server.conf in the server block) 19 | #include /config/nginx/authentik-location.conf; 20 | 21 | include /config/nginx/proxy.conf; 22 | include /config/nginx/resolver.conf; 23 | set $upstream_app ghost; 24 | set $upstream_port 2368; 25 | set $upstream_proto http; 26 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /wordpress.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your wordpress container is named wordpress 3 | # make sure that wordpress is set to work with the base url /wordpress/ 4 | # In order to use this location block you need to edit the default file one folder up and comment out the / location as well as the "~ \.php$" location 5 | # tested with the official wordpress docker image 6 | 7 | location / { 8 | # enable the next two lines for http auth 9 | #auth_basic "Restricted"; 10 | #auth_basic_user_file /config/nginx/.htpasswd; 11 | 12 | # enable for ldap auth (requires ldap-server.conf in the server block) 13 | #include /config/nginx/ldap-location.conf; 14 | 15 | # enable for Authelia (requires authelia-server.conf in the server block) 16 | #include /config/nginx/authelia-location.conf; 17 | 18 | # enable for Authentik (requires authentik-server.conf in the server block) 19 | #include /config/nginx/authentik-location.conf; 20 | 21 | include /config/nginx/proxy.conf; 22 | include /config/nginx/resolver.conf; 23 | set $upstream_app wordpress; 24 | set $upstream_port 80; 25 | set $upstream_proto http; 26 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /organizr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your organizr container is named organizr 3 | # In order to use this location block you need to edit the default file one folder up and comment out the / and ~ \.php$ locations 4 | 5 | location / { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app organizr; 22 | set $upstream_port 80; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | # Optional redirect server errors to organizr error pages 29 | #error_page 400 402 403 404 405 408 500 502 503 504 $scheme://$host/?error=$status; 30 | -------------------------------------------------------------------------------- /mytinytodo.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your mytinytodo container is named mytinytodo 3 | # make sure that mytinytodo is set to work with the base url /todo/ 4 | # works with https://github.com/breakall/mytinytodo-docker 5 | # set the mtt_url to 'https://your.domain.com/todo/' in db/config.php 6 | 7 | location /todo { 8 | return 301 $scheme://$host/todo/; 9 | } 10 | 11 | location ^~ /todo/ { 12 | # enable the next two lines for http auth 13 | #auth_basic "Restricted"; 14 | #auth_basic_user_file /config/nginx/.htpasswd; 15 | 16 | # enable for ldap auth (requires ldap-server.conf in the server block) 17 | #include /config/nginx/ldap-location.conf; 18 | 19 | # enable for Authelia (requires authelia-server.conf in the server block) 20 | #include /config/nginx/authelia-location.conf; 21 | 22 | # enable for Authentik (requires authentik-server.conf in the server block) 23 | #include /config/nginx/authentik-location.conf; 24 | 25 | include /config/nginx/proxy.conf; 26 | include /config/nginx/resolver.conf; 27 | set $upstream_app mytinytodo; 28 | set $upstream_port 80; 29 | set $upstream_proto http; 30 | proxy_pass $upstream_proto://$upstream_app:$upstream_port/; 31 | } 32 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 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 | 8 | - [ ] I have read the [contributing](https://github.com/linuxserver/reverse-proxy-confs/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications 9 | 10 | ------------------------------ 11 | 12 | <!--- We welcome all PR’s though this doesn’t guarantee it will be accepted. --> 13 | 14 | ## Description 15 | <!--- Describe your changes in detail --> 16 | 17 | ## Benefits of this PR and context 18 | <!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # --> 19 | 20 | ## How Has This Been Tested? 21 | <!--- Please describe in detail how you tested your changes. --> 22 | <!--- Include details of your testing environment, and the tests you ran to --> 23 | <!--- see how your change affects other areas of the code, etc. --> 24 | 25 | ## Source / References 26 | <!--- Please include any forum posts/github links relevant to the PR --> -------------------------------------------------------------------------------- /chronograf.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your chronograf container is named chronograf 3 | # make sure that chronograf is set to work with the base url /chronograf/ 4 | # add BASE_PATH=/chronograf environment variable to your docker compose/run 5 | 6 | location /chronograf { 7 | return 301 $scheme://$host/chronograf/; 8 | } 9 | 10 | location ^~ /chronograf/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app chronograf; 27 | set $upstream_port 8888; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | #rewrite /chronograf(.*) $1 break; 32 | } 33 | -------------------------------------------------------------------------------- /gaps.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your gaps container is named gaps 3 | # make sure that gaps is set to work with the base url /gaps/ 4 | # In your Docker compose (or docker run) add: BASE_URL: /gaps 5 | 6 | location /gaps { 7 | return 301 $scheme://$host/gaps/; 8 | } 9 | 10 | location ^~ /gaps/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app gaps; 27 | set $upstream_port 8484; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | # Uncomment to allow loading in an iframe (i.e. Organizr) 32 | # proxy_hide_header X-Frame-Options; 33 | } 34 | -------------------------------------------------------------------------------- /monica.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your monica container is named monica 3 | # make sure that monica is set to work with the base url /monica/ 4 | # Set the monica Docker container's APP_URL to a fully-qualified domain that ends with /monica/ and restart the container. 5 | # Example: https://yourhost.cc/monica/ 6 | 7 | location /monica { 8 | return 301 $scheme://$host/monica/; 9 | } 10 | 11 | location ^~ /monica/ { 12 | # enable the next two lines for http auth 13 | #auth_basic "Restricted"; 14 | #auth_basic_user_file /config/nginx/.htpasswd; 15 | 16 | # enable for ldap auth (requires ldap-server.conf in the server block) 17 | #include /config/nginx/ldap-location.conf; 18 | 19 | # enable for Authelia (requires authelia-server.conf in the server block) 20 | #include /config/nginx/authelia-location.conf; 21 | 22 | # enable for Authentik (requires authentik-server.conf in the server block) 23 | #include /config/nginx/authentik-location.conf; 24 | 25 | include /config/nginx/proxy.conf; 26 | include /config/nginx/resolver.conf; 27 | set $upstream_app monica; 28 | set $upstream_port 80; 29 | set $upstream_proto http; 30 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 31 | } 32 | -------------------------------------------------------------------------------- /quassel-web.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your quassel-web container is named quassel-web 3 | # make sure that quassel-web is set to work with the base url /quassel/ 4 | # Set base-url with docker run command env variable -e 'URL_BASE'='/quassel' and make sure Quassel-Web is running on http 5 | # with -e 'HTTPS'='false' or if you're using -e 'ADVANCED'='true' by editing config.json appropriately 6 | 7 | location ^~ /quassel { 8 | # enable the next two lines for http auth 9 | #auth_basic "Restricted"; 10 | #auth_basic_user_file /config/nginx/.htpasswd; 11 | 12 | # enable for ldap auth (requires ldap-server.conf in the server block) 13 | #include /config/nginx/ldap-location.conf; 14 | 15 | # enable for Authelia (requires authelia-server.conf in the server block) 16 | #include /config/nginx/authelia-location.conf; 17 | 18 | # enable for Authentik (requires authentik-server.conf in the server block) 19 | #include /config/nginx/authentik-location.conf; 20 | 21 | include /config/nginx/proxy.conf; 22 | include /config/nginx/resolver.conf; 23 | set $upstream_app quassel-web; 24 | set $upstream_port 64080; 25 | set $upstream_proto http; 26 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /miniflux.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your miniflux container is named miniflux 3 | # make sure that miniflux is set to work with the base url /miniflux/ 4 | # set the environment variable "BASE_URL" to "https://yourdomain.url/miniflux/", or follow this guide to create a config file for Miniflux: https://miniflux.app/docs/configuration.html 5 | 6 | location /miniflux { 7 | return 301 $scheme://$host/miniflux/; 8 | } 9 | 10 | location /miniflux/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app miniflux; 27 | set $upstream_port 8080; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /dozzle.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your dozzle container is named dozzle 3 | # make sure that dozzle is set to work with the base url /dozzle/ 4 | # First either add "--base /dozzle" or "-e DOZZLE_BASE=/dozzle" to your docker run command, and restart the Dozzle container 5 | 6 | location /dozzle { 7 | return 301 $scheme://$host/dozzle/; 8 | } 9 | 10 | location ^~ /dozzle/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app dozzle; 27 | set $upstream_port 8080; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | chunked_transfer_encoding off; 32 | proxy_buffering off; 33 | proxy_cache off; 34 | } 35 | -------------------------------------------------------------------------------- /emby.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your emby container is named emby 3 | # make sure that your dns has a cname set for emby 4 | # if emby is running in bridge mode and the container is named "emby", the below config should work as is 5 | # if not, replace the line "set $upstream_app emby;" with "set $upstream_app <containername>;" 6 | # or "set $upstream_app <HOSTIP>;" for host mode, HOSTIP being the IP address of emby 7 | # 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, 8 | # and set the "Secure connection mode" to "Handled by reverse proxy" 9 | 10 | server { 11 | listen 443 ssl; 12 | # listen 443 quic; 13 | listen [::]:443 ssl; 14 | # listen [::]:443 quic; 15 | 16 | server_name emby.*; 17 | 18 | include /config/nginx/ssl.conf; 19 | 20 | client_max_body_size 0; 21 | 22 | location / { 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app emby; 26 | set $upstream_port 8096; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | proxy_set_header Range $http_range; 31 | proxy_set_header If-Range $http_if_range; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /jfa-go.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your jfa-go container is named jfa-go 3 | # make sure to set the URL base (“Reverse Proxy subfolder”) in jfa-go > Settings > General (ui > url_base in jfa-go config.ini) to "/jfa-go/" 4 | 5 | location /jfa-go { 6 | return 301 $scheme://$host/jfa-go/; 7 | } 8 | 9 | location ^~ /jfa-go/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app jfa-go; 26 | set $upstream_port 8056; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | # Remove the CSP header set for Jellyfin 31 | proxy_hide_header Content-Security-Policy; 32 | add_header Content-Security-Policy ""; 33 | } 34 | -------------------------------------------------------------------------------- /lidarr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your lidarr container is named lidarr 3 | # make sure that lidarr is set to work with the base url /lidarr/ 4 | 5 | location ^~ /lidarr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app lidarr; 22 | set $upstream_port 8686; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /lidarr/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app lidarr; 32 | set $upstream_port 8686; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /radarr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your radarr container is named radarr 3 | # make sure that radarr is set to work with the base url /radarr/ 4 | 5 | location ^~ /radarr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app radarr; 22 | set $upstream_port 7878; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /radarr/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app radarr; 32 | set $upstream_port 7878; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /sonarr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your sonarr container is named sonarr 3 | # make sure that sonarr is set to work with the base url /sonarr/ 4 | 5 | location ^~ /sonarr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app sonarr; 22 | set $upstream_port 8989; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /sonarr/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app sonarr; 32 | set $upstream_port 8989; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /dokuwiki.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your dokuwiki container is named dokuwiki 3 | # make sure that dokuwiki is set to work with the base url /dokuwiki/ 4 | # first go into dokuwiki settings (Admin on the top left when Logged in), under "Configuration Settings" set the "basedir" to /dokuwiki/ and restart the dokuwiki container 5 | 6 | location /dokuwiki { 7 | return 301 $scheme://$host/dokuwiki/; 8 | } 9 | 10 | location ^~ /dokuwiki/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app dokuwiki; 27 | set $upstream_port 80; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | rewrite /dokuwiki(.*) $1 break; 32 | } 33 | -------------------------------------------------------------------------------- /readarr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your readarr container is named readarr 3 | # make sure that readarr is set to work with the base url /readarr/ 4 | 5 | location ^~ /readarr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app readarr; 22 | set $upstream_port 8787; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /readarr/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app readarr; 32 | set $upstream_port 8787; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /whisparr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/08/04 2 | # make sure that your whisparr container is named whisparr 3 | # make sure that whisparr is set to work with the base url /whisparr/ 4 | 5 | location ^~ /whisparr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app whisparr; 22 | set $upstream_port 6969; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /whisparr/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app whisparr; 32 | set $upstream_port 6969; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /freshrss.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your freshrss container is named freshrss 3 | # freshrss does not require a base url setting 4 | 5 | location /freshrss { 6 | return 301 $scheme://$host/freshrss/; 7 | } 8 | 9 | location ^~ /freshrss/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app freshrss; 26 | set $upstream_port 80; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /freshrss(.*) $1 break; 31 | proxy_buffering off; 32 | proxy_set_header X-Forwarded-Port $server_port; 33 | proxy_cookie_path / "/; HTTPOnly; Secure"; 34 | proxy_set_header Authorization $http_authorization; 35 | proxy_pass_header Authorization; 36 | } 37 | -------------------------------------------------------------------------------- /ddns-updater.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/08/04 2 | # make sure that your ddns-updater container is named ddns-updater 3 | # make sure that ddns-updater is set to work with the base url /ddns-updater/ 4 | 5 | location ^~ /ddns-updater { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app ddns-updater; 22 | set $upstream_port 8000; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /ddns-updater/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app ddns-updater; 32 | set $upstream_port 8000; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /bazarr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your bazarr container is named bazarr 3 | # make sure that bazarr is set to work with the base url /bazarr/ 4 | 5 | location /bazarr { 6 | return 301 $scheme://$host/bazarr/; 7 | } 8 | 9 | location ^~ /bazarr/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app bazarr; 26 | set $upstream_port 6767; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | 32 | location ^~ /bazarr/api { 33 | include /config/nginx/proxy.conf; 34 | include /config/nginx/resolver.conf; 35 | set $upstream_app bazarr; 36 | set $upstream_port 6767; 37 | set $upstream_proto http; 38 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /kavita.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/04/13 2 | # make sure that your kavita container is named kavita 3 | # make sure that kavita is set to work with the base url /kavita/ 4 | 5 | location /kavita { 6 | return 301 $scheme://$host/kavita/; 7 | } 8 | 9 | location ^~ /kavita/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app kavita; 26 | set $upstream_port 5000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | 32 | location ^~ /kavita/api { 33 | include /config/nginx/proxy.conf; 34 | include /config/nginx/resolver.conf; 35 | set $upstream_app kavita; 36 | set $upstream_port 5000; 37 | set $upstream_proto http; 38 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /beszel.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your beszel container is named beszel 3 | # make sure that beszel is set to work with the base url /beszel/ 4 | 5 | 6 | location /beszel { 7 | return 301 $scheme://$host/beszel/; 8 | } 9 | 10 | location ^~ /beszel/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app beszel; 27 | set $upstream_port 8090; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | 33 | location ^~ /beszel/api { 34 | include /config/nginx/proxy.conf; 35 | include /config/nginx/resolver.conf; 36 | set $upstream_app beszel; 37 | set $upstream_port 8090; 38 | set $upstream_proto http; 39 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 40 | 41 | } 42 | -------------------------------------------------------------------------------- /ubooquity.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your ubooquity container is named ubooquity 3 | # make sure that ubooquity is set to work with the base url /ubooquity/ 4 | # set the reverse proxy prefix in the admin gui to ubooquity. 5 | 6 | location ^~ /ubooquity { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app ubooquity; 23 | set $upstream_port 2202; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | 29 | location ^~ /ubooquity/admin { 30 | include /config/nginx/proxy.conf; 31 | include /config/nginx/resolver.conf; 32 | set $upstream_app ubooquity; 33 | set $upstream_port 2203; 34 | set $upstream_proto http; 35 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /emby.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your emby container is named emby 3 | # emby does not require a base url setting 4 | # if emby is running in bridge mode and the container is named "emby", the below config should work as is 5 | # if not, replace the line "set $upstream_app emby;" with "set $upstream_app <containername>;" 6 | # or "set $upstream_app <HOSTIP>;" for host mode, HOSTIP being the IP address of emby 7 | # 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, 8 | # and set the "Secure connection mode" to "Handled by reverse proxy" 9 | 10 | location /emby { 11 | return 301 $scheme://$host/emby/; 12 | } 13 | 14 | location ^~ /emby/ { 15 | include /config/nginx/proxy.conf; 16 | include /config/nginx/resolver.conf; 17 | set $upstream_app emby; 18 | set $upstream_port 8096; 19 | set $upstream_proto http; 20 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 21 | 22 | proxy_set_header Range $http_range; 23 | proxy_set_header If-Range $http_if_range; 24 | } 25 | 26 | location ^~ /embywebsocket { 27 | include /config/nginx/proxy.conf; 28 | include /config/nginx/resolver.conf; 29 | set $upstream_app emby; 30 | set $upstream_port 8096; 31 | set $upstream_proto http; 32 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /homepage.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/04/09 2 | # make sure that your homepage container is named homepage 3 | # make sure that homepage is set to work with the base url /homepage/ 4 | # homepage requires environment variables set thus: 5 | # environment: 6 | # - "GF_SERVER_ROOT_URL=https://my.domain.com/homepage" 7 | # - "GF_SERVER_DOMAIN=https://my.domain.com/" 8 | 9 | location ^~ /homepage/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app homepage; 26 | set $upstream_port 3000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | # Clear Authorization Header if you are using http auth and normal homepage auth 31 | #proxy_set_header Authorization ""; 32 | 33 | rewrite ^/homepage/(.*)$ /$1 break; 34 | 35 | } 36 | -------------------------------------------------------------------------------- /sabnzbd.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your sabnzbd container is named sabnzbd 3 | # make sure that sabnzbd is set to work with the base url /sabnzbd/ 4 | # sabnzbd already uses the base url /sabnzbd by default so you don't need to do anything extra 5 | 6 | location ^~ /sabnzbd { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app sabnzbd; 23 | set $upstream_port 8080; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | 29 | location ^~ /sabnzbd/api { 30 | include /config/nginx/proxy.conf; 31 | include /config/nginx/resolver.conf; 32 | set $upstream_app sabnzbd; 33 | set $upstream_port 8080; 34 | set $upstream_proto http; 35 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /paperless.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your paperless container is named paperless 3 | # make sure that paperless is set to work with the base url /paperless/ 4 | 5 | location /paperless { 6 | return 301 $scheme://$host/paperless/; 7 | } 8 | 9 | location ^~ /paperless/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app paperless; 26 | set $upstream_port 8000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | } 31 | 32 | location ~ (/paperless)?/api { 33 | include /config/nginx/proxy.conf; 34 | include /config/nginx/resolver.conf; 35 | set $upstream_app paperless; 36 | set $upstream_port 8000; 37 | set $upstream_proto http; 38 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /youtube-dl.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your youtube-dl-server container is named youtube-dl-server 3 | # youtube-dl-server does not require a base url setting 4 | # Works with this youtube-dl Fork: https://github.com/nbr23/youtube-dl-server 5 | 6 | location /youtube-dl { 7 | return 301 $scheme://$host/youtube-dl/; 8 | } 9 | 10 | location ^~ /youtube-dl/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app youtube-dl-server; 27 | set $upstream_port 8080; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | proxy_set_header Referer ''; 32 | # next line doesn't work with the latest version of: https://github.com/nbr23/youtube-dl-server 33 | # proxy_set_header Host $upstream_app:8080; 34 | rewrite /youtube-dl(.*) $1 break; 35 | } 36 | -------------------------------------------------------------------------------- /linkwarden.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your linkwarden container is named linkwarden 3 | # make sure that linkwarden is set to work with the base url /linkwarden/ 4 | 5 | 6 | location /linkwarden { 7 | return 301 $scheme://$host/linkwarden/; 8 | } 9 | 10 | location ^~ /linkwarden/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app linkwarden; 27 | set $upstream_port 3000; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | 33 | location ~ (/linkwarden)?/api { 34 | include /config/nginx/proxy.conf; 35 | include /config/nginx/resolver.conf; 36 | set $upstream_app linkwarden; 37 | set $upstream_port 3000; 38 | set $upstream_proto http; 39 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 40 | 41 | } 42 | -------------------------------------------------------------------------------- /sonarrtorss.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2024/06/21 2 | # make sure that your sonarrtorss container is named sonarrtorss 3 | # sonarrtorss does not require a base url setting 4 | 5 | location ^~ /sonarrtorss { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app sonarrtorss; 22 | set $upstream_port 18989; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | rewrite /sonarrtorss(.*) $1 break; 27 | } 28 | 29 | location ~ ^/sonarrtorss/(api/|sonarr$|rss$|atom$|json$) { 30 | include /config/nginx/proxy.conf; 31 | include /config/nginx/resolver.conf; 32 | set $upstream_app sonarrtorss; 33 | set $upstream_port 18989; 34 | set $upstream_proto http; 35 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 36 | 37 | rewrite /sonarrtorss(.*) $1 break; 38 | } 39 | -------------------------------------------------------------------------------- /rclone.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your rclone container is named rclone 3 | # rclone does not require a base url setting 4 | 5 | location /rclone { 6 | return 301 $scheme://$host/rclone/; 7 | } 8 | 9 | location ^~ /rclone/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app rclone; 26 | set $upstream_port 5800; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /rclone(.*) $1 break; 31 | } 32 | 33 | location ^~ /rclone/websockify { 34 | include /config/nginx/proxy.conf; 35 | include /config/nginx/resolver.conf; 36 | set $upstream_app rclone; 37 | set $upstream_port 5800; 38 | set $upstream_proto http; 39 | proxy_pass $upstream_proto://$upstream_app:$upstream_port/websockify/; 40 | 41 | rewrite /rclone(.*) $1 break; 42 | } 43 | -------------------------------------------------------------------------------- /flexget.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/12 2 | # make sure that your flexget container is named flexget 3 | # make sure that flexget is set to work with the base url /flexget/ 4 | # make sure to set 'base_url: /flexget' under your flexget's config.yml web_server block 5 | 6 | location /flexget { 7 | return 301 $scheme://$host/flexget/; 8 | } 9 | 10 | location ^~ /flexget/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app flexget; 27 | set $upstream_port 5050; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | } 31 | 32 | location ^~ /flexget/api/ { 33 | include /config/nginx/proxy.conf; 34 | include /config/nginx/resolver.conf; 35 | set $upstream_app flexget; 36 | set $upstream_port 5050; 37 | set $upstream_proto http; 38 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 39 | } 40 | -------------------------------------------------------------------------------- /komga.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/09/05 2 | # make sure that your komga container is named komga 3 | # make sure that komga is set to work with the base url /komga/ 4 | # First make sure your Container has set an Baseurl set via docker-compose File "envirnoment: SERVER_SERVLET_CONTEXT_PATH=/komga" and recreate the container. 5 | 6 | location /komga { 7 | return 301 $scheme://$host/komga/; 8 | } 9 | 10 | location ^~ /komga/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | include /config/nginx/proxy.conf; 25 | include /config/nginx/resolver.conf; 26 | set $upstream_app komga; 27 | set $upstream_port 25600 ; 28 | set $upstream_proto http; 29 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 30 | 31 | } 32 | 33 | location ^~ /komga/api { 34 | include /config/nginx/proxy.conf; 35 | include /config/nginx/resolver.conf; 36 | set $upstream_app komga; 37 | set $upstream_port 25600; 38 | set $upstream_proto http; 39 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 40 | } 41 | -------------------------------------------------------------------------------- /syncthing.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/12 2 | # make sure that your syncthing container is named syncthing 3 | # syncthing does not require a base url setting 4 | 5 | location /syncthing { 6 | return 301 $scheme://$host/syncthing/; 7 | } 8 | 9 | location ^~ /syncthing/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app syncthing; 26 | set $upstream_port 8384; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /syncthing(.*) $1 break; 31 | proxy_hide_header Authorization; 32 | } 33 | 34 | location ^~ /syncthing/rest { 35 | include /config/nginx/proxy.conf; 36 | include /config/nginx/resolver.conf; 37 | set $upstream_app syncthing; 38 | set $upstream_port 8384; 39 | set $upstream_proto http; 40 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 41 | 42 | rewrite /syncthing(.*) $1 break; 43 | proxy_hide_header Authorization; 44 | } 45 | -------------------------------------------------------------------------------- /jenkins.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your jenkins container is named jenkins 3 | # make sure that jenkins is set to work with the base url /jenkins/ 4 | # First either add '--prefix=/jenkins' or '-e JENKINS_OPTS="--prefix=/jenkins"' to your docker run command, and restart the Jenkins container. 5 | # Also be sure to add '/jenkins/' to your URL under: Jenkins > Configuration > Manage Jenkins > Jenkins URL 6 | 7 | location /jenkins { 8 | return 301 $scheme://$host/jenkins/; 9 | } 10 | 11 | location ^~ /jenkins/ { 12 | # enable the next two lines for http auth 13 | #auth_basic "Restricted"; 14 | #auth_basic_user_file /config/nginx/.htpasswd; 15 | 16 | # enable for ldap auth (requires ldap-server.conf in the server block) 17 | #include /config/nginx/ldap-location.conf; 18 | 19 | # enable for Authelia (requires authelia-server.conf in the server block) 20 | #include /config/nginx/authelia-location.conf; 21 | 22 | # enable for Authentik (requires authentik-server.conf in the server block) 23 | #include /config/nginx/authentik-location.conf; 24 | 25 | include /config/nginx/proxy.conf; 26 | include /config/nginx/resolver.conf; 27 | set $upstream_app jenkins; 28 | set $upstream_port 8080; 29 | set $upstream_proto http; 30 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 31 | 32 | # This is the maximum upload size 33 | client_max_body_size 10m; 34 | sendfile off; 35 | proxy_max_temp_file_size 0; 36 | proxy_temp_file_write_size 64k; 37 | proxy_request_buffering off; 38 | proxy_buffering off; 39 | } 40 | -------------------------------------------------------------------------------- /jackett.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your jackett container is named jackett 3 | # make sure that jackett is set to work with the base url /jackett/ 4 | 5 | location ^~ /jackett { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app jackett; 22 | set $upstream_port 9117; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ^~ /jackett/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app jackett; 32 | set $upstream_port 9117; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | 38 | location ^~ /jackett/dl { 39 | include /config/nginx/proxy.conf; 40 | include /config/nginx/resolver.conf; 41 | set $upstream_app jackett; 42 | set $upstream_port 9117; 43 | set $upstream_proto http; 44 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 45 | 46 | } 47 | -------------------------------------------------------------------------------- /themepark.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your theme-park container is named theme-park 3 | # make sure that theme-park is set to work with the base url /theme-park/ 4 | # If you want to change the urlbase update the TP_URLBASE env on the theme-park container. 5 | 6 | location /themepark { 7 | return 301 $scheme://$host/themepark/; 8 | } 9 | 10 | location ^~ /themepark/ { 11 | # enable the next two lines for http auth 12 | #auth_basic "Restricted"; 13 | #auth_basic_user_file /config/nginx/.htpasswd; 14 | 15 | # enable for ldap auth (requires ldap-server.conf in the server block) 16 | #include /config/nginx/ldap-location.conf; 17 | 18 | # enable for Authelia (requires authelia-server.conf in the server block) 19 | #include /config/nginx/authelia-location.conf; 20 | 21 | # enable for Authentik (requires authentik-server.conf in the server block) 22 | #include /config/nginx/authentik-location.conf; 23 | 24 | # If you don't want to cache the CSS files you can uncomment the lines below. 25 | # add_header Last-Modified $date_gmt; 26 | # add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; 27 | # if_modified_since off; 28 | # expires -1; 29 | # etag off; 30 | 31 | include /config/nginx/proxy.conf; 32 | include /config/nginx/resolver.conf; 33 | sub_filter_types *; 34 | sub_filter 'url("/css/' 'url("/themepark/css/'; 35 | sub_filter_once off; 36 | set $upstream_app theme-park; 37 | set $upstream_port 80; 38 | set $upstream_proto http; 39 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 40 | } 41 | -------------------------------------------------------------------------------- /portainer.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/12 2 | # make sure that your portainer container is named portainer 3 | # portainer does not require a base url setting 4 | 5 | location /portainer { 6 | return 301 $scheme://$host/portainer/; 7 | } 8 | 9 | location ^~ /portainer/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app portainer; 26 | set $upstream_port 9000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | rewrite /portainer(.*) $1 break; 31 | proxy_hide_header X-Frame-Options; # Possibly not needed after Portainer 1.20.0 32 | } 33 | 34 | location ^~ /portainer/api { 35 | include /config/nginx/proxy.conf; 36 | include /config/nginx/resolver.conf; 37 | set $upstream_app portainer; 38 | set $upstream_port 9000; 39 | set $upstream_proto http; 40 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 41 | 42 | rewrite /portainer(.*) $1 break; 43 | proxy_hide_header X-Frame-Options; # Possibly not needed after Portainer 1.20.0 44 | } 45 | -------------------------------------------------------------------------------- /prowlarr.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/09/13 2 | # make sure that your prowlarr container is named prowlarr 3 | # make sure that prowlarr is set to work with the base url /prowlarr/ 4 | 5 | location /prowlarr { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app prowlarr; 22 | set $upstream_port 9696; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | } 27 | 28 | location ~ /prowlarr(/[0-9]+)?/api { 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app prowlarr; 32 | set $upstream_port 9696; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | } 37 | 38 | location ~ /prowlarr(/[0-9]+)?/download { 39 | include /config/nginx/proxy.conf; 40 | include /config/nginx/resolver.conf; 41 | set $upstream_app prowlarr; 42 | set $upstream_port 9696; 43 | set $upstream_proto http; 44 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 45 | 46 | } 47 | -------------------------------------------------------------------------------- /semaphore.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/09/01 2 | # make sure that your grafana container is named grafana 3 | # make sure that grafana is set to work with the base url /grafana/ 4 | 5 | location ^~ /semaphore/ { 6 | # enable the next two lines for http auth 7 | #auth_basic "Restricted"; 8 | #auth_basic_user_file /config/nginx/.htpasswd; 9 | 10 | # enable for ldap auth (requires ldap-server.conf in the server block) 11 | #include /config/nginx/ldap-location.conf; 12 | 13 | # enable for Authelia (requires authelia-server.conf in the server block) 14 | #include /config/nginx/authelia-location.conf; 15 | 16 | # enable for Authentik (requires authentik-server.conf in the server block) 17 | #include /config/nginx/authentik-location.conf; 18 | 19 | include /config/nginx/proxy.conf; 20 | include /config/nginx/resolver.conf; 21 | set $upstream_app semaphore; 22 | set $upstream_port 3000; 23 | set $upstream_proto http; 24 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 25 | 26 | # Clear Authorization Header if you are using http auth and normal semaphore auth 27 | #proxy_set_header Authorization ""; 28 | 29 | rewrite ^/semaphore/(.*)$ /$1 break; 30 | 31 | } 32 | 33 | location ^~ /semaphore/api { 34 | include /config/nginx/proxy.conf; 35 | include /config/nginx/resolver.conf; 36 | set $upstream_app semaphore; 37 | set $upstream_port 3000; 38 | set $upstream_proto http; 39 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 40 | 41 | # Clear Authorization Header if you are using http auth and normal semaphore auth 42 | #proxy_set_header Authorization ""; 43 | 44 | rewrite ^/semaphore/(.*)$ /$1 break; 45 | 46 | } 47 | -------------------------------------------------------------------------------- /nextcloud.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your nextcloud container is named nextcloud 3 | # make sure that your dns has a cname set for nextcloud 4 | # assuming this container is called "swag", edit your nextcloud container's config 5 | # located at /config/www/nextcloud/config/config.php and add the following lines before the ");": 6 | # 'trusted_proxies' => [gethostbyname('swag')], 7 | # 'overwrite.cli.url' => 'https://nextcloud.example.com/', 8 | # 'overwritehost' => 'nextcloud.example.com', 9 | # 'overwriteprotocol' => 'https', 10 | # 11 | # Also don't forget to add your domain name to the trusted domains array. It should look somewhat like this: 12 | # array ( 13 | # 0 => '192.168.0.1:444', # This line may look different on your setup, don't modify it. 14 | # 1 => 'nextcloud.example.com', 15 | # ), 16 | 17 | server { 18 | listen 443 ssl; 19 | # listen 443 quic; 20 | listen [::]:443 ssl; 21 | # listen [::]:443 quic; 22 | 23 | server_name nextcloud.*; 24 | 25 | include /config/nginx/ssl.conf; 26 | 27 | client_max_body_size 0; 28 | 29 | location / { 30 | include /config/nginx/proxy.conf; 31 | include /config/nginx/resolver.conf; 32 | set $upstream_app nextcloud; 33 | set $upstream_port 443; 34 | set $upstream_proto https; 35 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 36 | 37 | # Hide proxy response headers from Nextcloud that conflict with ssl.conf 38 | # Uncomment the Optional additional headers in SWAG's ssl.conf to pass Nextcloud's security scan 39 | proxy_hide_header Referrer-Policy; 40 | proxy_hide_header X-Content-Type-Options; 41 | proxy_hide_header X-Frame-Options; 42 | proxy_hide_header X-XSS-Protection; 43 | 44 | # Disable proxy buffering 45 | proxy_buffering off; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /organizr-auth.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your organizr container is named organizr 3 | # To use config this with subfolder proxies: 4 | # Rename this file to organizr-auth.subfolder.conf 5 | # Add one of the auth_request lines from the comments below 6 | # ex: 7 | # auth_request /auth-0; 8 | # 9 | # To use config this with subdomain proxies: 10 | # Rename this file to organizr-auth.subfolder.conf (the subfolder file name is still used) 11 | # Add the following line in your other subdomain proxy configs 12 | # include /config/nginx/proxy-confs/organizr-auth.subfolder.conf; 13 | # Add one of the auth_request lines from the comments below 14 | # ex: 15 | # include /config/nginx/proxy-confs/organizr-auth.subfolder.conf; 16 | # auth_request /auth-0; 17 | 18 | location ~ /auth-([0-9]+) { 19 | internal; 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_auth_app organizr; 23 | set $upstream_auth_port 80; 24 | set $upstream_auth_proto http; 25 | proxy_pass $upstream_auth_proto://$upstream_auth_app:$upstream_auth_port/api/v2/auth?group=$1; 26 | 27 | proxy_set_header Content-Length ""; 28 | 29 | # Do not uncomment the lines below, these are examples for use in other proxy configs 30 | #auth_request /auth-0; #=Admin 31 | #auth_request /auth-1; #=Co-Admin 32 | #auth_request /auth-2; #=Super User 33 | #auth_request /auth-3; #=Power User 34 | #auth_request /auth-4; #=User 35 | #auth_request /auth-998; #=Logged In 36 | #auth_request /auth-999; #=Guest 37 | } 38 | 39 | # Optional redirect server authentication errors to organizr authentication page 40 | # NOTE: $host must be modified to your public URL when using subdomain proxies 41 | #error_page 401 $scheme://$host/?error=$status&return=$scheme://$http_host$request_uri; 42 | -------------------------------------------------------------------------------- /grafana.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/04/20 2 | # make sure that your grafana container is named grafana 3 | # make sure that grafana is set to work with the base url /grafana/ 4 | # grafana requires environment variables set thus: 5 | # environment: 6 | # - "GF_SERVER_ROOT_URL=https://my.domain.com/grafana" 7 | # - "GF_SERVER_DOMAIN=https://my.domain.com/" 8 | 9 | location ^~ /grafana/ { 10 | # enable the next two lines for http auth 11 | #auth_basic "Restricted"; 12 | #auth_basic_user_file /config/nginx/.htpasswd; 13 | 14 | # enable for ldap auth (requires ldap-server.conf in the server block) 15 | #include /config/nginx/ldap-location.conf; 16 | 17 | # enable for Authelia (requires authelia-server.conf in the server block) 18 | #include /config/nginx/authelia-location.conf; 19 | 20 | # enable for Authentik (requires authentik-server.conf in the server block) 21 | #include /config/nginx/authentik-location.conf; 22 | 23 | include /config/nginx/proxy.conf; 24 | include /config/nginx/resolver.conf; 25 | set $upstream_app grafana; 26 | set $upstream_port 3000; 27 | set $upstream_proto http; 28 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 29 | 30 | # Clear Authorization Header if you are using http auth and normal Grafana auth 31 | #proxy_set_header Authorization ""; 32 | 33 | rewrite ^/grafana/(.*)$ /$1 break; 34 | 35 | } 36 | 37 | location ^~ /grafana/api { 38 | include /config/nginx/proxy.conf; 39 | include /config/nginx/resolver.conf; 40 | set $upstream_app grafana; 41 | set $upstream_port 3000; 42 | set $upstream_proto http; 43 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 44 | 45 | # Clear Authorization Header if you are using http auth and normal Grafana auth 46 | #proxy_set_header Authorization ""; 47 | 48 | rewrite ^/grafana/(.*)$ /$1 break; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /code-server.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your code-server container is named code-server 3 | # make sure that your dns has a cname set for code-server 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name code-server.* "~^[0-9]{1,10}\.code-server\..*$"; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | include /config/nginx/proxy.conf; 44 | include /config/nginx/resolver.conf; 45 | set $upstream_app code-server; 46 | set $upstream_port 8443; 47 | set $upstream_proto http; 48 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 49 | 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /tvheadend.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your tvheadend container is named tvheadend 3 | # make sure that tvheadend is set to work with the base url /tvheadend/ 4 | # Before activating this config you need to do two things: 5 | # - enable a setting in the tvheadend web interface 6 | # - change your RUN_OPTS for tvheadend. 7 | # 8 | # You need to enable the setting "PROXY protocol & X-Forwarded For" 9 | # in the tvheadend web interface. This setting can be found in 10 | # "Configuration" -> "General" -> "Base" in the "HTTP Server Settings" Group. 11 | # You need to set the View level to Expert to see it. Once activated, you may need to 12 | # restart your tvheadend container. When testing this config, please be reminded 13 | # that the tvheadend docker can take a very long time to start (>10mins). 14 | # 15 | # For the subfolder to work you also need to edit your tvheadend docker compose / cli config 16 | # and set http_root in RUN_OPTS to tvheadend, e.g. in docker compose: 17 | # - RUN_OPTS= --http_root /tvheadend 18 | 19 | location /tvheadend { 20 | return 301 $scheme://$host/tvheadend/; 21 | } 22 | 23 | location /tvheadend/ { 24 | # enable the next two lines for http auth 25 | #auth_basic "Restricted"; 26 | #auth_basic_user_file /config/nginx/.htpasswd; 27 | 28 | # enable for ldap auth (requires ldap-server.conf in the server block) 29 | #include /config/nginx/ldap-location.conf; 30 | 31 | # enable for Authelia (requires authelia-server.conf in the server block) 32 | #include /config/nginx/authelia-location.conf; 33 | 34 | # enable for Authentik (requires authentik-server.conf in the server block) 35 | #include /config/nginx/authentik-location.conf; 36 | 37 | include /config/nginx/proxy.conf; 38 | include /config/nginx/resolver.conf; 39 | 40 | set $upstream_app tvheadend; 41 | set $upstream_port 9981; 42 | set $upstream_proto http; 43 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 44 | } 45 | -------------------------------------------------------------------------------- /mealie.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # Ensure your DNS has a CNAME set for mealie and that mealie container is named. 3 | 4 | server { 5 | listen 443 ssl; 6 | # listen 443 quic; 7 | listen [::]:443 ssl; 8 | # listen [::]:443 quic; 9 | 10 | server_name mealie.*; 11 | 12 | include /config/nginx/ssl.conf; 13 | 14 | client_max_body_size 0; 15 | 16 | # enable for ldap auth (requires ldap-location.conf in the location block) 17 | #include /config/nginx/ldap-server.conf; 18 | 19 | # enable for Authelia (requires authelia-location.conf in the location block) 20 | #include /config/nginx/authelia-server.conf; 21 | 22 | # enable for Authentik (requires authentik-location.conf in the location block) 23 | #include /config/nginx/authentik-server.conf; 24 | 25 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 26 | #include /config/nginx/tinyauth-server.conf; 27 | 28 | location / { 29 | # enable the next two lines for http auth 30 | #auth_basic "Restricted"; 31 | #auth_basic_user_file /config/nginx/.htpasswd; 32 | 33 | # enable for ldap auth (requires ldap-server.conf in the server block) 34 | #include /config/nginx/ldap-location.conf; 35 | 36 | # enable for Authelia (requires authelia-server.conf in the server block) 37 | #include /config/nginx/authelia-location.conf; 38 | 39 | # enable for Authentik (requires authentik-server.conf in the server block) 40 | #include /config/nginx/authentik-location.conf; 41 | 42 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 43 | #include /config/nginx/tinyauth-location.conf; 44 | 45 | include /config/nginx/proxy.conf; 46 | include /config/nginx/resolver.conf; 47 | set $upstream_app mealie; 48 | set $upstream_port 9000; 49 | set $upstream_proto http; 50 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /transmission.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your transmission container is named transmission 3 | # transmission does not require a base url setting 4 | # 5 | # Some Transmission Chrome extensions cannot handle HTTP/2 proxies as they 6 | # rely on the HTTP Status Text to determine if they should add the 7 | # X-Transmission-Session-Id header or not. HTTP/2 does not return this text 8 | # so jQuery responses are empty. This causes RPCs to fail. 9 | # 10 | # If your extension is affected, you can remove http2 from the default server 11 | # in /config/nginx/site-confs/default or listen on a different port that has 12 | # no http2 servers defined. Better yet, submit a bug report with the 13 | # extension developer to fix their extensions to support HTTP/2. 14 | 15 | location ^~ /transmission { 16 | # enable the next two lines for http auth 17 | #auth_basic "Restricted"; 18 | #auth_basic_user_file /config/nginx/.htpasswd; 19 | 20 | # enable for ldap auth (requires ldap-server.conf in the server block) 21 | #include /config/nginx/ldap-location.conf; 22 | 23 | # enable for Authelia (requires authelia-server.conf in the server block) 24 | #include /config/nginx/authelia-location.conf; 25 | 26 | # enable for Authentik (requires authentik-server.conf in the server block) 27 | #include /config/nginx/authentik-location.conf; 28 | 29 | include /config/nginx/proxy.conf; 30 | include /config/nginx/resolver.conf; 31 | set $upstream_app transmission; 32 | set $upstream_port 9091; 33 | set $upstream_proto http; 34 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 35 | 36 | proxy_pass_header X-Transmission-Session-Id; 37 | } 38 | 39 | location ^~ /transmission/rpc { 40 | include /config/nginx/proxy.conf; 41 | include /config/nginx/resolver.conf; 42 | set $upstream_app transmission; 43 | set $upstream_port 9091; 44 | set $upstream_proto http; 45 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 46 | 47 | } 48 | -------------------------------------------------------------------------------- /synapse.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | 3 | server { 4 | listen 443 ssl; 5 | # listen 443 quic; 6 | listen [::]:443 ssl; 7 | # listen [::]:443 quic; 8 | 9 | # For the federation port 10 | listen 8448 ssl; 11 | listen [::]:8448 ssl; 12 | 13 | server_name matrix.*; 14 | 15 | include /config/nginx/ssl.conf; 16 | 17 | client_max_body_size 0; 18 | 19 | # enable for ldap auth (requires ldap-location.conf in the location block) 20 | #include /config/nginx/ldap-server.conf; 21 | 22 | # enable for Authelia (requires authelia-location.conf in the location block) 23 | #include /config/nginx/authelia-server.conf; 24 | 25 | # enable for Authentik (requires authentik-location.conf in the location block) 26 | #include /config/nginx/authentik-server.conf; 27 | 28 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 29 | #include /config/nginx/tinyauth-server.conf; 30 | 31 | location / { 32 | # enable the next two lines for http auth 33 | #auth_basic "Restricted"; 34 | #auth_basic_user_file /config/nginx/.htpasswd; 35 | 36 | # enable for ldap auth (requires ldap-server.conf in the server block) 37 | #include /config/nginx/ldap-location.conf; 38 | 39 | # enable for Authelia (requires authelia-server.conf in the server block) 40 | #include /config/nginx/authelia-location.conf; 41 | 42 | # enable for Authentik (requires authentik-server.conf in the server block) 43 | #include /config/nginx/authentik-location.conf; 44 | 45 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 46 | #include /config/nginx/tinyauth-location.conf; 47 | 48 | include /config/nginx/proxy.conf; 49 | include /config/nginx/resolver.conf; 50 | set $upstream_app synapse; 51 | set $upstream_port 8008; 52 | set $upstream_proto http; 53 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /qui.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/08/28 2 | # make sure that your qui container is named qui 3 | # make sure that your dns has a cname set for qui 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name qui.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app qui; 49 | set $upstream_port 7476; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /znc.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your znc container is named znc 3 | # make sure that your dns has a cname set for znc 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name znc.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app znc; 49 | set $upstream_port 6501; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /atuin.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your atuin container is named atuin 3 | # make sure that your dns has a cname set for atuin 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name atuin.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app atuin; 49 | set $upstream_port 8888; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /dashy.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your dashy container is named dashy 3 | # make sure that your dns has a cname set for dashy 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name dashy.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app dashy; 49 | set $upstream_port 8080; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /drone.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your drone container is named drone 3 | # make sure that your dns has a cname set for drone 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name drone.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app drone; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /homer.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your homer container is named homer 3 | # make sure that your dns has a cname set for homer 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name homer.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app homer; 49 | set $upstream_port 8080; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /petio.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your petio container is named petio 3 | # make sure that your dns has a cname set for petio 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name petio.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app petio; 49 | set $upstream_port 7777; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /photoprism.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # Ensure your DNS has a CNAME set for Photoprism and that Photoprism container is named. 3 | 4 | server { 5 | listen 443 ssl; 6 | # listen 443 quic; 7 | listen [::]:443 ssl; 8 | # listen [::]:443 quic; 9 | 10 | server_name photoprism.*; 11 | 12 | include /config/nginx/ssl.conf; 13 | 14 | client_max_body_size 0; 15 | 16 | # enable for ldap auth (requires ldap-location.conf in the location block) 17 | #include /config/nginx/ldap-server.conf; 18 | 19 | # enable for Authelia (requires authelia-location.conf in the location block) 20 | #include /config/nginx/authelia-server.conf; 21 | 22 | # enable for Authentik (requires authentik-location.conf in the location block) 23 | #include /config/nginx/authentik-server.conf; 24 | 25 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 26 | #include /config/nginx/tinyauth-server.conf; 27 | 28 | location / { 29 | # enable the next two lines for http auth 30 | #auth_basic "Restricted"; 31 | #auth_basic_user_file /config/nginx/.htpasswd; 32 | 33 | # enable for ldap auth (requires ldap-server.conf in the server block) 34 | #include /config/nginx/ldap-location.conf; 35 | 36 | # enable for Authelia (requires authelia-server.conf in the server block) 37 | #include /config/nginx/authelia-location.conf; 38 | 39 | # enable for Authentik (requires authentik-server.conf in the server block) 40 | #include /config/nginx/authentik-location.conf; 41 | 42 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 43 | #include /config/nginx/tinyauth-location.conf; 44 | 45 | include /config/nginx/proxy.conf; 46 | include /config/nginx/resolver.conf; 47 | set $upstream_app photoprism; 48 | set $upstream_port 2342; 49 | set $upstream_proto http; 50 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /romm.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your romM container is named romm 3 | # make sure that your dns has a cname set for romm 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name romm.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app romm; 49 | set $upstream_port 8080; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /dsmrreader.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your dsmr container is named dsmr 3 | # make sure that your dns has a cname set for dsmr 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name dsmr.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app dsmr; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /grav.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your grav container is named grav 3 | # make sure that your dns has a cname set for grav 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name grav.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app grav; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /mailu.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your mailu container is named front 3 | # make sure that your dns has a cname set for mailu 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name mailu.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app front; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /ntfy.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your ntfy container is named ntfy 3 | # make sure that your dns has a cname set for ntfy 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name ntfy.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app ntfy; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /pinry.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your pinry container is named pinry 3 | # make sure that your dns has a cname set for pinry 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name pinry.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app pinry; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /fenrus.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your fenrus container is named fenrus 3 | # make sure that your dns has a cname set for fenrus 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name fenrus.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app fenrus; 49 | set $upstream_port 3000; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /flood.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your flood container is named flood 3 | # make sure that your dns has a cname set for flood 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name flood.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app flood; 49 | set $upstream_port 3000; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /ghost.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your ghost container is named ghost 3 | # make sure that your dns has a cname set for ghost 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name ghost.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app ghost; 49 | set $upstream_port 2368; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /gotify.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your gotify container is named gotify 3 | # make sure that your dns has a cname set for gotify 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name gotify.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app gotify; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /homarr.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your homarr container is named homarr 3 | # make sure that your dns has a cname set for homarr 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name homarr.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app homarr; 49 | set $upstream_port 7575; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /kanzi.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your kanzi container is named kanzi 3 | # make sure that your dns has a cname set for kanzi 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name kanzi.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app kanzi; 49 | set $upstream_port 8000; 50 | set $upstream_proto https; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /kopia.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your kopia container is named kopia 3 | # make sure that your dns has a cname set for kopia 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name kopia.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app kopia; 49 | set $upstream_port 51515; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /lldap.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your lldap container is named lldap 3 | # make sure that your dns has a cname set for lldap 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name lldap.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app lldap; 49 | set $upstream_port 17170; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /lychee.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your lychee container is named lychee 3 | # make sure that your dns has a cname set for lychee 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name lychee.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app lychee; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /matomo.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your matomo container is named matomo 3 | # make sure that your dns has a cname set for matomo 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name matomo.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app matomo; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /mylar.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your mylar container is named mylar 3 | # make sure that your dns has a cname set for mylar 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name mylar.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app mylar; 49 | set $upstream_port 8090; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /nocodb.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your nocodb container is named nocodb 3 | # make sure that your dns has a cname set for nocodb 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name nocodb.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app nocodb; 49 | set $upstream_port 8080; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /nzbget.subfolder.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2023/02/05 2 | # make sure that your nzbget container is named nzbget 3 | # make sure that nzbget is set to work with the base url /nzbget/ 4 | # nzbget does not require a base url setting 5 | 6 | location /nzbget { 7 | # enable the next two lines for http auth 8 | #auth_basic "Restricted"; 9 | #auth_basic_user_file /config/nginx/.htpasswd; 10 | 11 | # enable for ldap auth (requires ldap-server.conf in the server block) 12 | #include /config/nginx/ldap-location.conf; 13 | 14 | # enable for Authelia (requires authelia-server.conf in the server block) 15 | #include /config/nginx/authelia-location.conf; 16 | 17 | # enable for Authentik (requires authentik-server.conf in the server block) 18 | #include /config/nginx/authentik-location.conf; 19 | 20 | include /config/nginx/proxy.conf; 21 | include /config/nginx/resolver.conf; 22 | set $upstream_app nzbget; 23 | set $upstream_port 6789; 24 | set $upstream_proto http; 25 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 26 | 27 | } 28 | 29 | location ~ /nzbget(/[^\/:]*:[^\/]*)?/jsonrpc { 30 | include /config/nginx/proxy.conf; 31 | include /config/nginx/resolver.conf; 32 | set $upstream_app nzbget; 33 | set $upstream_port 6789; 34 | set $upstream_proto http; 35 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 36 | 37 | } 38 | 39 | location ~ /nzbget(/[^\/:]*:[^\/]*)?/jsonprpc { 40 | include /config/nginx/proxy.conf; 41 | include /config/nginx/resolver.conf; 42 | set $upstream_app nzbget; 43 | set $upstream_port 6789; 44 | set $upstream_proto http; 45 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 46 | 47 | } 48 | 49 | location ~ /nzbget(/[^\/:]*:[^\/]*)?/xmlrpc { 50 | include /config/nginx/proxy.conf; 51 | include /config/nginx/resolver.conf; 52 | set $upstream_app nzbget; 53 | set $upstream_port 6789; 54 | set $upstream_proto http; 55 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 56 | 57 | } 58 | -------------------------------------------------------------------------------- /piwigo.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your piwigo container is named piwigo 3 | # make sure that your dns has a cname set for piwigo 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name piwigo.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app piwigo; 49 | set $upstream_port 80; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /pydio.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your pydio container is named pydio 3 | # make sure that your dns has a cname set for pydio 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name pydio.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app pydio; 49 | set $upstream_port 443; 50 | set $upstream_proto https; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /shlink.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your shlink container is named shlink 3 | # make sure that your dns has a cname set for shlink 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name shlink.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app shlink; 49 | set $upstream_port 8080; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /tdarr.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your tdarr container is named tdarr 3 | # make sure that your dns has a cname set for tdarr 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name tdarr.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app tdarr; 49 | set $upstream_port 8265; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /wizarr.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your wizarr container is named wizarr 3 | # make sure that your dns has a cname set for wizarr 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name wizarr.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app wizarr; 49 | set $upstream_port 5690; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /yacht.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your yacht container is named yacht 3 | # make sure that your dns has a cname set for yacht 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name yacht.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app yacht; 49 | set $upstream_port 8000; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /budge.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your budge container is named budge 3 | # make sure that your dns has a cname set for budge 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name budge.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app budge; 49 | set $upstream_port 443; 50 | set $upstream_proto https; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /deluge.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your deluge container is named deluge 3 | # make sure that your dns has a cname set for deluge 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name deluge.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app deluge; 49 | set $upstream_port 8112; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /dockge.subdomain.conf.sample: -------------------------------------------------------------------------------- 1 | ## Version 2025/07/18 2 | # make sure that your dockge container is named dockge 3 | # make sure that your dns has a cname set for dockge 4 | 5 | server { 6 | listen 443 ssl; 7 | # listen 443 quic; 8 | listen [::]:443 ssl; 9 | # listen [::]:443 quic; 10 | 11 | server_name dockge.*; 12 | 13 | include /config/nginx/ssl.conf; 14 | 15 | client_max_body_size 0; 16 | 17 | # enable for ldap auth (requires ldap-location.conf in the location block) 18 | #include /config/nginx/ldap-server.conf; 19 | 20 | # enable for Authelia (requires authelia-location.conf in the location block) 21 | #include /config/nginx/authelia-server.conf; 22 | 23 | # enable for Authentik (requires authentik-location.conf in the location block) 24 | #include /config/nginx/authentik-server.conf; 25 | 26 | # enable for Tinyauth (requires tinyauth-location.conf in the location block) 27 | #include /config/nginx/tinyauth-server.conf; 28 | 29 | location / { 30 | # enable the next two lines for http auth 31 | #auth_basic "Restricted"; 32 | #auth_basic_user_file /config/nginx/.htpasswd; 33 | 34 | # enable for ldap auth (requires ldap-server.conf in the server block) 35 | #include /config/nginx/ldap-location.conf; 36 | 37 | # enable for Authelia (requires authelia-server.conf in the server block) 38 | #include /config/nginx/authelia-location.conf; 39 | 40 | # enable for Authentik (requires authentik-server.conf in the server block) 41 | #include /config/nginx/authentik-location.conf; 42 | 43 | # enable for Tinyauth (requires tinyauth-server.conf in the server block) 44 | #include /config/nginx/tinyauth-location.conf; 45 | 46 | include /config/nginx/proxy.conf; 47 | include /config/nginx/resolver.conf; 48 | set $upstream_app dockge; 49 | set $upstream_port 5001; 50 | set $upstream_proto http; 51 | proxy_pass $upstream_proto://$upstream_app:$upstream_port; 52 | 53 | } 54 | } 55 | --------------------------------------------------------------------------------