version: "3.3" services: threetwo: build: context: . image: frishi/threetwo container_name: threetwo-ui env_file: ./docker-compose.env environment: DOCKER_HOST: $HOSTNAME restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.threetwo-ui.rule=Host(`localhost`)" - "traefik.http.services.threetwo-ui.loadbalancer.server.port=8050" - "traefik.docker.network=proxy" ports: - "8050:8050" - "3050:3050" links: # - import - importapi # - libraryqueue depends_on: - db - redis - nats - traefik - importapi # - import # - imagetransformation networks: - proxy # comicvineapi: # build: # context: https://github.com/rishighan/comicvine-service.git # image: frishi/comicvine-service # container_name: comicvine-api # ports: # - "3080:3080" # environment: # SERVICES: api # labels: # - "traefik.enable=true" # - "traefik.http.routers.comicvine-service.rule=Host(`localhost`)" # - "traefik.http.services.comicvine-service.loadbalancer.server.port=3080" # - "traefik.docker.network=proxy" # env_file: ./docker-env/comicvine-service.env # volumes: # - ./userdata:/comicvine-service/userdata # depends_on: # - nats # networks: # - proxy # comicvine: # build: # context: https://github.com/rishighan/comicvine-service.git # image: frishi/comicvine-service # container_name: comicvine-service # environment: # SERVICES: comicvine # volumes: # - ./userdata:/comicvine-service/userdata # env_file: ./docker-env/comicvine-service.env # networks: # - proxy importapi: build: context: https://github.com/rishighan/threetwo-import-service.git image: frishi/threetwo-import-service container_name: importapi ports: - "3000:3000" - "3001:3001" expose: - "3001" environment: SERVICES: api labels: - "traefik.enable=true" - "traefik.wss.protocol=http" - "traefik.http.routers.importapi.rule=Host(`localhost`)" - "traefik.http.services.importapi.loadbalancer.server.port=3000" - "traefik.docker.network=proxy" env_file: ./docker-env/threetwo-import-service.env volumes: - ./userdata:/threetwo-import-service/userdata - ./comics:/threetwo-import-service/comics. depends_on: - nats - db networks: - proxy # import: # build: # context: https://github.com/rishighan/threetwo-import-service.git # image: frishi/threetwo-import-service # container_name: import # ports: # - "3001:3001" # depends_on: # - db # - nats # environment: # SERVICES: import # volumes: # - ./userdata:/threetwo-import-service/userdata # - ./comics:/threetwo-import-service/comics # env_file: ./docker-env/threetwo-import-service.env # networks: # - proxy # imagetransformation: # build: # context: https://github.com/rishighan/threetwo-import-service.git # image: frishi/threetwo-import-service # container_name: image-transformation # volumes: # - ./userdata:/threetwo-import-service/userdata # - ./comics:/threetwo-import-service/comics # depends_on: # - db # - nats # environment: # SERVICES: imagetransformation # env_file: ./docker-env/threetwo-import-service.env # networks: # - proxy # libraryqueue: # build: # context: https://github.com/rishighan/threetwo-import-service.git # image: frishi/threetwo-import-service # container_name: library-queue # volumes: # - ./userdata:/threetwo-import-service/userdata # - ./comics:/threetwo-import-service/comics # depends_on: # - db # - nats # environment: # SERVICES: libraryqueue # env_file: ./docker-env/threetwo-import-service.env # networks: # - proxy db: image: 'bitnami/mongodb:latest' container_name: database networks: - proxy ports: - "27017:27017" volumes: - 'mongodb_data:/bitnami/mongodb' nats: image: nats:2 container_name: transporter networks: - proxy redis: image: 'bitnami/redis:latest' container_name: queue networks: - proxy ports: - "6379:6379" traefik: image: traefik:2.3.4 restart: unless-stopped container_name: traefik hostname: traefik command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.watch=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" labels: - "traefik.enable=true" - "traefik.http.routers.traefik.rule=Host(`traefik.localhost`)" - "traefik.http.routers.traefik.service=api@internal" networks: - proxy ports: - 80:80 - 8080:8080 - 443:443 volumes: - /var/run/docker.sock:/var/run/docker.sock networks: proxy: external: true volumes: mongodb_data: driver: local