206 lines
4.9 KiB
YAML
206 lines
4.9 KiB
YAML
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:
|
|
- 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"
|
|
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"
|
|
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
|
|
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
|
|
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
|
|
|