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.
# These are not secrets, but keeping them here (rather than hardcoded in
# config.yml) means the same config.yml works across environments.
TRAEFIK_HOST_TRAEFIK=traefik.example.com
TRAEFIK_HOST_CODE=code.example.com
TRAEFIK_HOST_COOLIFY=coolify.example.com
TRAEFIK_HOST_GITEA=git.example.com
+2 -2
View File
@@ -21,10 +21,10 @@ groups:
- type: docker
name: Traefik
containerName: traefik
href: https://${TRAEFIK_HOST_TRAEFIK}
interval: 10s
# No href: the dashboard is disabled (--api.dashboard=false).
# 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
name: Coolify
+4 -6
View File
@@ -24,7 +24,7 @@ services:
- ./config:/app/config:ro
env_file: .env
networks:
- falcon_network
- compose_network
labels:
- traefik.enable=true
- traefik.docker.network=${NETWORK_NAME}
@@ -33,11 +33,8 @@ services:
- traefik.http.routers.pulsenode-web.entrypoints=web
- 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.entrypoints=websecure
- traefik.http.routers.pulsenode-web-secure.entrypoints=web-secure
- 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.services.pulsenode-web-secure.loadbalancer.server.port=3000
healthcheck:
@@ -48,5 +45,6 @@ services:
retries: 3
networks:
falcon_network:
compose_network:
name: ${NETWORK_NAME}
external: true