Files
threetwo/docker-compose.yml
2021-11-08 12:37:00 -08:00

195 lines
4.5 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
- 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"
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