88 lines
2.1 KiB
YAML
88 lines
2.1 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=3000
|
|
- 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=3000
|
|
- 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
|
|
networks:
|
|
- frontend-net
|
|
environment:
|
|
- REACT_APP_BACKEND_API_URL="http://localhost:10000"
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- proxy
|
|
|
|
networks:
|
|
frontend-net:
|
|
name: frontend-net
|
|
internal: false
|
|
backend-net:
|
|
name: backend-net
|
|
internal: true
|