fix: correct real-world deployment details found while writing the stacks entry
CI / Static checks (push) Successful in 37s
CI / Build and push image (push) Skipped

- docker-compose.yml used "websecure" as the entrypoint name; the
  actual falcon_network convention (confirmed against the real
  traefik/compose.yml) is "web-secure". Also switched the networks
  block from a hardcoded falcon_network to the same
  compose_network-aliased ${NETWORK_NAME} pattern already used in the
  Traefik labels, instead of only half-respecting that variable.
- config.yml gave the Traefik widget an href, but this deployment runs
  with --api.dashboard=false - there's no dashboard to link to.
This commit is contained in:
2026-08-17 15:38:52 +02:00
parent 9e0d4f9ad6
commit f05ad662d0
3 changed files with 6 additions and 9 deletions
-1
View File
@@ -1,7 +1,6 @@
# Public hostnames of the services PulseNode links to / monitors. # Public hostnames of the services PulseNode links to / monitors.
# These are not secrets, but keeping them here (rather than hardcoded in # These are not secrets, but keeping them here (rather than hardcoded in
# config.yml) means the same config.yml works across environments. # config.yml) means the same config.yml works across environments.
TRAEFIK_HOST_TRAEFIK=traefik.example.com
TRAEFIK_HOST_CODE=code.example.com TRAEFIK_HOST_CODE=code.example.com
TRAEFIK_HOST_COOLIFY=coolify.example.com TRAEFIK_HOST_COOLIFY=coolify.example.com
TRAEFIK_HOST_GITEA=git.example.com TRAEFIK_HOST_GITEA=git.example.com
+2 -2
View File
@@ -21,10 +21,10 @@ groups:
- type: docker - type: docker
name: Traefik name: Traefik
containerName: traefik containerName: traefik
href: https://${TRAEFIK_HOST_TRAEFIK}
interval: 10s interval: 10s
# No href: the dashboard is disabled (--api.dashboard=false).
# Swap for a `traefik` widget (router/entrypoint/middleware view) # Swap for a `traefik` widget (router/entrypoint/middleware view)
# once the API is enabled - see Traefik's --api.dashboard docs. # if the API gets enabled - see Traefik's --api.dashboard docs.
- type: docker - type: docker
name: Coolify name: Coolify
+4 -6
View File
@@ -24,7 +24,7 @@ services:
- ./config:/app/config:ro - ./config:/app/config:ro
env_file: .env env_file: .env
networks: networks:
- falcon_network - compose_network
labels: labels:
- traefik.enable=true - traefik.enable=true
- traefik.docker.network=${NETWORK_NAME} - traefik.docker.network=${NETWORK_NAME}
@@ -33,11 +33,8 @@ services:
- traefik.http.routers.pulsenode-web.entrypoints=web - traefik.http.routers.pulsenode-web.entrypoints=web
- traefik.http.routers.pulsenode-web.middlewares=pulsenode-redirect-web-secure - traefik.http.routers.pulsenode-web.middlewares=pulsenode-redirect-web-secure
- traefik.http.routers.pulsenode-web-secure.rule=Host(`${TRAEFIK_HOST}`) - traefik.http.routers.pulsenode-web-secure.rule=Host(`${TRAEFIK_HOST}`)
- traefik.http.routers.pulsenode-web-secure.entrypoints=websecure - traefik.http.routers.pulsenode-web-secure.entrypoints=web-secure
- traefik.http.routers.pulsenode-web-secure.tls.certresolver=resolver - traefik.http.routers.pulsenode-web-secure.tls.certresolver=resolver
# Verify these entrypoint/middleware/certresolver names against
# traefik/dynamic/*.yaml in the stacks repo before deploying - written
# to match that repo's own convention, not independently confirmed.
- traefik.http.routers.pulsenode-web-secure.middlewares=security-headers@file,no-index@file - traefik.http.routers.pulsenode-web-secure.middlewares=security-headers@file,no-index@file
- traefik.http.services.pulsenode-web-secure.loadbalancer.server.port=3000 - traefik.http.services.pulsenode-web-secure.loadbalancer.server.port=3000
healthcheck: healthcheck:
@@ -48,5 +45,6 @@ services:
retries: 3 retries: 3
networks: networks:
falcon_network: compose_network:
name: ${NETWORK_NAME}
external: true external: true