Fix variable substitution in users_database.yml

- Update localize_users_database_file to properly resolve nested variables in AUTHELIA_ADMIN_EMAIL
- Fix template to use correct AUTHELIA_* variables instead of DEFAULT_* variables
- Update deploy-core.sh to only process files containing variables and fix .env path
- Fix file permissions for authelia config files
This commit is contained in:
Kelin
2026-02-03 22:48:27 -05:00
parent e2a654b3f4
commit 59cd225e0e
14 changed files with 278 additions and 259 deletions

View File

@@ -2,7 +2,7 @@ http:
routers:
# Individual Services
homeassistant:
rule: "Host(`hass.${DOMAIN}`)"
rule: "Host(`hass.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: homeassistant
@@ -15,5 +15,5 @@ http:
homeassistant:
loadBalancer:
servers:
- url: "http://${HOMEASSISTANT_IP}:8123"
- url: "http://:8123"
passHostHeader: true

View File

@@ -1,101 +1,101 @@
http:
routers:
# Remote Server Services (${REMOTE_SERVER_HOSTNAME})
dockge-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`dockge.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
# Remote Server Services (your-remote-server)
dockge-your-remote-server:
rule: "Host(`dockge.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: dockge-${REMOTE_SERVER_HOSTNAME}
service: dockge-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
dozzle-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`dozzle.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
dozzle-your-remote-server:
rule: "Host(`dozzle.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: dozzle-${REMOTE_SERVER_HOSTNAME}
service: dozzle-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
glances-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`glances.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
glances-your-remote-server:
rule: "Host(`glances.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: glances-${REMOTE_SERVER_HOSTNAME}
service: glances-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
backrest-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`backrest.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
backrest-your-remote-server:
rule: "Host(`backrest.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: backrest-${REMOTE_SERVER_HOSTNAME}
service: backrest-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
duplicati-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`duplicati.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
duplicati-your-remote-server:
rule: "Host(`duplicati.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: duplicati-${REMOTE_SERVER_HOSTNAME}
service: duplicati-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
homepage-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`homepage.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
homepage-your-remote-server:
rule: "Host(`homepage.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: homepage-${REMOTE_SERVER_HOSTNAME}
service: homepage-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
homarr-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`homarr.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
homarr-your-remote-server:
rule: "Host(`homarr.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: homarr-${REMOTE_SERVER_HOSTNAME}
service: homarr-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
grafana-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`grafana.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
grafana-your-remote-server:
rule: "Host(`grafana.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: grafana-${REMOTE_SERVER_HOSTNAME}
service: grafana-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
prometheus-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`prometheus.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
prometheus-your-remote-server:
rule: "Host(`prometheus.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: prometheus-${REMOTE_SERVER_HOSTNAME}
service: prometheus-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
- authelia@docker
uptime-kuma-${REMOTE_SERVER_HOSTNAME}:
rule: "Host(`status.${REMOTE_SERVER_HOSTNAME}.${DOMAIN}`)"
uptime-kuma-your-remote-server:
rule: "Host(`status.your-remote-server.kelinreij.duckdns.org`)"
entryPoints:
- websecure
service: uptime-kuma-${REMOTE_SERVER_HOSTNAME}
service: uptime-kuma-your-remote-server
tls:
certResolver: letsencrypt
middlewares:
@@ -103,286 +103,286 @@ http:
# Service Definitions
services:
backrest-${SERVER_HOSTNAME}:
backrest-jasper:
loadBalancer:
servers:
- url: "http://${SERVER_IP}:9898"
- url: "http://192.168.4.4:9898"
passHostHeader: true
vaultwarden-${SERVER_HOSTNAME}:
vaultwarden-jasper:
loadBalancer:
servers:
- url: "http://${SERVER_IP}:8091"
- url: "http://192.168.4.4:8091"
passHostHeader: true
bookstack-${SERVER_HOSTNAME}:
bookstack-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:6875"
- url: "http://192.168.4.4:6875"
passHostHeader: true
calibre-web-${SERVER_HOSTNAME}:
calibre-web-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8083"
- url: "http://192.168.4.4:8083"
passHostHeader: true
code-${SERVER_HOSTNAME}:
code-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8079"
- url: "http://192.168.4.4:8079"
passHostHeader: true
dockge-${SERVER_HOSTNAME}:
dockge-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:5001"
- url: "http://192.168.4.4:5001"
passHostHeader: true
dockhand-${SERVER_HOSTNAME}:
dockhand-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:3003"
- url: "http://192.168.4.4:3003"
passHostHeader: true
dokuwiki-${SERVER_HOSTNAME}:
dokuwiki-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8087"
- url: "http://192.168.4.4:8087"
passHostHeader: true
dozzle-${SERVER_HOSTNAME}:
dozzle-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8085"
- url: "http://192.168.4.4:8085"
passHostHeader: true
duplicati-${SERVER_HOSTNAME}:
duplicati-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8200"
- url: "http://192.168.4.4:8200"
passHostHeader: true
ez-assistant-${SERVER_HOSTNAME}:
ez-assistant-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:18789" # Internal IP of ${SERVER_HOSTNAME} server
- url: "http://192.168.4.4:18789" # Internal IP of jasper server
passHostHeader: true
formio-${SERVER_HOSTNAME}:
formio-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:3002"
- url: "http://192.168.4.4:3002"
passHostHeader: true
gitea-${SERVER_HOSTNAME}:
gitea-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:3010"
- url: "http://192.168.4.4:3010"
passHostHeader: true
glances-${SERVER_HOSTNAME}:
glances-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:61208"
- url: "http://192.168.4.4:61208"
passHostHeader: true
homarr-${SERVER_HOSTNAME}:
homarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:7575"
- url: "http://192.168.4.4:7575"
passHostHeader: true
homepage-${SERVER_HOSTNAME}:
homepage-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:3000"
- url: "http://192.168.4.4:3000"
passHostHeader: true
jellyfin-${SERVER_HOSTNAME}:
jellyfin-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8096"
- url: "http://192.168.4.4:8096"
passHostHeader: true
jupyter-${SERVER_HOSTNAME}:
jupyter-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8890"
- url: "http://192.168.4.4:8890"
passHostHeader: true
kopia-${SERVER_HOSTNAME}:
kopia-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:51515"
- url: "http://192.168.4.4:51515"
passHostHeader: true
mealie-${SERVER_HOSTNAME}:
mealie-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:9000"
- url: "http://192.168.4.4:9000"
passHostHeader: true
mediawiki-${SERVER_HOSTNAME}:
mediawiki-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8086"
- url: "http://192.168.4.4:8086"
passHostHeader: true
motioneye-${SERVER_HOSTNAME}:
motioneye-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8081"
- url: "http://192.168.4.4:8081"
passHostHeader: true
nextcloud-${SERVER_HOSTNAME}:
nextcloud-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8089"
- url: "http://192.168.4.4:8089"
passHostHeader: true
openkm-${SERVER_HOSTNAME}:
openkm-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:18080"
- url: "http://192.168.4.4:18080"
passHostHeader: true
openwebui-${SERVER_HOSTNAME}:
openwebui-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:3000"
- url: "http://192.168.4.4:3000"
passHostHeader: true
qbittorrent-${SERVER_HOSTNAME}:
qbittorrent-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8081"
- url: "http://192.168.4.4:8081"
passHostHeader: true
tdarr-${SERVER_HOSTNAME}:
tdarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8265"
- url: "http://192.168.4.4:8265"
passHostHeader: true
unmanic-${SERVER_HOSTNAME}:
unmanic-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8889"
- url: "http://192.168.4.4:8889"
passHostHeader: true
wordpress-${SERVER_HOSTNAME}:
wordpress-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8088"
- url: "http://192.168.4.4:8088"
passHostHeader: true
# Arr Services
jellyseerr-${SERVER_HOSTNAME}:
jellyseerr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:5055"
- url: "http://192.168.4.4:5055"
passHostHeader: true
prowlarr-${SERVER_HOSTNAME}:
prowlarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:9696"
- url: "http://192.168.4.4:9696"
passHostHeader: true
radarr-${SERVER_HOSTNAME}:
radarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:7878"
- url: "http://192.168.4.4:7878"
passHostHeader: true
sonarr-${SERVER_HOSTNAME}:
sonarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8989"
- url: "http://192.168.4.4:8989"
passHostHeader: true
lidarr-${SERVER_HOSTNAME}:
lidarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8686"
- url: "http://192.168.4.4:8686"
passHostHeader: true
readarr-${SERVER_HOSTNAME}:
readarr-jasper:
loadbalancer:
servers:
- url: "http://${SERVER_IP}:8787"
- url: "http://192.168.4.4:8787"
passHostHeader: true
mylar3-${SERVER_HOSTNAME}:
mylar3-jasper:
loadBalancer:
servers:
- url: "http://${SERVER_IP}:8090"
- url: "http://192.168.4.4:8090"
passHostHeader: true
# Remote Server Service Definitions (${REMOTE_SERVER_HOSTNAME})
dockge-${REMOTE_SERVER_HOSTNAME}:
# Remote Server Service Definitions (your-remote-server)
dockge-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:5001"
- url: "http://your.remote.ip.address:5001"
passHostHeader: true
dozzle-${REMOTE_SERVER_HOSTNAME}:
dozzle-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:8085"
- url: "http://your.remote.ip.address:8085"
passHostHeader: true
glances-${REMOTE_SERVER_HOSTNAME}:
glances-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:61208"
- url: "http://your.remote.ip.address:61208"
passHostHeader: true
backrest-${REMOTE_SERVER_HOSTNAME}:
backrest-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:9898"
- url: "http://your.remote.ip.address:9898"
passHostHeader: true
duplicati-${REMOTE_SERVER_HOSTNAME}:
duplicati-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:8200"
- url: "http://your.remote.ip.address:8200"
passHostHeader: true
homepage-${REMOTE_SERVER_HOSTNAME}:
homepage-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:3000"
- url: "http://your.remote.ip.address:3000"
passHostHeader: true
homarr-${REMOTE_SERVER_HOSTNAME}:
homarr-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:7575"
- url: "http://your.remote.ip.address:7575"
passHostHeader: true
grafana-${REMOTE_SERVER_HOSTNAME}:
grafana-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:3000"
- url: "http://your.remote.ip.address:3000"
passHostHeader: true
prometheus-${REMOTE_SERVER_HOSTNAME}:
prometheus-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:9090"
- url: "http://your.remote.ip.address:9090"
passHostHeader: true
uptime-kuma-${REMOTE_SERVER_HOSTNAME}:
uptime-kuma-your-remote-server:
loadbalancer:
servers:
- url: "http://${REMOTE_SERVER_IP}:3001"
- url: "http://your.remote.ip.address:3001"
passHostHeader: true
# Middleware Definitions

View File

@@ -3,16 +3,16 @@ http:
middlewares:
authelia:
forwardauth:
address: http://authelia:9091/api/verify?rd=https://auth.${DOMAIN}/
address: http://authelia:9091/api/verify?rd=https://auth.kelinreij.duckdns.org/
authResponseHeaders:
- X-Secret
trustForwardHeader: true
sablier-${SERVER_HOSTNAME}-arr:
sablier-jasper-arr:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-arr
group: jasper-arr
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -20,11 +20,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-backrest:
sablier-jasper-backrest:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-backrest
group: jasper-backrest
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -32,11 +32,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-vaultwarden:
sablier-jasper-vaultwarden:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-vaultwarden
group: jasper-vaultwarden
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -44,11 +44,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-bookstack:
sablier-jasper-bookstack:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-bookstack
group: jasper-bookstack
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -56,11 +56,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-calibre-web:
sablier-jasper-calibre-web:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-calibre-web
group: jasper-calibre-web
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -68,11 +68,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-code-server:
sablier-jasper-code-server:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-code-server
group: jasper-code-server
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -80,11 +80,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-dozzle:
sablier-jasper-dozzle:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-dozzle
group: jasper-dozzle
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -92,11 +92,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-dokuwiki:
sablier-jasper-dokuwiki:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-dokuwiki
group: jasper-dokuwiki
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -104,11 +104,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-duplicati:
sablier-jasper-duplicati:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-duplicati
group: jasper-duplicati
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -116,11 +116,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-assistant:
sablier-jasper-assistant:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-assistant
group: jasper-assistant
sessionDuration: 30m
ignoreUserAgent: curl
dynamic:
@@ -128,11 +128,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-formio:
sablier-jasper-formio:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-formio
group: jasper-formio
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -140,11 +140,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-gitea:
sablier-jasper-gitea:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-gitea
group: jasper-gitea
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -152,11 +152,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-glances:
sablier-jasper-glances:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-glances
group: jasper-glances
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -164,11 +164,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-homarr:
sablier-jasper-homarr:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-homarr
group: jasper-homarr
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -176,11 +176,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-jellyfin:
sablier-jasper-jellyfin:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-jellyfin
group: jasper-jellyfin
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -188,11 +188,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-jupyter:
sablier-jasper-jupyter:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-jupyter
group: jasper-jupyter
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -200,11 +200,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-komodo:
sablier-jasper-komodo:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-komodo
group: jasper-komodo
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -212,11 +212,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-kopia:
sablier-jasper-kopia:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-kopia
group: jasper-kopia
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -224,11 +224,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-mealie:
sablier-jasper-mealie:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-mealie
group: jasper-mealie
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -236,11 +236,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-mediawiki:
sablier-jasper-mediawiki:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-mediawiki
group: jasper-mediawiki
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -248,11 +248,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-nextcloud:
sablier-jasper-nextcloud:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-nextcloud
group: jasper-nextcloud
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -260,11 +260,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-openkm:
sablier-jasper-openkm:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-openkm
group: jasper-openkm
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -272,11 +272,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-openwebui:
sablier-jasper-openwebui:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-openwebui
group: jasper-openwebui
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -284,11 +284,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-pulse:
sablier-jasper-pulse:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-pulse
group: jasper-pulse
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -296,11 +296,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-tdarr:
sablier-jasper-tdarr:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-tdarr
group: jasper-tdarr
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -308,11 +308,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-unmanic:
sablier-jasper-unmanic:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-unmanic
group: jasper-unmanic
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -320,11 +320,11 @@ http:
theme: ghost
show-details-by-default: true
sablier-${SERVER_HOSTNAME}-wordpress:
sablier-jasper-wordpress:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${SERVER_HOSTNAME}-wordpress
group: jasper-wordpress
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
@@ -332,123 +332,123 @@ http:
theme: ghost
show-details-by-default: true
# Remote Server (${REMOTE_SERVER_HOSTNAME}) Sablier Middlewares
sablier-${REMOTE_SERVER_HOSTNAME}-dockge:
# Remote Server (your-remote-server) Sablier Middlewares
sablier-your-remote-server-dockge:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-dockge
group: your-remote-server-dockge
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Dockge (${REMOTE_SERVER_HOSTNAME})
displayName: Dockge (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-dozzle:
sablier-your-remote-server-dozzle:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-dozzle
group: your-remote-server-dozzle
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Dozzle (${REMOTE_SERVER_HOSTNAME})
displayName: Dozzle (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-glances:
sablier-your-remote-server-glances:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-glances
group: your-remote-server-glances
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Glances (${REMOTE_SERVER_HOSTNAME})
displayName: Glances (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-backrest:
sablier-your-remote-server-backrest:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-backrest
group: your-remote-server-backrest
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Backrest (${REMOTE_SERVER_HOSTNAME})
displayName: Backrest (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-duplicati:
sablier-your-remote-server-duplicati:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-duplicati
group: your-remote-server-duplicati
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Duplicati (${REMOTE_SERVER_HOSTNAME})
displayName: Duplicati (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-homepage:
sablier-your-remote-server-homepage:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-homepage
group: your-remote-server-homepage
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Homepage (${REMOTE_SERVER_HOSTNAME})
displayName: Homepage (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-homarr:
sablier-your-remote-server-homarr:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-homarr
group: your-remote-server-homarr
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Homarr (${REMOTE_SERVER_HOSTNAME})
displayName: Homarr (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-grafana:
sablier-your-remote-server-grafana:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-grafana
group: your-remote-server-grafana
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Grafana (${REMOTE_SERVER_HOSTNAME})
displayName: Grafana (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-prometheus:
sablier-your-remote-server-prometheus:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-prometheus
group: your-remote-server-prometheus
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Prometheus (${REMOTE_SERVER_HOSTNAME})
displayName: Prometheus (your-remote-server)
theme: ghost
show-details-by-default: true
sablier-${REMOTE_SERVER_HOSTNAME}-uptime-kuma:
sablier-your-remote-server-uptime-kuma:
plugin:
sablier:
sablierUrl: http://sablier-service:10000
group: ${REMOTE_SERVER_HOSTNAME}-uptime-kuma
group: your-remote-server-uptime-kuma
sessionDuration: 5m
ignoreUserAgent: curl
dynamic:
displayName: Uptime Kuma (${REMOTE_SERVER_HOSTNAME})
displayName: Uptime Kuma (your-remote-server)
theme: ghost
show-details-by-default: true

View File

@@ -27,7 +27,7 @@ entryPoints:
certificatesResolvers:
letsencrypt:
acme:
email: ${ACME_EMAIL} # Your email for Let's Encrypt notifications
email: kelinshomelab@gmail.com # Your email for Let's Encrypt notifications
caServer: https://acme-v02.api.letsencrypt.org/directory # Use staging for testing
storage: /letsencrypt/acme.json
# DNS challenge - For wildcard certificates (*.yourdomain.duckdns.org)