Find below an example configuration of Docker compose using Traefik (no letsencrypt)

version: '3.9'

services:
  reverse-proxy:
    # The official v2 Traefik docker image
    image: traefik:v2.5
    # Enables the web UI and tells Traefik to listen to docker
    command:
      - --log.level=DEBUG
      - --providers.docker
      - --providers.docker.network=web
      - --entrypoints.http.address=:80
    restart: always
    networks:
      web: { }
    ports:
      - "80:80"
    volumes:
      # So that Traefik can listen to the Docker events
      - /var/run/docker.sock:/var/run/docker.sock

  solodb:
    image: ghcr.io/jield-webdev/solodb/app:latest
    labels:
      - traefik.enable=true
      - traefik.http.services.solodb.loadbalancer.server.port=80
      - traefik.http.routers.solodb.service=solodb
      - traefik.http.routers.solodb.rule=Host(`83.96.201.212`)
      - traefik.http.routers.solodb.entrypoints=http
    restart: always
    environment:
      SOLODB_ENVIRONMENT: production
      SOLODB_HOST: black-semiconductor
    volumes:
      - ./conf/production.local.php:/var/www/config/black-semiconductor/production.local.php
    networks:
      - web
      - internal

volumes:
  certs:

networks:
  web:
    external: true
  internal:
    external: false