services: bingus-api: build: context: . dockerfile: api.Dockerfile restart: unless-stopped depends_on: bingus-encoder: condition: service_healthy required: false volumes: - embedding-cache:/usr/src/app/embedding_cache - ./BingusApi/models:/usr/src/app/models - ./BingusApi/config:/usr/src/app/config networks: - backend - traefik labels: - traefik.enable=true - traefik.http.routers.ci-bot.rule=Host(`bingus.slimevr.io`) - traefik.http.routers.ci-bot.tls=true - traefik.http.routers.ci-bot.tls.certresolver=letsencrypt - traefik.http.routers.ci-bot.middlewares=bingus-bscotch@docker - traefik.http.services.ci-bot.loadbalancer.server.port=8080 - "traefik.http.middlewares.bingus-bscotch.headers.accesscontrolallowmethods=GET,OPTIONS" - "traefik.http.middlewares.bingus-bscotch.headers.accesscontrolallowheaders=*" - "traefik.http.middlewares.bingus-bscotch.headers.accesscontrolalloworiginlist=https://bingus.bscotch.ca" - "traefik.http.middlewares.bingus-bscotch.headers.accesscontrolmaxage=100" - "traefik.http.middlewares.bingus-bscotch.headers.addvaryheader=true" bingus-encoder: build: context: ./bingus-python-encoder restart: unless-stopped volumes: - model-cache:/usr/src/app/model-cache - ./bingus-python-encoder/local-models:/usr/src/app/local-models - ./bingus-python-encoder/config:/usr/src/app/config healthcheck: test: ["CMD", "curl", "-f", "http://bingus-encoder:5000/dimensions/"] interval: 1m timeout: 5s start_period: 2m start_interval: 1s retries: 5 networks: - backend profiles: [python-encoder] bingus-bot: build: context: . dockerfile: bot.Dockerfile restart: unless-stopped depends_on: - bingus-api volumes: - ./bingus-bot/auth.json:/app/bingus-bot/auth.json - ./bingus-bot/assets:/app/bingus-bot/assets volumes: model-cache: embedding-cache: networks: backend: traefik: external: true