Files
threetwo/docker-compose.yml
2021-10-27 18:44:56 -07:00

192 lines
4.6 KiB
YAML

version: "3.3"
services:
threetwo:
build:
context: .
network: host
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"
depends_on:
- db
- redis
- nats
- traefik
- importapi
- import
- imagetransformation
networks:
- proxy
comicvineapi:
build:
context: https://github.com/rishighan/comicvine-service.git
network: host
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
network: host
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
network: host
image: frishi/threetwo-import-service
container_name: threetwo-import-api
ports:
- "3000:3000"
- "3001:3001"
environment:
SERVICES: api
DOCKER_RABBITMQ_CONNECTION_STRING: 'amqp://user:bitnami@rabbitmq:5672'
labels:
- "traefik.enable=true"
- "traefik.http.routers.threetwo-import-api.rule=Host(`localhost`)"
- "traefik.http.services.threetwo-import-api.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
network: host
image: frishi/threetwo-import-service
container_name: import
depends_on:
- db
- nats
environment:
SERVICES: import
DOCKER_RABBITMQ_CONNECTION_STRING: 'amqp://user:bitnami@rabbitmq:5672'
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
network: host
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
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