mirror of
				https://github.com/linuxserver/docker-swag.git
				synced 2025-10-31 21:17:42 +09:00 
			
		
		
		
	Merge pull request #332 from linuxserver/nemchik-tik
Unify auth config approach
This commit is contained in:
		| @@ -335,7 +335,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 | |||||||
|  |  | ||||||
| ## Versions | ## Versions | ||||||
|  |  | ||||||
| * **01.02.23:** - Add includable confs for authentik. | * **09.02.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs. | ||||||
| * **21.01.23:** - Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x. | * **21.01.23:** - Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x. | ||||||
| * **20.01.23:** - Rebase to alpine 3.17 with php8.1. | * **20.01.23:** - Rebase to alpine 3.17 with php8.1. | ||||||
| * **16.01.23:** - Remove nchan module because it keeps causing crashes. | * **16.01.23:** - Remove nchan module because it keeps causing crashes. | ||||||
|   | |||||||
| @@ -154,7 +154,7 @@ app_setup_block: | | |||||||
|  |  | ||||||
| # changelog | # changelog | ||||||
| changelogs: | changelogs: | ||||||
|   - { date: "01.02.23:", desc: "Add includable confs for authentik" } |   - { date: "09.02.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) proxy.conf, authelia-location.conf and authelia-server.conf - Add Authentik configs, update Authelia configs." } | ||||||
|   - { date: "21.01.23:", desc: "Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x." } |   - { date: "21.01.23:", desc: "Unpin certbot version (allow certbot 2.x). !!BREAKING CHANGE!! We are temporarily removing the certbot porkbun plugin until a new version is released that is compatible with certbot 2.x." } | ||||||
|   - { date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." } |   - { date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." } | ||||||
|   - { date: "16.01.23:", desc: "Remove nchan module because it keeps causing crashes." } |   - { date: "16.01.23:", desc: "Remove nchan module because it keeps causing crashes." } | ||||||
|   | |||||||
| @@ -1,15 +1,29 @@ | |||||||
| ## Version 2022/08/20 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample | ## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample | ||||||
| # Make sure that your authelia container is in the same user defined bridge network and is named authelia | # Make sure that your authelia container is in the same user defined bridge network and is named authelia | ||||||
|  | # Rename /config/nginx/proxy-confs/authelia.conf.sample to /config/nginx/proxy-confs/authelia.conf | ||||||
| # Make sure that the authelia configuration.yml has 'path: "authelia"' defined | # Make sure that the authelia configuration.yml has 'path: "authelia"' defined | ||||||
|  |  | ||||||
|  | ## Send a subrequest to Authelia to verify if the user is authenticated and has permission to access the resource. | ||||||
| auth_request /authelia/api/verify; | auth_request /authelia/api/verify; | ||||||
| auth_request_set $target_url $scheme://$http_host$request_uri; | ## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal. | ||||||
|  | error_page 401 = @authelia_proxy_signin; | ||||||
|  |  | ||||||
|  | ## Translate response headers from Authelia into variables | ||||||
| auth_request_set $user $upstream_http_remote_user; | auth_request_set $user $upstream_http_remote_user; | ||||||
| auth_request_set $groups $upstream_http_remote_groups; | auth_request_set $groups $upstream_http_remote_groups; | ||||||
| auth_request_set $name $upstream_http_remote_name; | auth_request_set $name $upstream_http_remote_name; | ||||||
| auth_request_set $email $upstream_http_remote_email; | auth_request_set $email $upstream_http_remote_email; | ||||||
|  | auth_request_set $authorization $upstream_http_authorization; | ||||||
|  | auth_request_set $proxy_authorization $upstream_http_proxy_authorization; | ||||||
|  |  | ||||||
|  | ## Inject the response header variables into the request made to the actual upstream | ||||||
| proxy_set_header Remote-User $user; | proxy_set_header Remote-User $user; | ||||||
| proxy_set_header Remote-Groups $groups; | proxy_set_header Remote-Groups $groups; | ||||||
| proxy_set_header Remote-Name $name; | proxy_set_header Remote-Name $name; | ||||||
| proxy_set_header Remote-Email $email; | proxy_set_header Remote-Email $email; | ||||||
| error_page 401 =302 https://$http_host/authelia/?rd=$target_url; | proxy_set_header Authorization $authorization; | ||||||
|  | proxy_set_header Proxy-Authorization $proxy_authorization; | ||||||
|  |  | ||||||
|  | ## Include the Set-Cookie header if present. | ||||||
|  | auth_request_set $set_cookie $upstream_http_set_cookie; | ||||||
|  | add_header Set-Cookie $set_cookie; | ||||||
|   | |||||||
| @@ -1,50 +1,55 @@ | |||||||
| ## Version 2022/09/22 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample | ## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample | ||||||
| # Make sure that your authelia container is in the same user defined bridge network and is named authelia | # Make sure that your authelia container is in the same user defined bridge network and is named authelia | ||||||
|  | # Rename /config/nginx/proxy-confs/authelia.conf.sample to /config/nginx/proxy-confs/authelia.conf | ||||||
|  | # Make sure that the authelia configuration.yml has 'path: "authelia"' defined | ||||||
|  |  | ||||||
|  | # location for authelia subfolder requests | ||||||
| location ^~ /authelia { | location ^~ /authelia { | ||||||
|  |     auth_request off; # requests to this subfolder must be accessible without authentication | ||||||
|     include /config/nginx/proxy.conf; |     include /config/nginx/proxy.conf; | ||||||
|     include /config/nginx/resolver.conf; |     include /config/nginx/resolver.conf; | ||||||
|     set $upstream_authelia authelia; |     set $upstream_authelia authelia; | ||||||
|     proxy_pass http://$upstream_authelia:9091; |     proxy_pass http://$upstream_authelia:9091; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | # location for authelia auth requests | ||||||
| location = /authelia/api/verify { | location = /authelia/api/verify { | ||||||
|     internal; |     internal; | ||||||
|  |  | ||||||
|  |     include /config/nginx/proxy.conf; | ||||||
|     include /config/nginx/resolver.conf; |     include /config/nginx/resolver.conf; | ||||||
|     set $upstream_authelia authelia; |     set $upstream_authelia authelia; | ||||||
|  |     proxy_pass http://$upstream_authelia:9091/authelia/api/verify; | ||||||
|  |  | ||||||
|  |     ## Include the Set-Cookie header if present. | ||||||
|  |     auth_request_set $set_cookie $upstream_http_set_cookie; | ||||||
|  |     add_header Set-Cookie $set_cookie; | ||||||
|  |  | ||||||
|     proxy_pass_request_body off; |     proxy_pass_request_body off; | ||||||
|     proxy_pass http://$upstream_authelia:9091; |  | ||||||
|     proxy_set_header Content-Length ""; |     proxy_set_header Content-Length ""; | ||||||
|  | } | ||||||
|     # Timeout if the real server is dead |  | ||||||
|     proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; | # Virtual location for authelia 401 redirects | ||||||
|  | location @authelia_proxy_signin { | ||||||
|     # [REQUIRED] Needed by Authelia to check authorizations of the resource. |     internal; | ||||||
|     # Provide either X-Original-URL and X-Forwarded-Proto or |  | ||||||
|     # X-Forwarded-Proto, X-Forwarded-Host and X-Forwarded-Uri or both. |     ## Set the $target_url variable based on the original request. | ||||||
|     # Those headers will be used by Authelia to deduce the target url of the user. |     set_escape_uri $target_url $scheme://$http_host$request_uri; | ||||||
|     # Basic Proxy Config |  | ||||||
|     client_body_buffer_size 128k; |     ## Include the Set-Cookie header if present. | ||||||
|     proxy_set_header Host $host; |     auth_request_set $set_cookie $upstream_http_set_cookie; | ||||||
|     proxy_set_header X-Original-URL $scheme://$http_host$request_uri; |     add_header Set-Cookie $set_cookie; | ||||||
|     proxy_set_header X-Real-IP $remote_addr; |  | ||||||
|     proxy_set_header X-Forwarded-For $remote_addr; |     ## Set $authelia_backend to route requests to the current domain by default | ||||||
|     proxy_set_header X-Forwarded-Method $request_method; |     set $authelia_backend $http_host; | ||||||
|     proxy_set_header X-Forwarded-Proto $scheme; |     ## In order for Webauthn to work with multiple domains authelia must operate on a separate subdomain | ||||||
|     proxy_set_header X-Forwarded-Host $http_host; |     ## To use authelia on a separate subdomain: | ||||||
|     proxy_set_header X-Forwarded-Uri $request_uri; |     ##  * comment the $authelia_backend line above | ||||||
|     proxy_set_header X-Forwarded-Ssl on; |     ##  * rename /config/nginx/proxy-confs/authelia.conf.sample to /config/nginx/proxy-confs/authelia.conf | ||||||
|     proxy_redirect  http://  $scheme://; |     ##  * make sure that your dns has a cname set for authelia | ||||||
|     proxy_http_version 1.1; |     ##  * uncomment the $authelia_backend line below and change example.com to your domain | ||||||
|     proxy_set_header Connection ""; |     ##  * restart the swag container | ||||||
|     proxy_cache_bypass $cookie_session; |     #set $authelia_backend authelia.example.com; | ||||||
|     proxy_no_cache $cookie_session; |  | ||||||
|     proxy_buffers 4 32k; |     return 302 https://$authelia_backend/authelia/?rd=$target_url; | ||||||
|  |  | ||||||
|     # Advanced Proxy Config |  | ||||||
|     send_timeout 5m; |  | ||||||
|     proxy_read_timeout 240; |  | ||||||
|     proxy_send_timeout 240; |  | ||||||
|     proxy_connect_timeout 240; |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,23 +0,0 @@ | |||||||
| ## Version 2022/08/20  |  | ||||||
| # Make sure that your authentik container is in the same user defined bridge network and is named authentik-server |  | ||||||
|  |  | ||||||
| ############################## |  | ||||||
| # authentik-specific config |  | ||||||
| ############################## |  | ||||||
| auth_request     /outpost.goauthentik.io/auth/nginx; |  | ||||||
| error_page       401 = @goauthentik_proxy_signin; |  | ||||||
| auth_request_set $auth_cookie $upstream_http_set_cookie; |  | ||||||
| add_header       Set-Cookie $auth_cookie; |  | ||||||
|  |  | ||||||
| # translate headers from the outposts back to the actual upstream |  | ||||||
| auth_request_set $authentik_username $upstream_http_x_authentik_username; |  | ||||||
| auth_request_set $authentik_groups $upstream_http_x_authentik_groups; |  | ||||||
| auth_request_set $authentik_email $upstream_http_x_authentik_email; |  | ||||||
| auth_request_set $authentik_name $upstream_http_x_authentik_name; |  | ||||||
| auth_request_set $authentik_uid $upstream_http_x_authentik_uid; |  | ||||||
|  |  | ||||||
| proxy_set_header X-authentik-username $authentik_username; |  | ||||||
| proxy_set_header X-authentik-groups $authentik_groups; |  | ||||||
| proxy_set_header X-authentik-email $authentik_email; |  | ||||||
| proxy_set_header X-authentik-name $authentik_name; |  | ||||||
| proxy_set_header X-authentik-uid $authentik_uid; |  | ||||||
							
								
								
									
										26
									
								
								root/defaults/nginx/authentik-location.conf.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								root/defaults/nginx/authentik-location.conf.sample
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | ## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-location.conf.sample | ||||||
|  | # Make sure that your authentik container is in the same user defined bridge network and is named authentik-server | ||||||
|  | # Rename /config/nginx/proxy-confs/authentik.conf.sample to /config/nginx/proxy-confs/authentik.conf | ||||||
|  |  | ||||||
|  | ## Send a subrequest to Authentik to verify if the user is authenticated and has permission to access the resource. | ||||||
|  | auth_request /outpost.goauthentik.io/auth/nginx; | ||||||
|  | ## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal. | ||||||
|  | error_page 401 = @goauthentik_proxy_signin; | ||||||
|  |  | ||||||
|  | ## Translate response headers from Authentik into variables | ||||||
|  | auth_request_set $authentik_username $upstream_http_x_authentik_username; | ||||||
|  | auth_request_set $authentik_groups $upstream_http_x_authentik_groups; | ||||||
|  | auth_request_set $authentik_email $upstream_http_x_authentik_email; | ||||||
|  | auth_request_set $authentik_name $upstream_http_x_authentik_name; | ||||||
|  | auth_request_set $authentik_uid $upstream_http_x_authentik_uid; | ||||||
|  |  | ||||||
|  | ## Inject the response header variables into the request made to the actual upstream | ||||||
|  | proxy_set_header X-authentik-username $authentik_username; | ||||||
|  | proxy_set_header X-authentik-groups $authentik_groups; | ||||||
|  | proxy_set_header X-authentik-email $authentik_email; | ||||||
|  | proxy_set_header X-authentik-name $authentik_name; | ||||||
|  | proxy_set_header X-authentik-uid $authentik_uid; | ||||||
|  |  | ||||||
|  | ## Include the Set-Cookie header if present. | ||||||
|  | auth_request_set $set_cookie $upstream_http_set_cookie; | ||||||
|  | add_header Set-Cookie $set_cookie; | ||||||
| @@ -1,27 +0,0 @@ | |||||||
| ## Version 2022/09/22  |  | ||||||
| # Make sure that your authentik container is in the same user defined bridge network and is named authentik-server |  | ||||||
|  |  | ||||||
|     # all requests to /outpost.goauthentik.io must be accessible without authentication |  | ||||||
|     location /outpost.goauthentik.io { |  | ||||||
|         include /config/nginx/resolver.conf; |  | ||||||
|         set $upstream_authentik authentik-server; |  | ||||||
|         proxy_pass              http://$upstream_authentik:9000/outpost.goauthentik.io; |  | ||||||
|         # ensure the host of this vserver matches your external URL you've configured |  | ||||||
|         # in authentik |  | ||||||
|         proxy_set_header        Host $host; |  | ||||||
|         proxy_set_header        X-Original-URL $scheme://$http_host$request_uri; |  | ||||||
|         add_header              Set-Cookie $auth_cookie; |  | ||||||
|         auth_request_set        $auth_cookie $upstream_http_set_cookie; |  | ||||||
|         proxy_pass_request_body off; |  | ||||||
|         proxy_set_header        Content-Length ""; |  | ||||||
|     } |  | ||||||
| 	 |  | ||||||
| 	# Special location for when the /auth endpoint returns a 401, |  | ||||||
|     # redirect to the /start URL which initiates SSO |  | ||||||
|     location @goauthentik_proxy_signin { |  | ||||||
|         internal; |  | ||||||
|         add_header Set-Cookie $auth_cookie; |  | ||||||
|         return 302 /outpost.goauthentik.io/start?rd=$request_uri; |  | ||||||
|         # For domain level, use the below error_page to redirect to your authentik server with the full redirect path |  | ||||||
|         # return 302 https://authentik.company/outpost.goauthentik.io/start?rd=$scheme://$http_host$request_uri; |  | ||||||
|     } |  | ||||||
							
								
								
									
										45
									
								
								root/defaults/nginx/authentik-server.conf.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								root/defaults/nginx/authentik-server.conf.sample
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | ## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-server.conf.sample | ||||||
|  | # Make sure that your authentik container is in the same user defined bridge network and is named authentik-server | ||||||
|  | # Rename /config/nginx/proxy-confs/authentik.conf.sample to /config/nginx/proxy-confs/authentik.conf | ||||||
|  |  | ||||||
|  | # location for authentik subfolder requests | ||||||
|  | location ^~ /outpost.goauthentik.io { | ||||||
|  |     auth_request off; # requests to this subfolder must be accessible without authentication | ||||||
|  |     include /config/nginx/proxy.conf; | ||||||
|  |     include /config/nginx/resolver.conf; | ||||||
|  |     set $upstream_authentik authentik-server; | ||||||
|  |     proxy_pass http://$upstream_authentik:9000; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # location for authentik auth requests | ||||||
|  | location = /outpost.goauthentik.io/auth/nginx { | ||||||
|  |     internal; | ||||||
|  |  | ||||||
|  |     include /config/nginx/proxy.conf; | ||||||
|  |     include /config/nginx/resolver.conf; | ||||||
|  |     set $upstream_authentik authentik-server; | ||||||
|  |     proxy_pass http://$upstream_authentik:9000/outpost.goauthentik.io/auth/nginx; | ||||||
|  |  | ||||||
|  |     ## Include the Set-Cookie header if present. | ||||||
|  |     auth_request_set $set_cookie $upstream_http_set_cookie; | ||||||
|  |     add_header Set-Cookie $set_cookie; | ||||||
|  |  | ||||||
|  |     proxy_pass_request_body off; | ||||||
|  |     proxy_set_header Content-Length ""; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # Virtual location for authentik 401 redirects | ||||||
|  | location @goauthentik_proxy_signin { | ||||||
|  |     internal; | ||||||
|  |  | ||||||
|  |     ## Set the $target_url variable based on the original request. | ||||||
|  |     set_escape_uri $target_url $scheme://$http_host$request_uri; | ||||||
|  |  | ||||||
|  |     ## Include the Set-Cookie header if present. | ||||||
|  |     auth_request_set $set_cookie $upstream_http_set_cookie; | ||||||
|  |     add_header Set-Cookie $set_cookie; | ||||||
|  |  | ||||||
|  |     ## Set $authentik_backend to route requests to the current domain by default | ||||||
|  |     set $authentik_backend $http_host; | ||||||
|  |     return 302 https://$authentik_backend/outpost.goauthentik.io/start?rd=$target_url; | ||||||
|  | } | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| ## Version 2022/09/01 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/proxy.conf.sample | ## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/proxy.conf.sample | ||||||
|  |  | ||||||
| # Timeout if the real server is dead | # Timeout if the real server is dead | ||||||
| proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; | proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; | ||||||
| @@ -25,11 +25,13 @@ proxy_set_header Host $host; | |||||||
| proxy_set_header Proxy ""; | proxy_set_header Proxy ""; | ||||||
| proxy_set_header Upgrade $http_upgrade; | proxy_set_header Upgrade $http_upgrade; | ||||||
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||||
| proxy_set_header X-Forwarded-Host $host:$server_port; | proxy_set_header X-Forwarded-Host $host; | ||||||
| proxy_set_header X-Forwarded-Method $request_method; | proxy_set_header X-Forwarded-Method $request_method; | ||||||
|  | proxy_set_header X-Forwarded-Port $server_port; | ||||||
| proxy_set_header X-Forwarded-Proto $scheme; | proxy_set_header X-Forwarded-Proto $scheme; | ||||||
| proxy_set_header X-Forwarded-Server $host; | proxy_set_header X-Forwarded-Server $host; | ||||||
| proxy_set_header X-Forwarded-Ssl on; | proxy_set_header X-Forwarded-Ssl on; | ||||||
| proxy_set_header X-Forwarded-Uri $request_uri; | proxy_set_header X-Forwarded-Uri $request_uri; | ||||||
|  | proxy_set_header X-Original-Method $request_method; | ||||||
| proxy_set_header X-Original-URL $scheme://$http_host$request_uri; | proxy_set_header X-Original-URL $scheme://$http_host$request_uri; | ||||||
| proxy_set_header X-Real-IP $remote_addr; | proxy_set_header X-Real-IP $remote_addr; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| ## Version 2022/10/03 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample | ## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/site-confs/default.conf.sample | ||||||
|  |  | ||||||
| # redirect all traffic to https | # redirect all traffic to https | ||||||
| server { | server { | ||||||
| @@ -29,6 +29,9 @@ server { | |||||||
|     # enable for Authelia (requires authelia-location.conf in the location block) |     # enable for Authelia (requires authelia-location.conf in the location block) | ||||||
|     #include /config/nginx/authelia-server.conf; |     #include /config/nginx/authelia-server.conf; | ||||||
|  |  | ||||||
|  |     # enable for Authentik (requires authentik-location.conf in the location block) | ||||||
|  |     #include /config/nginx/authentik-server.conf; | ||||||
|  |  | ||||||
|     location / { |     location / { | ||||||
|         # enable for basic auth |         # enable for basic auth | ||||||
|         #auth_basic "Restricted"; |         #auth_basic "Restricted"; | ||||||
| @@ -40,6 +43,9 @@ server { | |||||||
|         # enable for Authelia (requires authelia-server.conf in the server block) |         # enable for Authelia (requires authelia-server.conf in the server block) | ||||||
|         #include /config/nginx/authelia-location.conf; |         #include /config/nginx/authelia-location.conf; | ||||||
|  |  | ||||||
|  |         # enable for Authentik (requires authentik-server.conf in the server block) | ||||||
|  |         #include /config/nginx/authentik-location.conf; | ||||||
|  |  | ||||||
|         try_files $uri $uri/ /index.html /index.php$is_args$args =404; |         try_files $uri $uri/ /index.html /index.php$is_args$args =404; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,6 +14,14 @@ if [[ ! -f /config/nginx/authelia-server.conf ]]; then | |||||||
|     cp /defaults/nginx/authelia-server.conf.sample /config/nginx/authelia-server.conf |     cp /defaults/nginx/authelia-server.conf.sample /config/nginx/authelia-server.conf | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | # copy authentik config files if they don't exist | ||||||
|  | if [[ ! -f /config/nginx/authentik-location.conf ]]; then | ||||||
|  |     cp /defaults/nginx/authentik-location.conf.sample /config/nginx/authentik-location.conf | ||||||
|  | fi | ||||||
|  | if [[ ! -f /config/nginx/authentik-server.conf ]]; then | ||||||
|  |     cp /defaults/nginx/authentik-server.conf.sample /config/nginx/authentik-server.conf | ||||||
|  | fi | ||||||
|  |  | ||||||
| # copy old ldap config file to new location | # copy old ldap config file to new location | ||||||
| if [[ -f /config/nginx/ldap.conf ]] && [[ ! -f /config/nginx/ldap-server.conf ]]; then | if [[ -f /config/nginx/ldap.conf ]] && [[ ! -f /config/nginx/ldap-server.conf ]]; then | ||||||
|     cp /config/nginx/ldap.conf /config/nginx/ldap-server.conf |     cp /config/nginx/ldap.conf /config/nginx/ldap-server.conf | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user