Forwarding a "regular" port alongside a load balanced port

Hello everybody :wave:

I have a docker service that expose 2 ports, eg. 8000 and 9000.
The 8000 is a regular HTTP port while 9000 is an RPC port.

So I have the port 8000 set in a way that the container is accessible with regular HTTP port 80 (I mean accessible using my.domain.tld instead of explicitly my.domain.tld:8000

But how I can make the 9000 accessible with my.domain.tld:9000?

Here is for example the docker-compose file I'm using:

version: '3'

services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:next-alpine
    restart: always
    volumes:
      - woodpecker-server-data:/var/lib/woodpecker/
    ports:
      - 9000:9000    # <= Is this working?
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.woodpecker.rule=Host(`my.domain.tld`)"
      - "traefik.http.routers.woodpecker.entrypoints=https"
      - "traefik.http.routers.woodpecker.tls=true"
      - "traefik.http.routers.woodpecker.tls.certresolver=traefik_resolver"
      - "traefik.http.services.woodpecker.loadbalancer.server.port=8000"
    networks:
      traefik:

I hought having ports: - 9000:9000 would be enough, but it doesn't seems to work.
Do I need to add something else to make that port accessible from the outside?

I hope my question makes sense!
Thank you for any comment.