Fix step 9 registration failure - correct file verification

The registration function creates '-server-routes.yml'
but the verification was checking for 'docker-provider-.yml'.

Changes:
- Updated file verification to check for correct filenames
- Added DOMAIN variable loading in add_remote_server_to_traefik()
- Replaced hard-coded domain with ${DOMAIN} variable in route rules
- Routes now use dynamic domain from .env instead of hard-coded value

This fixes the 'docker-provider file not created' error in step 9.
This commit is contained in:
Kelin
2026-02-08 20:17:30 -05:00
parent 86619db71e
commit 33336c75ff
2 changed files with 18 additions and 8 deletions

View File

@@ -286,6 +286,16 @@ add_remote_server_to_traefik() {
return 1 return 1
fi fi
# Load environment to get DOMAIN variable
if [ -f "$HOME/EZ-Homelab/.env" ]; then
source "$HOME/EZ-Homelab/.env" || load_env_file_safely "$HOME/EZ-Homelab/.env"
elif [ -f "/opt/stacks/core/.env" ]; then
source "/opt/stacks/core/.env" || load_env_file_safely "/opt/stacks/core/.env"
fi
# Use DOMAIN variable or fallback to a default
local domain="${DOMAIN:-example.com}"
local traefik_dynamic_dir="/opt/stacks/core/traefik/dynamic" local traefik_dynamic_dir="/opt/stacks/core/traefik/dynamic"
# Create dynamic directory if it doesn't exist # Create dynamic directory if it doesn't exist
@@ -308,7 +318,7 @@ add_remote_server_to_traefik() {
http: http:
routers: routers:
dockge-${server_hostname}: dockge-${server_hostname}:
rule: "Host(\`dockge.${server_hostname}.kelinreij.duckdns.org\`)" rule: "Host(\`dockge.${server_hostname}.${domain}\`)"
service: dockge-${server_hostname}-service service: dockge-${server_hostname}-service
entrypoints: entrypoints:
- websecure - websecure
@@ -316,7 +326,7 @@ http:
certResolver: letsencrypt certResolver: letsencrypt
glances-${server_hostname}: glances-${server_hostname}:
rule: "Host(\`glances.${server_hostname}.kelinreij.duckdns.org\`)" rule: "Host(\`glances.${server_hostname}.${domain}\`)"
service: glances-${server_hostname}-service service: glances-${server_hostname}-service
entrypoints: entrypoints:
- websecure - websecure
@@ -324,7 +334,7 @@ http:
certResolver: letsencrypt certResolver: letsencrypt
dozzle-${server_hostname}: dozzle-${server_hostname}:
rule: "Host(\`dozzle.${server_hostname}.kelinreij.duckdns.org\`)" rule: "Host(\`dozzle.${server_hostname}.${domain}\`)"
service: dozzle-${server_hostname}-service service: dozzle-${server_hostname}-service
entrypoints: entrypoints:
- websecure - websecure
@@ -332,7 +342,7 @@ http:
certResolver: letsencrypt certResolver: letsencrypt
traefik-${server_hostname}: traefik-${server_hostname}:
rule: "Host(\`traefik.${server_hostname}.kelinreij.duckdns.org\`)" rule: "Host(\`traefik.${server_hostname}.${domain}\`)"
service: traefik-${server_hostname}-service service: traefik-${server_hostname}-service
entrypoints: entrypoints:
- websecure - websecure

View File

@@ -1828,10 +1828,10 @@ register_remote_server_with_core() {
add_remote_server_to_traefik "${SERVER_IP}" "${SERVER_HOSTNAME}" add_remote_server_to_traefik "${SERVER_IP}" "${SERVER_HOSTNAME}"
# Verify files were created # Verify files were created
if [ -f "/opt/stacks/core/traefik/dynamic/docker-provider-${SERVER_HOSTNAME}.yml" ]; then if [ -f "/opt/stacks/core/traefik/dynamic/${SERVER_HOSTNAME}-server-routes.yml" ]; then
echo "SUCCESS: docker-provider file created" echo "SUCCESS: server routes file created"
else else
echo "ERROR: docker-provider file not created" echo "ERROR: server routes file not created"
exit 1 exit 1
fi fi
@@ -1858,7 +1858,7 @@ EOF
if [ $ssh_exit_code -eq 0 ] && echo "$ssh_output" | grep -q "SUCCESS: Registration complete"; then if [ $ssh_exit_code -eq 0 ] && echo "$ssh_output" | grep -q "SUCCESS: Registration complete"; then
log_success "Successfully registered with core server" log_success "Successfully registered with core server"
log_info "Files created on core server:" log_info "Files created on core server:"
echo " - /opt/stacks/core/traefik/dynamic/docker-provider-${SERVER_HOSTNAME}.yml" echo " - /opt/stacks/core/traefik/dynamic/${SERVER_HOSTNAME}-server-routes.yml"
echo " - /opt/stacks/core/traefik/dynamic/sablier-middleware-${SERVER_HOSTNAME}.yml" echo " - /opt/stacks/core/traefik/dynamic/sablier-middleware-${SERVER_HOSTNAME}.yml"
return 0 return 0
else else