Fix multiserver deployment: domain in docker-provider and auto-disable remote Traefik

- Fix missing domain in docker provider defaultRule (use DOMAIN or DUCKDNS_DOMAIN)
- Add disable_traefik_on_remote_services() to strip routing labels from remote services
- Call disable function automatically during remote server deployment (Step 5.5)
- Remote services now properly accessed through core Traefik via docker provider
- Prevents errors: middleware/certresolver not found on remote Traefik

Resolves Traefik errors on remote servers where services had labels for
SSL/auth that only exist on core server.
This commit is contained in:
Kelin
2026-02-07 16:24:57 -05:00
parent 9fea40c8b5
commit 802a4d1ba0
2 changed files with 42 additions and 1 deletions

View File

@@ -245,6 +245,9 @@ generate_traefik_provider_config() {
return 1
fi
# Get domain from environment or use a default
local domain="${DOMAIN:-${DUCKDNS_DOMAIN}}"
cat > "$output_file" <<EOF
# Traefik Docker Provider for Remote Server: $server_hostname
# Auto-generated by EZ-Homelab
@@ -262,7 +265,7 @@ providers:
key: /shared-ca/key.pem
insecureSkipVerify: false
# Server-specific constraints
defaultRule: "Host(\`{{ normalize .Name }}.${DUCKDNS_DOMAIN}\`)"
defaultRule: "Host(\`{{ normalize .Name }}.${domain}\`)"
EOF
log_success "Generated Traefik provider config: $output_file"