version: "3.3" services: threetwo: build: context: . image: frishi/threetwo container_name: threetwo-ui env_file: ./environment.list restart: unless-stopped volumes: - $COMICS_DIRECTORY:/comics - $USERDATA_DIRECTORY:/userdata ports: - "8050:8050" - "3050:3050" links: - importapi 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" volumes: - ${COMICS_DIRECTORY}:/comicvine-service/comics - ${USERDATA_DIRECTORY}:/comicvine-service/userdata environment: SERVICES: api env_file: comicvine-service.env 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: - ${COMICS_DIRECTORY}:/comicvine-service/comics - ${USERDATA_DIRECTORY}:/comicvine-service/userdata - ${SERVICE_ENV_FILE}:/comicvine-service/.env/service.env env_file: 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" environment: SERVICES: api env_file: threetwo-import-service.env volumes: - ${USERDATA_DIRECTORY}:/threetwo-import-service/userdata - ${COMICS_DIRECTORY}:/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 depends_on: - db - nats environment: SERVICES: import volumes: - ${USERDATA_DIRECTORY}:/threetwo-import-service/userdata - ${COMICS_DIRECTORY}:/threetwo-import-service/comics - ${SERVICE_ENV_FILE}:/threetwo-import-service/.env/service.env env_file: 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_DIRECTORY}:/threetwo-import-service/userdata - ${COMICS_DIRECTORY}:/threetwo-import-service/comics depends_on: - db - nats environment: SERVICES: imagetransformation env_file: 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_DIRECTORY}:/threetwo-import-service/userdata - ${COMICS_DIRECTORY}:/threetwo-import-service/comics depends_on: - db - nats environment: SERVICES: libraryqueue env_file: 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 environment: ALLOW_EMPTY_PASSWORD: "yes" networks: - proxy ports: - "6379:6379" elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0 container_name: elasticsearch environment: - "discovery.type=single-node" - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "xpack.security.enabled=true" - "xpack.security.authc.api_key.enabled=true" - "ELASTIC_PASSWORD=password" ulimits: memlock: soft: -1 hard: -1 ports: - 9200:9200 networks: proxy: external: true volumes: mongodb_data: driver: local elasticsearch: driver: local