Настройка Traefik Django & React

Недавно я столкнулся с конфигурацией сервера с помощью GitLab CI/CD и docker-compose, у меня есть два отдельных репозитория один для Django, другой для React JS на Gitlab.

В Django Repo содержится следующий файл production.yml:

version: '3'

volumes:
  production_postgres_data: {}
  production_postgres_data_backups: {}
  production_traefik: {}

services:
  django: &django
    build:
      context: .
      dockerfile: ./compose/production/django/Dockerfile
    image: one_sell_production_django
    platform: linux/x86_64
    expose:  # new
      - 5000
    depends_on:
      - postgres
      - redis
    env_file:
      - ./.envs/.production/.django
      - ./.envs/.production/.postgres
    command: /start
    labels: # new
      - "traefik.enable=true"
      - "traefik.http.routers.django.rule=Host(`core.lwe.local`)"

  postgres:
    build:
      context: .
      dockerfile: ./compose/production/postgres/Dockerfile
    image: one_sell_production_postgres
    expose:
      - 5432
    volumes:
      - production_postgres_data:/var/lib/postgresql/data:Z
      - production_postgres_data_backups:/backups:z
    env_file:
      - ./.envs/.production/.postgres

  traefik: # new
    image: traefik:v2.2
    ports:
      - 80:80
      - 8081:8080
    volumes:
      - "./compose/production/traefik/traefik.dev.toml:/etc/traefik/traefik.toml"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  redis:
    image: redis:6

Это отлично работает с использованием Traefik, у меня также есть следующий код для React JS repo:

version: '3.8'

services:
  frontend:
    build:
      context: ./
      dockerfile: Dockerfile
    expose:
      - 3000
    labels: # new
      - "traefik.enable=true"
      - "traefik.http.routers.django.rule=Host(`lwe.local`)"
    restart: 'always'
    env_file:
      - .env

Теперь я не знаю, как подключить оба Django и React Js Repo с помощью Traefik, а также как должна быть конфигурация CI/CD, ниже приведена конфигурация CI/CD для Django Repo (я опустил ненужную информацию и просто включил этап развертывания):

deploy: 
  stage: deploy
  tags:
    - docker 
  when: always
  before_script:
    - mkdir -p .envs/.production/
    - touch .envs/.production/.django
    - touch .envs/.production/.postgres
    - touch .env
    - chmod +x ./setup_env.sh
    - sh setup_env.sh
    - less .envs/.production/.django
    - less .envs/.production/.postgres
    - docker-compose -f production.yml build 
    - docker-compose -f production.yml run --rm django python manage.py migrate
  script:
    - docker-compose -f local.yml up -d
Вернуться на верх