version: "3.3" services: # Tailchat Core Services service-core: build: context: . image: tailchat-0818 restart: unless-stopped env_file: docker-compose.env environment: SERVICES: core/gateway,core/user/*.service.js,core/group/*.service.js,core/chat/*.service.js,core/file,core/plugin/registry,core/config PORT: 3000 depends_on: - mongo - redis - minio ports: - "3001:3000" # labels: # - "traefik.enable=true" # - "traefik.http.routers.api-gw.rule=PathPrefix(`/`)" # - "traefik.http.services.api-gw.loadbalancer.server.port=3000" networks: - internal # Open Platform service-openapi: build: context: . image: tailchat-0818 restart: unless-stopped env_file: docker-compose.env environment: SERVICES: openapi/app,openapi/bot,openapi/integration,openapi/oidc/oidc OPENAPI_PORT: 3003 OPENAPI_UNDER_PROXY: "true" depends_on: - mongo - redis - minio ports: - "3003:3003" # labels: # - "traefik.enable=true" # - "traefik.http.routers.openapi-oidc.rule=PathPrefix(`/open`)" # - "traefik.http.services.openapi-oidc.loadbalancer.server.port=3003" networks: - internal # Plugin Service (All Plugins) service-all-plugins: build: context: . image: tailchat-0818 restart: unless-stopped env_file: docker-compose.env environment: SERVICEDIR: plugins depends_on: - mongo - redis - minio networks: - internal # Database mongo: image: mongo:4 restart: on-failure volumes: - /data/tailchat/mongo_data:/data/db networks: - internal # Data cache and Transporter redis: image: redis:alpine restart: on-failure networks: - internal # Persist Storage minio: image: minio/minio restart: on-failure networks: - internal environment: MINIO_ROOT_USER: tailchat MINIO_ROOT_PASSWORD: com.msgbyte.tailchat volumes: - /data/tailchat/minio_storage:/data command: minio server /data --console-address ":9001" # Router # traefik: # image: traefik:v2.1 # restart: unless-stopped # command: # - "--api.insecure=true" # Don't do that in production! # - "--providers.docker=true" # - "--providers.docker.exposedbydefault=false" # - "--entryPoints.web.address=:80" # - "--entryPoints.web.forwardedHeaders.insecure" # Not good # ports: # - 11000:80 # - 127.0.0.1:11001:8080 # volumes: # - /var/run/docker.sock:/var/run/docker.sock:ro # networks: # - internal # - default networks: internal: