Debugging Traefik (One node swarm)

Hey all,

I'm trying to understand a bug in my setup. I need some debugging tips.

Lately, I've been using this traefik and consul tutorial.
Yesterday, I setup this up quite easily.

Next, I had deployed a second docker stack: this time a fullstack app with frontend and backend but I couldn't get both stacks communicating on a shared network.

"docker stack ls" showed both stacks working fine and running at a container level but I couldn't see the new frontends and backends in the traefik web ui. I only saw the Traefik and Consul frontends and backends from the tutorial.

My first thought was I needed to open up the firewall ports on digital ocean https://www.digitalocean.com/community/tutorials/how-to-configure-the-linux-firewall-for-docker-swarm-on-ubuntu-16-04 for each of my three nodes which are simply all manager nodes right now. Any ideas of what could be wrong with my setup?

-- EDIT --
Today I tried to simplify the problem with a one node swarm. I even added portainer successfully. So I now have more information to go through while debugging and a smaller problem space (one server) but still I have issues getting traefik to see my fullstack app containers. I find it very strange that I saw the number of frontends and backends update when I deployed the portainer stack but not my fullstack app which also used similar labels.

fullstack.yml

version: "3.7"
services:
  client:
    image: devpies/client-app:prod
    networks:
      - traefik-public
    deploy:
      restart_policy:
        condition: on-failure
      labels:
        - traefik.frontend.rule=Host:client.example.io
        - traefik.enable=true
        - traefik.port=80
        - traefik.protocol=https
        - traefik.docker.network=traefik-public
        # Traefik service that listens to HTTP
        - traefik.redirectorservice.frontend.entryPoints=http
        - traefik.redirectorservice.frontend.redirect.entryPoint=https
        # Traefik service that listens to HTTPS
        - traefik.webservice.frontend.entryPoints=https
  api:
    image: devpies/client-api:prod
    networks:
      - traefik-public
    deploy:
      labels:
        - traefik.frontend.rule=Host:api.example.io
        - traefik.enable=true
        - traefik.port=4000  
        - traefik.protocol=https
        - traefik.docker.network=traefik-public
        # Traefik service that listens to HTTP
        - traefik.redirectorservice.frontend.entryPoints=http
        - traefik.redirectorservice.frontend.redirect.entryPoint=https
        # Traefik service that listens to HTTPS
        - traefik.webservice.frontend.entryPoints=https  
      restart_policy:
        condition: on-failure
        max_attempts: 3

networks:
  traefik-public:
    external: true

fixed: this file works. I needed the following label: - traefik.tags=traefik-public

version: "3.7"
services:
  client:
    image: devpies/client-app:prod
    networks:
      - traefik-public
    deploy:
      restart_policy:
        condition: on-failure
      labels:
        - traefik.frontend.rule=Host:client.example.io
        - traefik.enable=true
        - traefik.port=80
        - traefik.tags=traefik-public       
        - traefik.docker.network=traefik-public
        # Traefik service that listens to HTTP
        - traefik.redirectorservice.frontend.entryPoints=http
        - traefik.redirectorservice.frontend.redirect.entryPoint=https
        # Traefik service that listens to HTTPS
        - traefik.webservice.frontend.entryPoints=https
  api:
    image: devpies/client-api:prod
    networks:
      - traefik-public
    deploy:
      labels:
        - traefik.frontend.rule=Host:api.example.io
        - traefik.enable=true
        - traefik.port=4000  
        - traefik.tags=traefik-public
        - traefik.docker.network=traefik-public
        # Traefik service that listens to HTTP
        - traefik.redirectorservice.frontend.entryPoints=http
        - traefik.redirectorservice.frontend.redirect.entryPoint=https
        # Traefik service that listens to HTTPS
        - traefik.webservice.frontend.entryPoints=https  
      restart_policy:
        condition: on-failure
        max_attempts: 3

networks:
  traefik-public:
    external: true