Launching more containers with a Traefik+Odoo+Postgres .yml

I'm using a .yml to launch an Odoo instance & its postgresql through a traefik and it works perfectly fine. It assigns the domain and subdomain with a Let's Encrypt certificate, perfect.

My issue now is that I wish to launch more of these but I haven't succeeded in doing so.

I've tried:

  • Changing the `ports:` in the odoo section
    
  • Removing the `ports:` section from the odoo section
    
  • Editing the `ports:` in the traefik section
    

The .yml :

version: "3"
services:
  odoo:
    image: odoo:12.0
    depends_on:
      - db
    restart: unless-stopped
    networks:
      - internal
    ports:
      - "8069:8069"
      - "8072:8072"
    environment:
      - HOST=db
      - USER=${ODOO_USER}
      - PASSWORD=${ODOO_PASS}
    volumes:
      - ./odoo/odoo-web-data:/var/lib/odoo
      - ./odoo/config:/etc/odoo
      - ./odoo/addons:/mnt/extra-addons
      - ./odoo/logs:/var/log/odoo
    labels:
      - 'traefik.http.routers.odoo.rule=Host(`${ODOO_TRAEFIK_URL}`)'
      - 'traefik.http.routers.odoo.entrypoints=websecure'
      - 'traefik.http.routers.odoo.tls.certresolver=odoo'
      - 'traefik.port=8069'
      - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
      - "traefik.http.routers.http-catchall.entrypoints=web"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https@docker"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
  db:
    image: postgres:10
    restart: unless-stopped
    networks:
      - internal
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=${ODOO_USER}
      - POSTGRES_PASSWORD=${ODOO_PASS}
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - ./pgdata:/var/lib/postgresql/data/pgdata
  traefik:
    image: traefik:v2.0
    networks:
      - internal
      - web
    ports:
      # The HTTP port
      - "80:80"
      - "443:443"
      # The Web UI (enabled by --api.insecure=true)
      - "8080:8080"
    volumes:
      - "./traefik/letsencrypt:/letsencrypt"
      - "./traefik/traefik.yml:/etc/traefik.yml"
      - "/var/run/docker.sock:/var/run/docker.sock"
    command:
     - "--log.level=DEBUG"
     - "--api.insecure=true"
     - "--providers.docker"
     - "--providers.docker.defaultRule=Host(`{{ trimPrefix `/` .Name }}.${TRAEFIK_DEFAULT_DOMAIN}`)"
     - "--entryPoints.web.address=:80"
     - "--entryPoints.websecure.address=:443"
     - "--certificatesResolvers.odoo.acme.httpchallenge=true"
     - "--certificatesresolvers.odoo.acme.httpchallenge.entrypoint=web"
     - "--certificatesresolvers.odoo.acme.email=${ACME_EMAIL}"
     - "--certificatesresolvers.odoo.acme.storage=/letsencrypt/acme.json"

networks:
  internal:
  web:
      external: true

Assuming I already have a Traefik + Odoo + Postgres already running, how could I go about launching more instances of these together?