refactor(routing): retire HOST_NAME — derive primary host from per-port subdomains
The static per-app CFG_<APP>_HOST_NAME is gone. host_setup (the app's canonical FQDN, feeding the legacy single DOMAINSUBNAME_DATA used by app env vars, the app URL and trusted-domains) is now derived from the app's primary Traefik port's subdomain: first recommended port, else first Traefik port; @/root -> apex, set -> sub.domain, empty -> app-name. Removes HOST_NAME from all app configs, the config-form field mapping (Hostname), the dead headscale stub, and wireguard.sh (now uses host_setup). Completes the move to dynamic per-port subdomain routing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
parent
b17ac3707e
commit
2e4f4202e1
@ -43,12 +43,10 @@ CFG_ADGUARD_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_ADGUARD_DOMAIN=1
|
CFG_ADGUARD_DOMAIN=1
|
||||||
CFG_ADGUARD_WHITELIST=false
|
CFG_ADGUARD_WHITELIST=false
|
||||||
CFG_ADGUARD_HOST_NAME=adguard
|
|
||||||
CFG_ADGUARD_NETWORK=default
|
CFG_ADGUARD_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -49,12 +49,10 @@ CFG_AUTHELIA_REQUIRES_SERVICE=traefik
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_AUTHELIA_DOMAIN=1
|
CFG_AUTHELIA_DOMAIN=1
|
||||||
CFG_AUTHELIA_WHITELIST=false
|
CFG_AUTHELIA_WHITELIST=false
|
||||||
CFG_AUTHELIA_HOST_NAME=authelia
|
|
||||||
CFG_AUTHELIA_NETWORK=default
|
CFG_AUTHELIA_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -47,12 +47,10 @@ CFG_BOOKSTACK_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_BOOKSTACK_DOMAIN=1
|
CFG_BOOKSTACK_DOMAIN=1
|
||||||
CFG_BOOKSTACK_WHITELIST=false
|
CFG_BOOKSTACK_WHITELIST=false
|
||||||
CFG_BOOKSTACK_HOST_NAME=bookstack
|
|
||||||
CFG_BOOKSTACK_NETWORK=default
|
CFG_BOOKSTACK_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_DASHY_ACTIONS="configure|install|restart|shutdown|uninstall|tools"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_DASHY_DOMAIN=1
|
CFG_DASHY_DOMAIN=1
|
||||||
CFG_DASHY_WHITELIST=false
|
CFG_DASHY_WHITELIST=false
|
||||||
CFG_DASHY_HOST_NAME=dashy
|
|
||||||
CFG_DASHY_NETWORK=default
|
CFG_DASHY_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_FOCALBOARD_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_FOCALBOARD_DOMAIN=1
|
CFG_FOCALBOARD_DOMAIN=1
|
||||||
CFG_FOCALBOARD_WHITELIST=false
|
CFG_FOCALBOARD_WHITELIST=false
|
||||||
CFG_FOCALBOARD_HOST_NAME=board
|
|
||||||
CFG_FOCALBOARD_NETWORK=default
|
CFG_FOCALBOARD_NETWORK=default
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -41,12 +41,10 @@ CFG_GITEA_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_GITEA_DOMAIN=1
|
CFG_GITEA_DOMAIN=1
|
||||||
CFG_GITEA_WHITELIST=false
|
CFG_GITEA_WHITELIST=false
|
||||||
CFG_GITEA_HOST_NAME=gitea
|
|
||||||
CFG_GITEA_NETWORK=default
|
CFG_GITEA_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -70,12 +70,10 @@ CFG_GLUETUN_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_GLUETUN_DOMAIN=1
|
CFG_GLUETUN_DOMAIN=1
|
||||||
CFG_GLUETUN_WHITELIST=false
|
CFG_GLUETUN_WHITELIST=false
|
||||||
CFG_GLUETUN_HOST_NAME=gluetun
|
|
||||||
CFG_GLUETUN_NETWORK=default
|
CFG_GLUETUN_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -42,12 +42,10 @@ CFG_GRAFANA_REQUIRES_SERVICE=prometheus
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_GRAFANA_DOMAIN=1
|
CFG_GRAFANA_DOMAIN=1
|
||||||
CFG_GRAFANA_WHITELIST=false
|
CFG_GRAFANA_WHITELIST=false
|
||||||
CFG_GRAFANA_HOST_NAME=grafana
|
|
||||||
CFG_GRAFANA_NETWORK=default
|
CFG_GRAFANA_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_HEADSCALE_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_HEADSCALE_DOMAIN=1
|
CFG_HEADSCALE_DOMAIN=1
|
||||||
CFG_HEADSCALE_WHITELIST=false
|
CFG_HEADSCALE_WHITELIST=false
|
||||||
CFG_HEADSCALE_HOST_NAME=headscale
|
|
||||||
CFG_HEADSCALE_NETWORK=default
|
CFG_HEADSCALE_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -40,12 +40,10 @@ CFG_INVIDIOUS_ACTIONS="configure|install|restart|shutdown|uninstall|tools"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_INVIDIOUS_DOMAIN=1
|
CFG_INVIDIOUS_DOMAIN=1
|
||||||
CFG_INVIDIOUS_WHITELIST=false
|
CFG_INVIDIOUS_WHITELIST=false
|
||||||
CFG_INVIDIOUS_HOST_NAME=invidious
|
|
||||||
CFG_INVIDIOUS_NETWORK=default
|
CFG_INVIDIOUS_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_IPINFO_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_IPINFO_DOMAIN=1
|
CFG_IPINFO_DOMAIN=1
|
||||||
CFG_IPINFO_WHITELIST=false
|
CFG_IPINFO_WHITELIST=false
|
||||||
CFG_IPINFO_HOST_NAME=ipinfo
|
|
||||||
CFG_IPINFO_NETWORK=default
|
CFG_IPINFO_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_JELLYFIN_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_JELLYFIN_DOMAIN=1
|
CFG_JELLYFIN_DOMAIN=1
|
||||||
CFG_JELLYFIN_WHITELIST=false
|
CFG_JELLYFIN_WHITELIST=false
|
||||||
CFG_JELLYFIN_HOST_NAME=jellyfin
|
|
||||||
CFG_JELLYFIN_NETWORK=default
|
CFG_JELLYFIN_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_JITSIMEET_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
#
|
#
|
||||||
CFG_JITSIMEET_DOMAIN=1
|
CFG_JITSIMEET_DOMAIN=1
|
||||||
CFG_JITSIMEET_WHITELIST=false
|
CFG_JITSIMEET_WHITELIST=false
|
||||||
CFG_JITSIMEET_HOST_NAME=meet
|
|
||||||
CFG_JITSIMEET_NETWORK=default
|
CFG_JITSIMEET_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -39,12 +39,10 @@ CFG_LIBREPORTAL_ACTIONS="configure|install|restart|shutdown|tools"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_LIBREPORTAL_DOMAIN=1
|
CFG_LIBREPORTAL_DOMAIN=1
|
||||||
CFG_LIBREPORTAL_WHITELIST=false
|
CFG_LIBREPORTAL_WHITELIST=false
|
||||||
CFG_LIBREPORTAL_HOST_NAME=libreportal
|
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# PORT CONFIGURATION
|
# PORT CONFIGURATION
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_LINKDING_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_LINKDING_DOMAIN=1
|
CFG_LINKDING_DOMAIN=1
|
||||||
CFG_LINKDING_WHITELIST=false
|
CFG_LINKDING_WHITELIST=false
|
||||||
CFG_LINKDING_HOST_NAME=bookmark
|
|
||||||
CFG_LINKDING_NETWORK=default
|
CFG_LINKDING_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_MASTODON_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_MASTODON_DOMAIN=1
|
CFG_MASTODON_DOMAIN=1
|
||||||
CFG_MASTODON_WHITELIST=false
|
CFG_MASTODON_WHITELIST=false
|
||||||
CFG_MASTODON_HOST_NAME=social
|
|
||||||
CFG_MASTODON_NETWORK=default
|
CFG_MASTODON_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -40,12 +40,10 @@ CFG_MONEYAPP_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all
|
||||||
# NETWORK = default | gluetun (route outbound traffic through the VPN gateway)
|
# NETWORK = default | gluetun (route outbound traffic through the VPN gateway)
|
||||||
#
|
#
|
||||||
CFG_MONEYAPP_DOMAIN=1
|
CFG_MONEYAPP_DOMAIN=1
|
||||||
CFG_MONEYAPP_HOST_NAME=moneyapp
|
|
||||||
CFG_MONEYAPP_WHITELIST=false
|
CFG_MONEYAPP_WHITELIST=false
|
||||||
CFG_MONEYAPP_NETWORK=default
|
CFG_MONEYAPP_NETWORK=default
|
||||||
#
|
#
|
||||||
|
|||||||
@ -49,12 +49,10 @@ CFG_NEXTCLOUD_ACTIONS="configure|install|restart|shutdown|uninstall|tools"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_NEXTCLOUD_DOMAIN=1
|
CFG_NEXTCLOUD_DOMAIN=1
|
||||||
CFG_NEXTCLOUD_WHITELIST=false
|
CFG_NEXTCLOUD_WHITELIST=false
|
||||||
CFG_NEXTCLOUD_HOST_NAME=nextcloud
|
|
||||||
CFG_NEXTCLOUD_NETWORK=default
|
CFG_NEXTCLOUD_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -44,7 +44,6 @@ CFG_OLLAMA_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
#
|
#
|
||||||
CFG_OLLAMA_DOMAIN=1
|
CFG_OLLAMA_DOMAIN=1
|
||||||
CFG_OLLAMA_WHITELIST=false
|
CFG_OLLAMA_WHITELIST=false
|
||||||
CFG_OLLAMA_HOST_NAME=ollama
|
|
||||||
CFG_OLLAMA_NETWORK=default
|
CFG_OLLAMA_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -42,7 +42,6 @@ CFG_ONLYOFFICE_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
#
|
#
|
||||||
CFG_ONLYOFFICE_DOMAIN=1
|
CFG_ONLYOFFICE_DOMAIN=1
|
||||||
CFG_ONLYOFFICE_WHITELIST=false
|
CFG_ONLYOFFICE_WHITELIST=false
|
||||||
CFG_ONLYOFFICE_HOST_NAME=onlyoffice
|
|
||||||
CFG_ONLYOFFICE_NETWORK=default
|
CFG_ONLYOFFICE_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -52,7 +52,6 @@ CFG_OWNCLOUD_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
#
|
#
|
||||||
CFG_OWNCLOUD_DOMAIN=1
|
CFG_OWNCLOUD_DOMAIN=1
|
||||||
CFG_OWNCLOUD_WHITELIST=false
|
CFG_OWNCLOUD_WHITELIST=false
|
||||||
CFG_OWNCLOUD_HOST_NAME=cloud
|
|
||||||
CFG_OWNCLOUD_NETWORK=default
|
CFG_OWNCLOUD_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -48,12 +48,10 @@ CFG_PIHOLE_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_PIHOLE_DOMAIN=1
|
CFG_PIHOLE_DOMAIN=1
|
||||||
CFG_PIHOLE_WHITELIST=false
|
CFG_PIHOLE_WHITELIST=false
|
||||||
CFG_PIHOLE_HOST_NAME=pihole
|
|
||||||
CFG_PIHOLE_NETWORK=default
|
CFG_PIHOLE_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_PROMETHEUS_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_PROMETHEUS_DOMAIN=1
|
CFG_PROMETHEUS_DOMAIN=1
|
||||||
CFG_PROMETHEUS_WHITELIST=false
|
CFG_PROMETHEUS_WHITELIST=false
|
||||||
CFG_PROMETHEUS_HOST_NAME=prometheus
|
|
||||||
CFG_PROMETHEUS_NETWORK=default
|
CFG_PROMETHEUS_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -44,12 +44,10 @@ CFG_SEARXNG_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_SEARXNG_DOMAIN=1
|
CFG_SEARXNG_DOMAIN=1
|
||||||
CFG_SEARXNG_WHITELIST=false
|
CFG_SEARXNG_WHITELIST=false
|
||||||
CFG_SEARXNG_HOST_NAME=search
|
|
||||||
CFG_SEARXNG_NETWORK=default
|
CFG_SEARXNG_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -45,12 +45,10 @@ CFG_SPEEDTEST_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_SPEEDTEST_DOMAIN=1
|
CFG_SPEEDTEST_DOMAIN=1
|
||||||
CFG_SPEEDTEST_WHITELIST=false
|
CFG_SPEEDTEST_WHITELIST=false
|
||||||
CFG_SPEEDTEST_HOST_NAME=speedtest
|
|
||||||
CFG_SPEEDTEST_NETWORK=default
|
CFG_SPEEDTEST_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -58,12 +58,10 @@ CFG_TRAEFIK_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_TRAEFIK_DOMAIN=1
|
CFG_TRAEFIK_DOMAIN=1
|
||||||
CFG_TRAEFIK_WHITELIST=false
|
CFG_TRAEFIK_WHITELIST=false
|
||||||
CFG_TRAEFIK_HOST_NAME=traefik
|
|
||||||
CFG_TRAEFIK_NETWORK=default
|
CFG_TRAEFIK_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -37,12 +37,10 @@ CFG_TRILIUM_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_TRILIUM_DOMAIN=1
|
CFG_TRILIUM_DOMAIN=1
|
||||||
CFG_TRILIUM_WHITELIST=false
|
CFG_TRILIUM_WHITELIST=false
|
||||||
CFG_TRILIUM_HOST_NAME=notes
|
|
||||||
CFG_TRILIUM_NETWORK=default
|
CFG_TRILIUM_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -39,12 +39,10 @@ CFG_UNBOUND_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_UNBOUND_DOMAIN=1
|
CFG_UNBOUND_DOMAIN=1
|
||||||
CFG_UNBOUND_WHITELIST=false
|
CFG_UNBOUND_WHITELIST=false
|
||||||
CFG_UNBOUND_HOST_NAME=unbound
|
|
||||||
CFG_UNBOUND_NETWORK=default
|
CFG_UNBOUND_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -48,12 +48,10 @@ CFG_VAULTWARDEN_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_VAULTWARDEN_DOMAIN=1
|
CFG_VAULTWARDEN_DOMAIN=1
|
||||||
CFG_VAULTWARDEN_WHITELIST=false
|
CFG_VAULTWARDEN_WHITELIST=false
|
||||||
CFG_VAULTWARDEN_HOST_NAME=vault
|
|
||||||
CFG_VAULTWARDEN_NETWORK=default
|
CFG_VAULTWARDEN_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -51,12 +51,10 @@ CFG_WIREGUARD_ACTIONS="configure|install|restart|shutdown|uninstall"
|
|||||||
# NETWORK CONFIGURATION
|
# NETWORK CONFIGURATION
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
# DOMAIN = number of domain from the general config, useful when using multiple domains
|
||||||
# HOST_NAME = subdomain name e.g test is the name for test.website.com
|
|
||||||
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
# WHITELIST = if true only allow whitelisted ips on traefik, if false allow all
|
||||||
#
|
#
|
||||||
CFG_WIREGUARD_DOMAIN=1
|
CFG_WIREGUARD_DOMAIN=1
|
||||||
CFG_WIREGUARD_WHITELIST=false
|
CFG_WIREGUARD_WHITELIST=false
|
||||||
CFG_WIREGUARD_HOST_NAME=wireguard
|
|
||||||
CFG_WIREGUARD_NETWORK=default
|
CFG_WIREGUARD_NETWORK=default
|
||||||
#
|
#
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@ -96,7 +96,7 @@ installWireguard()
|
|||||||
_wg_traefik_installed=1
|
_wg_traefik_installed=1
|
||||||
fi
|
fi
|
||||||
if [[ -n "$domain_full" && $_wg_traefik_installed -eq 1 ]]; then
|
if [[ -n "$domain_full" && $_wg_traefik_installed -eq 1 ]]; then
|
||||||
wg_host_value="${CFG_WIREGUARD_HOST_NAME:-wireguard}.${domain_full}"
|
wg_host_value="$host_setup"
|
||||||
isNotice "Domain + Traefik present — peer configs will use $wg_host_value"
|
isNotice "Domain + Traefik present — peer configs will use $wg_host_value"
|
||||||
else
|
else
|
||||||
wg_host_value="${public_ip_v4:-127.0.0.1}"
|
wg_host_value="${public_ip_v4:-127.0.0.1}"
|
||||||
|
|||||||
@ -12,14 +12,13 @@ setupHeadscaleVariables()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Build variable names based on app_name
|
# Build variable names based on app_name
|
||||||
headscale_host_name_var="CFG_${app_name^^}_HOST_NAME"
|
|
||||||
headscale_domain_var="CFG_${app_name^^}_DOMAIN"
|
headscale_domain_var="CFG_${app_name^^}_DOMAIN"
|
||||||
headscale_setup_var="CFG_${app_name^^}_HEADSCALE"
|
headscale_setup_var="CFG_${app_name^^}_HEADSCALE"
|
||||||
|
|
||||||
# Access the variables using variable indirection
|
# Access the variables using variable indirection
|
||||||
headscale_host_name="${!headscale_host_name_var}"
|
|
||||||
headscale_domain="${!headscale_domain_var}"
|
headscale_domain="${!headscale_domain_var}"
|
||||||
headscale_setup="${!headscale_setup_var}"
|
headscale_setup="${!headscale_setup_var}"
|
||||||
|
# (HOST_NAME read dropped in the per-port subdomain refactor — it was unused.)
|
||||||
|
|
||||||
# UNFINISHED
|
# UNFINISHED
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,6 @@ initializeAppVariables()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Build variable names based on app_name
|
# Build variable names based on app_name
|
||||||
host_name_var="CFG_${app_name^^}_HOST_NAME"
|
|
||||||
compose_setup_var="CFG_${app_name^^}_COMPOSE_FILE"
|
compose_setup_var="CFG_${app_name^^}_COMPOSE_FILE"
|
||||||
domain_var="CFG_${app_name^^}_DOMAIN"
|
domain_var="CFG_${app_name^^}_DOMAIN"
|
||||||
whitelist_var="CFG_${app_name^^}_WHITELIST"
|
whitelist_var="CFG_${app_name^^}_WHITELIST"
|
||||||
@ -24,7 +23,6 @@ initializeAppVariables()
|
|||||||
app_title_var="CFG_${app_name^^}_TITLE"
|
app_title_var="CFG_${app_name^^}_TITLE"
|
||||||
|
|
||||||
# Access the variables using variable indirection
|
# Access the variables using variable indirection
|
||||||
host_name="${!host_name_var}"
|
|
||||||
compose_setup="${!compose_setup_var}"
|
compose_setup="${!compose_setup_var}"
|
||||||
domain="${!domain_var}"
|
domain="${!domain_var}"
|
||||||
whitelist="${!whitelist_var}"
|
whitelist="${!whitelist_var}"
|
||||||
@ -35,18 +33,10 @@ initializeAppVariables()
|
|||||||
app_title="${!app_title_var}"
|
app_title="${!app_title_var}"
|
||||||
domain_var_name="CFG_DOMAIN_${domain}"
|
domain_var_name="CFG_DOMAIN_${domain}"
|
||||||
domain_full="${!domain_var_name}"
|
domain_full="${!domain_var_name}"
|
||||||
# FQDN for this app's Traefik Host() rule (also feeds the app URL and
|
|
||||||
# trusted-domains):
|
|
||||||
# HOST_NAME="@" or "root" -> <domain> (apex / root of domain)
|
|
||||||
# HOST_NAME set -> <HOST_NAME>.<domain> (custom subdomain)
|
|
||||||
# HOST_NAME empty -> <app_name>.<domain> (fallback default)
|
|
||||||
if [[ "$host_name" == "@" || "$host_name" == "root" ]]; then
|
|
||||||
host_setup="${domain_full}"
|
|
||||||
else
|
|
||||||
host_setup="${host_name:-$app_name}.${domain_full}"
|
|
||||||
fi
|
|
||||||
ssl_key=${domain_full}.key
|
ssl_key=${domain_full}.key
|
||||||
ssl_crt=${domain_full}.crt
|
ssl_crt=${domain_full}.crt
|
||||||
|
# host_setup (the app's primary/canonical FQDN) is derived from the primary
|
||||||
|
# Traefik port's subdomain, computed after the port arrays are parsed below.
|
||||||
|
|
||||||
# Port configuration variables
|
# Port configuration variables
|
||||||
port_config_vars=()
|
port_config_vars=()
|
||||||
@ -164,4 +154,24 @@ initializeAppVariables()
|
|||||||
for _t in "${port_traefik_managed[@]}"; do
|
for _t in "${port_traefik_managed[@]}"; do
|
||||||
[[ "$_t" == "true" ]] && { public="true"; break; }
|
[[ "$_t" == "true" ]] && { public="true"; break; }
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Primary/canonical host for this app: its first recommended Traefik port,
|
||||||
|
# else its first Traefik port. Feeds the legacy single DOMAINSUBNAME_DATA
|
||||||
|
# (app env vars), the app URL, and trusted-domains. Mirrors the per-port
|
||||||
|
# host rule (@/root -> apex, set -> sub.domain, empty -> app-name).
|
||||||
|
host_setup="${app_name}.${domain_full}"
|
||||||
|
local _i _primary=-1
|
||||||
|
for ((_i = 0; _i < ${#port_service_names[@]}; _i++)); do
|
||||||
|
[[ "${port_traefik_managed[$_i]}" == "true" ]] || continue
|
||||||
|
if [[ "${port_recommendeds[$_i]}" == "true" ]]; then _primary=$_i; break; fi
|
||||||
|
[[ $_primary -lt 0 ]] && _primary=$_i
|
||||||
|
done
|
||||||
|
if [[ $_primary -ge 0 ]]; then
|
||||||
|
local _sub="${port_subdomains[$_primary]}"
|
||||||
|
if [[ "$_sub" == "@" || "$_sub" == "root" ]]; then
|
||||||
|
host_setup="${domain_full}"
|
||||||
|
elif [[ -n "$_sub" ]]; then
|
||||||
|
host_setup="${_sub}.${domain_full}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
@ -79,13 +79,6 @@ webuiCreateAppFieldMappings() {
|
|||||||
"nonEditable": true,
|
"nonEditable": true,
|
||||||
"displayInfo": true
|
"displayInfo": true
|
||||||
},
|
},
|
||||||
"HOST_NAME": {
|
|
||||||
"category": "network",
|
|
||||||
"label": "Hostname",
|
|
||||||
"type": "text",
|
|
||||||
"tooltip": "Subdomain this app is served on — e.g. myapp becomes myapp.yourdomain.com. Use @ to serve it on the root of your domain (yourdomain.com itself).",
|
|
||||||
"placeholder": "myapp · @ = root domain"
|
|
||||||
},
|
|
||||||
"DOMAIN": {
|
"DOMAIN": {
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"label": "Domain",
|
"label": "Domain",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user