feat!: a few (important) changes

- move core configuratiion (authelia, traefik) to main .env
- move all hostname definitions to main .env
- add cloudflare ddns to automatically create DNS records
- automatically determine stremio addon hostnames for authelia using predefined hostname environment variables
- give all services a profile, including the previously implicit "default" services. Instead provide an explicit "required" profile that contains traefik and authelia. Allowing you to restart a specific profile without including the previous default services and also allowing you to have more control.
This commit is contained in:
Viren070
2025-04-18 20:14:28 +01:00
parent 7d54f12edc
commit ec66655997
57 changed files with 215 additions and 187 deletions
+6 -6
View File
@@ -720,18 +720,18 @@ access_control:
default_policy: 'deny'
rules:
## Rules for stremio addon subdomains
## Protect certain pages (e.g /configure) only
## but leave api routes unprotected so apps can use them.
- domain_regex: '^({{ env "TEMPLATE_STREMIO_ADDON_SUBDOMAINS" }}).{{ env "TEMPLATE_DOMAIN" }}$'
## Apply page specific protection to stremio addons after escaping dots and replacing commans with pipes in the
## comma separated list of hostnames defined in the environment variable TEMPLATE_STREMIO_ADDON_HOSTNAMES.
## This ensures that addons are still usable while protecting important pages.
- domain_regex: '^({{ env "TEMPLATE_STREMIO_ADDON_HOSTNAMES" | replace "," "|" | replace "." "\\." }})$'
resources:
- '.*?/configure($|/.*$|\?.*$)' # rule for prtecting any resource that has the component somewhere in the path
- '.*?/(stremio|sidekick|admin|watch)($|\?.*$)' # rule for protecting any resource that ends with the component.
- '^/$' # rule for protecting the root path
policy: 'two_factor'
- domain_regex: '^({{ env "TEMPLATE_STREMIO_ADDON_SUBDOMAINS" }}).{{ env "TEMPLATE_DOMAIN" }}$'
## ensure other resources for stremio addons bypass authentication
- domain_regex: '^({{ env "TEMPLATE_STREMIO_ADDON_HOSTNAMES" | replace "," "|" | replace "." "\\." }})$'
policy: 'bypass'
- domain: '*.{{ env "TEMPLATE_DOMAIN" }}'