Files
threetwo/docker-compose.yml
2021-12-07 20:10:35 -08:00

197 lines
4.7 KiB
YAML

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
- elasticsearch
- libraryqueue
- redis
- settings
- 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:
- redis
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:
- redis
- 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
- redis
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
- redis
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
- redis
environment:
SERVICES: libraryqueue
env_file: threetwo-import-service.env
networks:
- proxy
settings:
build:
context: https://github.com/rishighan/threetwo-import-service.git
image: frishi/threetwo-import-service
container_name: settings
volumes:
- ${USERDATA_DIRECTORY}:/threetwo-import-service/userdata
- ${COMICS_DIRECTORY}:/threetwo-import-service/comics
depends_on:
- db
- redis
environment:
SERVICES: settings
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"
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.16.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