feat: Update Sablier configs for debian hostname and reorganize .env.example
- Change Traefik configs to use ${SERVER_HOSTNAME} placeholder (defaults to debian)
- Update ez-homelab.sh to replace SERVER_HOSTNAME in config templates
- Set Sablier session duration to 5m for testing (increase to 30m for production)
- Add SERVER_HOSTNAME prompt and saving in setup script
- Reorganize .env.example with better structure and SMTP variables
- Add production guidance comments to docker-compose files
- Intentional SMTP variable redundancy for service flexibility
This commit is contained in:
@@ -1,535 +1,535 @@
|
||||
http:
|
||||
routers:
|
||||
backrest-jarvis:
|
||||
backrest-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`backrest.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: backrest-jarvis
|
||||
service: backrest-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-backrest@file
|
||||
- sablier-${SERVER_HOSTNAME}-backrest@file
|
||||
- authelia@docker
|
||||
|
||||
bookstack-jarvis:
|
||||
bookstack-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`bookstack.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: bookstack-jarvis
|
||||
service: bookstack-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-bookstack@file
|
||||
- sablier-${SERVER_HOSTNAME}-bookstack@file
|
||||
- authelia@docker
|
||||
|
||||
bitwarden-jarvis:
|
||||
bitwarden-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`bitwarden.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: bitwarden-jarvis
|
||||
service: bitwarden-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-bitwarden@file
|
||||
- sablier-${SERVER_HOSTNAME}-bitwarden@file
|
||||
- authelia@docker
|
||||
|
||||
calibre-web-jarvis:
|
||||
calibre-web-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`calibre.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: calibre-web-jarvis
|
||||
service: calibre-web-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-calibre-web@file
|
||||
- sablier-${SERVER_HOSTNAME}-calibre-web@file
|
||||
- authelia@docker
|
||||
|
||||
code-jarvis:
|
||||
code-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`code.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: code-jarvis
|
||||
service: code-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-code-server@file
|
||||
- sablier-${SERVER_HOSTNAME}-code-server@file
|
||||
- authelia@docker
|
||||
|
||||
dockge-jarvis:
|
||||
dockge-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`jarvis.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: dockge-jarvis
|
||||
service: dockge-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- authelia@docker
|
||||
|
||||
dockhand-jarvis:
|
||||
dockhand-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`dockhand.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: dockhand-jarvis
|
||||
service: dockhand-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- authelia@docker
|
||||
|
||||
dokuwiki-jarvis:
|
||||
dokuwiki-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`dokuwiki.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: dokuwiki-jarvis
|
||||
service: dokuwiki-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-dokuwiki@file
|
||||
- sablier-${SERVER_HOSTNAME}-dokuwiki@file
|
||||
- authelia@docker
|
||||
|
||||
dozzle-jarvis:
|
||||
dozzle-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`dozzle.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: dozzle-jarvis
|
||||
service: dozzle-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-dozzle@file
|
||||
- sablier-${SERVER_HOSTNAME}-dozzle@file
|
||||
- authelia@docker
|
||||
|
||||
duplicati-jarvis:
|
||||
duplicati-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`duplicati.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: duplicati-jarvis
|
||||
service: duplicati-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-duplicati@file
|
||||
- sablier-${SERVER_HOSTNAME}-duplicati@file
|
||||
- authelia@docker
|
||||
|
||||
formio-jarvis:
|
||||
formio-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`formio.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: formio-jarvis
|
||||
service: formio-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-formio@file
|
||||
- sablier-${SERVER_HOSTNAME}-formio@file
|
||||
- authelia@docker
|
||||
|
||||
gitea-jarvis:
|
||||
gitea-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`gitea.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: gitea-jarvis
|
||||
service: gitea-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-gitea@file
|
||||
- sablier-${SERVER_HOSTNAME}-gitea@file
|
||||
- authelia@docker
|
||||
|
||||
glances-jarvis:
|
||||
glances-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`glances.jarvis.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: glances-jarvis
|
||||
service: glances-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-glances@file
|
||||
- sablier-${SERVER_HOSTNAME}-glances@file
|
||||
- authelia@docker
|
||||
|
||||
homepage-jarvis:
|
||||
homepage-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`homepage.jarvis.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: homepage-jarvis
|
||||
service: homepage-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- authelia@docker
|
||||
|
||||
homarr-jarvis:
|
||||
homarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`homarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: homarr-jarvis
|
||||
service: homarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- authelia@docker
|
||||
- sablier-jarvis-homarr@file
|
||||
- sablier-${SERVER_HOSTNAME}-homarr@file
|
||||
|
||||
jellyfin-jarvis:
|
||||
jellyfin-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`jellyfin.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: jellyfin-jarvis
|
||||
service: jellyfin-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-jellyfin@file
|
||||
- sablier-${SERVER_HOSTNAME}-jellyfin@file
|
||||
# No authelia middleware for media apps
|
||||
|
||||
kopia-jarvis:
|
||||
kopia-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`kopia.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: kopia-jarvis
|
||||
service: kopia-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-kopia@file
|
||||
- sablier-${SERVER_HOSTNAME}-kopia@file
|
||||
- authelia@docker
|
||||
|
||||
mealie-jarvis:
|
||||
mealie-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`mealie.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: mealie-jarvis
|
||||
service: mealie-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-mealie@file
|
||||
- sablier-${SERVER_HOSTNAME}-mealie@file
|
||||
- authelia@docker
|
||||
|
||||
motioneye-jarvis:
|
||||
motioneye-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`motioneye.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: motioneye-jarvis
|
||||
service: motioneye-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- authelia@docker
|
||||
|
||||
mediawiki-jarvis:
|
||||
mediawiki-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`mediawiki.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: mediawiki-jarvis
|
||||
service: mediawiki-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-mediawiki@file
|
||||
- sablier-${SERVER_HOSTNAME}-mediawiki@file
|
||||
- authelia@docker
|
||||
|
||||
nextcloud-jarvis:
|
||||
nextcloud-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`nextcloud.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: nextcloud-jarvis
|
||||
service: nextcloud-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-nextcloud@file
|
||||
- sablier-${SERVER_HOSTNAME}-nextcloud@file
|
||||
- authelia@docker
|
||||
|
||||
openkm-jarvis:
|
||||
openkm-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`openkm.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: openkm-jarvis
|
||||
service: openkm-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-openkm@file
|
||||
- sablier-${SERVER_HOSTNAME}-openkm@file
|
||||
- authelia@docker
|
||||
|
||||
openwebui-jarvis:
|
||||
openwebui-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`openwebui.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: openwebui-jarvis
|
||||
service: openwebui-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-openwebui@file
|
||||
- sablier-${SERVER_HOSTNAME}-openwebui@file
|
||||
- authelia@docker
|
||||
|
||||
qbittorrent-jarvis:
|
||||
qbittorrent-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`torrents.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: qbittorrent-jarvis
|
||||
service: qbittorrent-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
tdarr-jarvis:
|
||||
tdarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`tdarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: tdarr-jarvis
|
||||
service: tdarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
unmanic-jarvis:
|
||||
unmanic-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`unmanic.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: unmanic-jarvis
|
||||
service: unmanic-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-unmanic@file
|
||||
- sablier-${SERVER_HOSTNAME}-unmanic@file
|
||||
- authelia@docker
|
||||
|
||||
wordpress-jarvis:
|
||||
wordpress-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`knot-u.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: wordpress-jarvis
|
||||
service: wordpress-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-wordpress@file
|
||||
- sablier-${SERVER_HOSTNAME}-wordpress@file
|
||||
- authelia@file
|
||||
|
||||
# Arr Services (no SSO for media apps)
|
||||
|
||||
jellyseerr-jarvis:
|
||||
jellyseerr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`jellyseerr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: jellyseerr-jarvis
|
||||
service: jellyseerr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
prowlarr-jarvis:
|
||||
prowlarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`prowlarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: prowlarr-jarvis
|
||||
service: prowlarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
radarr-jarvis:
|
||||
radarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`radarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: radarr-jarvis
|
||||
service: radarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
sonarr-jarvis:
|
||||
sonarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`sonarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: sonarr-jarvis
|
||||
service: sonarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
lidarr-jarvis:
|
||||
lidarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`lidarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: lidarr-jarvis
|
||||
service: lidarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
readarr-jarvis:
|
||||
readarr-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`readarr.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: readarr-jarvis
|
||||
service: readarr-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
mylar3-jarvis:
|
||||
mylar3-${SERVER_HOSTNAME}:
|
||||
rule: "Host(`mylar3.${DOMAIN}`)"
|
||||
entryPoints:
|
||||
- websecure
|
||||
service: mylar3-jarvis
|
||||
service: mylar3-${SERVER_HOSTNAME}
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
middlewares:
|
||||
- sablier-jarvis-arr@file
|
||||
- sablier-${SERVER_HOSTNAME}-arr@file
|
||||
- authelia@docker
|
||||
|
||||
services:
|
||||
backrest-jarvis:
|
||||
backrest-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:9898"
|
||||
passHostHeader: true
|
||||
|
||||
bitwarden-jarvis:
|
||||
bitwarden-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8000"
|
||||
passHostHeader: true
|
||||
|
||||
bookstack-jarvis:
|
||||
bookstack-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:6875"
|
||||
passHostHeader: true
|
||||
|
||||
calibre-web-jarvis:
|
||||
calibre-web-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8083"
|
||||
passHostHeader: true
|
||||
|
||||
code-jarvis:
|
||||
code-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8079"
|
||||
passHostHeader: true
|
||||
|
||||
dockge-jarvis:
|
||||
dockge-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:5001"
|
||||
passHostHeader: true
|
||||
|
||||
dockhand-jarvis:
|
||||
dockhand-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:3003"
|
||||
passHostHeader: true
|
||||
|
||||
dokuwiki-jarvis:
|
||||
dokuwiki-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8087"
|
||||
passHostHeader: true
|
||||
|
||||
dozzle-jarvis:
|
||||
dozzle-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8085"
|
||||
passHostHeader: true
|
||||
|
||||
duplicati-jarvis:
|
||||
duplicati-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8200"
|
||||
passHostHeader: true
|
||||
|
||||
formio-jarvis:
|
||||
formio-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:3002"
|
||||
passHostHeader: true
|
||||
|
||||
gitea-jarvis:
|
||||
gitea-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:3010"
|
||||
passHostHeader: true
|
||||
|
||||
glances-jarvis:
|
||||
glances-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:61208"
|
||||
passHostHeader: true
|
||||
|
||||
homarr-jarvis:
|
||||
homarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:7575"
|
||||
passHostHeader: true
|
||||
|
||||
homepage-jarvis:
|
||||
homepage-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:3000"
|
||||
passHostHeader: true
|
||||
|
||||
jellyfin-jarvis:
|
||||
jellyfin-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8096"
|
||||
passHostHeader: true
|
||||
|
||||
kopia-jarvis:
|
||||
kopia-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:51515"
|
||||
passHostHeader: true
|
||||
|
||||
mealie-jarvis:
|
||||
mealie-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:9000"
|
||||
passHostHeader: true
|
||||
|
||||
mediawiki-jarvis:
|
||||
mediawiki-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8084"
|
||||
passHostHeader: true
|
||||
|
||||
motioneye-jarvis:
|
||||
motioneye-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8081"
|
||||
passHostHeader: true
|
||||
|
||||
nextcloud-jarvis:
|
||||
nextcloud-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8089"
|
||||
passHostHeader: true
|
||||
|
||||
openkm-jarvis:
|
||||
openkm-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:18080"
|
||||
passHostHeader: true
|
||||
|
||||
openwebui-jarvis:
|
||||
openwebui-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:3000"
|
||||
passHostHeader: true
|
||||
|
||||
qbittorrent-jarvis:
|
||||
qbittorrent-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8080"
|
||||
passHostHeader: true
|
||||
|
||||
tdarr-jarvis:
|
||||
tdarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8265"
|
||||
passHostHeader: true
|
||||
|
||||
unmanic-jarvis:
|
||||
unmanic-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8888"
|
||||
passHostHeader: true
|
||||
|
||||
wordpress-jarvis:
|
||||
wordpress-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8088"
|
||||
@@ -537,43 +537,43 @@ http:
|
||||
|
||||
# Arr Services
|
||||
|
||||
jellyseerr-jarvis:
|
||||
jellyseerr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:5055"
|
||||
passHostHeader: true
|
||||
|
||||
prowlarr-jarvis:
|
||||
prowlarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:9696"
|
||||
passHostHeader: true
|
||||
|
||||
radarr-jarvis:
|
||||
radarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:7878"
|
||||
passHostHeader: true
|
||||
|
||||
sonarr-jarvis:
|
||||
sonarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8989"
|
||||
passHostHeader: true
|
||||
|
||||
lidarr-jarvis:
|
||||
lidarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8686"
|
||||
passHostHeader: true
|
||||
|
||||
readarr-jarvis:
|
||||
readarr-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8787"
|
||||
passHostHeader: true
|
||||
|
||||
mylar3-jarvis:
|
||||
mylar3-${SERVER_HOSTNAME}:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.4.11:8090"
|
||||
|
||||
@@ -1,215 +1,216 @@
|
||||
# Session duration set to 5m for testing. Increase to 30m for production.
|
||||
http:
|
||||
middlewares:
|
||||
sablier-debian-arr:
|
||||
sablier-${SERVER_HOSTNAME}-arr:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-arr
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-arr
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Arr Apps
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-backrest:
|
||||
sablier-${SERVER_HOSTNAME}-backrest:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-backrest
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-backrest
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Backrest
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-bookstack:
|
||||
sablier-${SERVER_HOSTNAME}-bookstack:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-bookstack
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-bookstack
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Bookstack
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-jellyfin:
|
||||
sablier-${SERVER_HOSTNAME}-jellyfin:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-jellyfin
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-jellyfin
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Jellyfin
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-calibre-web:
|
||||
sablier-${SERVER_HOSTNAME}-calibre-web:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-calibre-web
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-calibre-web
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Calibre Web
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-code-server:
|
||||
sablier-${SERVER_HOSTNAME}-code-server:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-code-server
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-code-server
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Code Server
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-bitwarden:
|
||||
sablier-${SERVER_HOSTNAME}-bitwarden:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-bitwarden
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-bitwarden
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: bitwarden
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-wordpress:
|
||||
sablier-${SERVER_HOSTNAME}-wordpress:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-wordpress
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-wordpress
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: wordpress
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-nextcloud:
|
||||
sablier-${SERVER_HOSTNAME}-nextcloud:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-nextcloud
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-nextcloud
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: NextCloud
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-mediawiki:
|
||||
sablier-${SERVER_HOSTNAME}-mediawiki:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-mediawiki
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-mediawiki
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: mediawiki
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-mealie:
|
||||
sablier-${SERVER_HOSTNAME}-mealie:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-mealie
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-mealie
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Mealie
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-gitea:
|
||||
sablier-${SERVER_HOSTNAME}-gitea:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-gitea
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-gitea
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Gitea
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-formio:
|
||||
sablier-${SERVER_HOSTNAME}-formio:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-formio
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-formio
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: FormIO
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-dozzle:
|
||||
sablier-${SERVER_HOSTNAME}-dozzle:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-dozzle
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-dozzle
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: dozzle
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-duplicati:
|
||||
sablier-${SERVER_HOSTNAME}-duplicati:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-duplicati
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-duplicati
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Duplicati
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-glances:
|
||||
sablier-${SERVER_HOSTNAME}-glances:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-glances
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-glances
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Glances
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-homarr:
|
||||
sablier-${SERVER_HOSTNAME}-homarr:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-homarr
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-homarr
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Homarr
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-komodo:
|
||||
sablier-${SERVER_HOSTNAME}-komodo:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-komodo
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-komodo
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Komodo
|
||||
@@ -217,84 +218,84 @@ http:
|
||||
show-details-by-default: true
|
||||
|
||||
|
||||
sablier-debian-kopia:
|
||||
sablier-${SERVER_HOSTNAME}-kopia:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-kopia
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-kopia
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Kopia
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-openkm:
|
||||
sablier-${SERVER_HOSTNAME}-openkm:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-openkm
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-openkm
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: OpenKM
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-openwebui:
|
||||
sablier-${SERVER_HOSTNAME}-openwebui:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-openwebui
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-openwebui
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: OpenWebUI
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-pulse:
|
||||
sablier-${SERVER_HOSTNAME}-pulse:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-pulse
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-pulse
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Pulse
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-tdarr:
|
||||
sablier-${SERVER_HOSTNAME}-tdarr:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-tdarr
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-tdarr
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Tdarr
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-unmanic:
|
||||
sablier-${SERVER_HOSTNAME}-unmanic:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-unmanic
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-unmanic
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: Unmanic
|
||||
theme: ghost
|
||||
show-details-by-default: true
|
||||
|
||||
sablier-debian-dokuwiki:
|
||||
sablier-${SERVER_HOSTNAME}-dokuwiki:
|
||||
plugin:
|
||||
sablier:
|
||||
sablierUrl: http://sablier-service:10000
|
||||
group: debian-dokuwiki
|
||||
sessionDuration: 30m
|
||||
group: ${SERVER_HOSTNAME}-dokuwiki
|
||||
sessionDuration: 5m
|
||||
ignoreUserAgent: curl
|
||||
dynamic:
|
||||
displayName: DokuWiki
|
||||
|
||||
Reference in New Issue
Block a user