Files
prezentacija-komponiranje/docker-compose.yml
2024-01-23 23:00:03 +01:00

89 lines
2.2 KiB
YAML

version: "3.8"
services:
db:
build:
context: ./database
dockerfile: Dockerfile
networks:
- backend-net
ports:
- 55432:5432
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 1s
timeout: 5s
retries: 10
machines-app:
build:
context: ./machines
dockerfile: Dockerfile
networks:
- backend-net
environment:
- APPPORT=4000
- DBHOST=db
- DBPORT=5432
- DBNAME=komponiranje
- DBUSER=pero
- DBPASSWORD=pero.000
- PRODUCTSAPPURL=http://proxy:10000
depends_on:
db:
condition: service_healthy
products-app:
build:
context: ./products
dockerfile: Dockerfile
deploy:
mode: replicated
replicas: 2
networks:
- backend-net
environment:
- APPPORT=4001
- DBHOST=db
- DBPORT=5432
- DBNAME=komponiranje
- DBUSER=pero
- DBPASSWORD=pero.000
depends_on:
db:
condition: service_healthy
proxy:
image: envoyproxy/envoy:v1.28-latest
networks:
- frontend-net
- backend-net
ports:
- "10000:10000"
volumes:
- ./proxy/envoy.yaml:/etc/envoy/envoy.yaml
depends_on:
- machines-app
- products-app
frontend-app:
build:
context: ./frontend
dockerfile: Dockerfile
args:
- REACT_APP_MACHINES_API_URL=http://localhost:10000
- REACT_APP_PRODUCTS_API_URL=http://localhost:10000
networks:
- frontend-net
ports:
- "8080:80"
depends_on:
- proxy
networks:
frontend-net:
name: frontend-net
internal: false
backend-net:
name: backend-net
internal: true