212 lines
9.1 KiB
YAML
212 lines
9.1 KiB
YAML
version: "3.0"
|
|
|
|
services:
|
|
reverse-proxy:
|
|
image: traefik:v2.1.3
|
|
command:
|
|
- --entrypoints.web.address=:80
|
|
- --entrypoints.websecure.address=:443
|
|
- --providers.docker=true
|
|
- --certificatesResolvers.le.acme.httpChallenge.entryPoint=web
|
|
- --certificatesresolvers.le.acme.email=martin.eigenmann@unisg.ch
|
|
- --certificatesresolvers.le.acme.storage=/acme.json
|
|
- --providers.docker.exposedByDefault=false
|
|
- --serversTransport.insecureSkipVerify=true
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./acme.json:/acme.json
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
|
|
- "traefik.http.routers.http-catchall.entrypoints=web"
|
|
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
|
|
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
|
|
|
|
tapas-db:
|
|
image: mongo
|
|
restart: unless-stopped
|
|
container_name: tapas_mongodb
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: root
|
|
MONGO_INITDB_ROOT_PASSWORD: password
|
|
ports:
|
|
- "27017:27017"
|
|
command: mongod --quiet --logpath /dev/null
|
|
|
|
tapas-tasks:
|
|
image: openjdk
|
|
command: "java -jar /data/tapas-tasks-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
roster.uri: http://roster:8082
|
|
spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.tapas-tasks.rule=Host(`tapas-tasks.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.tapas-tasks.service=tapas-tasks"
|
|
- "traefik.http.services.tapas-tasks.loadbalancer.server.port=8081"
|
|
- "traefik.http.routers.tapas-tasks.tls=true"
|
|
- "traefik.http.routers.tapas-tasks.entryPoints=web,websecure"
|
|
- "traefik.http.routers.tapas-tasks.tls.certresolver=le"
|
|
|
|
tapas-auction-house:
|
|
image: openjdk
|
|
command: "java -jar /data/tapas-auction-house-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
mqtt.broker.uri: tcp://broker.hivemq.com:1883
|
|
discovery.endpoint.uri: https://tapas-auction-house.86-119-34-242.nip.io
|
|
auction.house.uri: https://tapas-auction-house.86-119-35-40.nip.io
|
|
tasks.list.uri: https://tapas-tasks.86-119-35-40.nip.io
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.tapas-auction-house.rule=Host(`tapas-auction-house.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.tapas-auction-house.service=tapas-auction-house"
|
|
- "traefik.http.services.tapas-auction-house.loadbalancer.server.port=8086"
|
|
- "traefik.http.routers.tapas-auction-house.tls=true"
|
|
- "traefik.http.routers.tapas-auction-house.entryPoints=web,websecure"
|
|
- "traefik.http.routers.tapas-auction-house.tls.certresolver=le"
|
|
|
|
roster:
|
|
image: openjdk
|
|
command: "java -jar /data/roster-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
task.list.uri: http://tapas-tasks:8081
|
|
auction.house.uri: http://tapas-auction-house:8086
|
|
executor.robot.uri: http://executor-robot:8084
|
|
executor.computation.uri: http://executor-computation:8085
|
|
executor.humidity.uri: http://executor-humidity:8087
|
|
executor.humidity.demo.uri: http://executor-humidity-demo:8088
|
|
mqtt.broker.uri: tcp://broker.hivemq.com:1883
|
|
spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.roster.rule=Host(`roster.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.roster.service=roster"
|
|
- "traefik.http.services.roster.loadbalancer.server.port=8082"
|
|
- "traefik.http.routers.roster.tls=true"
|
|
- "traefik.http.routers.roster.entryPoints=web,websecure"
|
|
- "traefik.http.routers.roster.tls.certresolver=le"
|
|
|
|
executor-pool:
|
|
image: openjdk
|
|
command: "java -jar /data/executor-pool-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
mqtt.broker.uri: tcp://broker.hivemq.com:1883
|
|
spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.executor-pool.rule=Host(`executor-pool.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.executor-pool.service=executor-pool"
|
|
- "traefik.http.services.executor-pool.loadbalancer.server.port=8083"
|
|
- "traefik.http.routers.executor-pool.tls=true"
|
|
- "traefik.http.routers.executor-pool.entryPoints=web,websecure"
|
|
- "traefik.http.routers.executor-pool.tls.certresolver=le"
|
|
|
|
executor-computation:
|
|
image: openjdk
|
|
command: "java -jar /data/executor-computation-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- executor-pool
|
|
- roster
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
EXECUTOR_POOL_URI: http://executor-pool:8083
|
|
ROSTER_URI: http://roster:8082
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.executor-computation.rule=Host(`executor-computation.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.executor-computation.service=executor-computation"
|
|
- "traefik.http.services.executor-computation.loadbalancer.server.port=8084"
|
|
- "traefik.http.routers.executor-computation.tls=true"
|
|
- "traefik.http.routers.executor-computation.entryPoints=web,websecure"
|
|
- "traefik.http.routers.executor-computation.tls.certresolver=le"
|
|
executor-robot:
|
|
image: openjdk
|
|
command: "java -jar /data/executor-robot-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- executor-pool
|
|
- roster
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
EXECUTOR_POOL_URI: http://executor-pool:8083
|
|
ROSTER_URI: http://roster:8082
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.executor-robot.rule=Host(`executor-robot.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.executor-robot.service=executor-robot"
|
|
- "traefik.http.services.executor-robot.loadbalancer.server.port=8085"
|
|
- "traefik.http.routers.executor-robot.tls=true"
|
|
- "traefik.http.routers.executor-robot.entryPoints=web,websecure"
|
|
- "traefik.http.routers.executor-robot.tls.certresolver=le"
|
|
executor-humidity:
|
|
image: openjdk
|
|
command: "java -jar /data/executor-humidity-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- executor-pool
|
|
- roster
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
EXECUTOR_POOL_URI: http://executor-pool:8083
|
|
ROSTER_URI: http://roster:8082
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.executor-humidity.rule=Host(`executor-humidity.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.executor-humidity.service=executor-humidity"
|
|
- "traefik.http.services.executor-humidity.loadbalancer.server.port=8087"
|
|
- "traefik.http.routers.executor-humidity.tls=true"
|
|
- "traefik.http.routers.executor-humidity.entryPoints=web,websecure"
|
|
- "traefik.http.routers.executor-humidity.tls.certresolver=le"
|
|
executor-humidity-demo:
|
|
image: openjdk
|
|
command: "java -jar /data/executor-humidity-demo-0.0.1-SNAPSHOT.jar"
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- executor-pool
|
|
- roster
|
|
- tapas-db
|
|
volumes:
|
|
- ./:/data/
|
|
environment:
|
|
EXECUTOR_POOL_URI: http://executor-pool:8083
|
|
ROSTER_URI: http://roster:8082
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.executor-humidity-demo.rule=Host(`executor-humidity-demo.${PUB_IP}.nip.io`)"
|
|
- "traefik.http.routers.executor-humidity-demo.service=executor-humidity-demo"
|
|
- "traefik.http.services.executor-humidity-demo.loadbalancer.server.port=8088"
|
|
- "traefik.http.routers.executor-humidity-demo.tls=true"
|
|
- "traefik.http.routers.executor-humidity-demo.entryPoints=web,websecure"
|
|
- "traefik.http.routers.executor-humidity-demo.tls.certresolver=le"
|