Fix remote server Traefik configuration
- Add ports 80/443 to remote Traefik template - Enable API access (insecure=true) for debugging - Update configure_remote_server_routing to use HTTP-only config - Change entrypoint from websecure to web - Remove TLS cert resolver references - Remove authelia middleware references - Replace Docker TLS provider with manual HTTP routes - Core Traefik now uses file provider with direct URLs - Fixes 404/gateway timeout errors on remote services - Routes HTTPS from core to HTTP on remote servers - Fix port in routes (dozzle uses 8085, not 8082) Resolves issues with remote server service accessibility.
This commit is contained in:
@@ -308,7 +308,7 @@ EOF
|
||||
debug_log "Sablier middleware config written to $output_file"
|
||||
}
|
||||
|
||||
# Register remote server with core Traefik
|
||||
# Register remote server with core Traefik using manual HTTP routes
|
||||
add_remote_server_to_traefik() {
|
||||
local server_ip="$1"
|
||||
local server_hostname="$2"
|
||||
@@ -334,14 +334,78 @@ add_remote_server_to_traefik() {
|
||||
mkdir -p "$traefik_dynamic_dir"
|
||||
fi
|
||||
|
||||
# Generate provider configuration
|
||||
local provider_file="${traefik_dynamic_dir}/docker-provider-${server_hostname}.yml"
|
||||
generate_traefik_provider_config "$server_ip" "$server_hostname" "$provider_file"
|
||||
# Generate manual HTTP routes for remote server services
|
||||
# This uses the file provider with direct service URLs instead of Docker provider
|
||||
local routes_file="${traefik_dynamic_dir}/${server_hostname}-server-routes.yml"
|
||||
|
||||
# Generate Sablier middleware configuration
|
||||
cat > "$routes_file" <<EOF
|
||||
# Manual Routes for Remote Server: $server_hostname
|
||||
# Auto-generated by EZ-Homelab
|
||||
# Last updated: $(date '+%Y-%m-%d %H:%M:%S')
|
||||
#
|
||||
# These routes proxy HTTPS traffic from core Traefik to HTTP services on remote server
|
||||
|
||||
http:
|
||||
routers:
|
||||
dockge-${server_hostname}:
|
||||
rule: "Host(\`dockge.${server_hostname}.kelinreij.duckdns.org\`)"
|
||||
service: dockge-${server_hostname}-service
|
||||
entrypoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
glances-${server_hostname}:
|
||||
rule: "Host(\`glances.${server_hostname}.kelinreij.duckdns.org\`)"
|
||||
service: glances-${server_hostname}-service
|
||||
entrypoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
dozzle-${server_hostname}:
|
||||
rule: "Host(\`dozzle.${server_hostname}.kelinreij.duckdns.org\`)"
|
||||
service: dozzle-${server_hostname}-service
|
||||
entrypoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
traefik-${server_hostname}:
|
||||
rule: "Host(\`traefik.${server_hostname}.kelinreij.duckdns.org\`)"
|
||||
service: traefik-${server_hostname}-service
|
||||
entrypoints:
|
||||
- websecure
|
||||
tls:
|
||||
certResolver: letsencrypt
|
||||
|
||||
services:
|
||||
dockge-${server_hostname}-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://${server_ip}:5001"
|
||||
|
||||
glances-${server_hostname}-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://${server_ip}:61208"
|
||||
|
||||
dozzle-${server_hostname}-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://${server_ip}:8085"
|
||||
|
||||
traefik-${server_hostname}-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://${server_ip}:8080"
|
||||
EOF
|
||||
|
||||
log_success "Generated manual routes for remote server: $routes_file"
|
||||
log_info "Core Traefik will route HTTPS traffic to HTTP services on $server_hostname"
|
||||
log_info "Traefik will auto-reload configurations within 2 seconds"
|
||||
|
||||
# Generate Sablier middleware configuration (if needed for on-demand services)
|
||||
local sablier_file="${traefik_dynamic_dir}/sablier-middleware-${server_hostname}.yml"
|
||||
generate_sablier_middleware_config "$server_hostname" "$server_ip" "$sablier_file"
|
||||
|
||||
log_success "Registered remote server $server_hostname with core Traefik"
|
||||
log_info "Traefik will auto-reload configurations within 2 seconds"
|
||||
}
|
||||
Reference in New Issue
Block a user